diff --git a/python/envi.py b/python/envi.py index 045433e..6a59975 100644 --- a/python/envi.py +++ b/python/envi.py @@ -16,6 +16,7 @@ import progressbar class envi_header: def __init__(self, filename = ""): if filename != "": + self.initialize() self.load(filename) else: self.initialize() @@ -193,7 +194,7 @@ class envi_header: f.write("bands = " + str(self.bands) + "\n") f.write("header offset = " + str(self.header_offset) + "\n") f.write("file type = ENVI Standard" + "\n") - f.write("data type = " + str(self.get_envi_type(self.type)) + "\n") + f.write("data type = " + str(self.get_envi_type(self.data_type)) + "\n") f.write("interleave = " + self.interleave + "\n") f.write("sensor type = " + self.sensor_type + "\n") f.write("byte order = " + str(self.byte_order) + "\n") @@ -268,7 +269,8 @@ class envi: #open the file self.header = envi_header(headername) self.file = open(filename, "rb") - + + # load the entire ENVI file into memory and return it as an array def loadall(self): X = self.header.samples Y = self.header.lines @@ -286,6 +288,15 @@ class envi: elif self.header.interleave == "bil": D = numpy.reshape(D, (Y, B, X)) return numpy.rollaxis(D, 1) + + #save an updated version of the file (all header information is assumed to be the same) + def saveall(self, D, filename): + + new_header = self.header + new_header.interleave = "bsq" + new_header.save(filename + ".hdr") + D.tofile(filename) + #loads all of the pixels where mask != 0 and returns them as a matrix def loadmask(self, mask): -- libgit2 0.21.4