def init(self, imgIn, nameOut, **kwargs): """Method to pass the input and output image to the filter""" # check if the output image nameOut is provided. If it is a string create the image here using # the input image as template if isinstance(nameOut, str): #create generic image self._imgOut = Image() width = imgIn.getWidth() accessmode = 'write' bands = imgIn.getBands() scheme = imgIn.getInterleavedScheme() typec = imgIn.getDataType() #The assumption is that the imgIn is complex. The single component is the imgIn data type without the C # for instace CREAL becomes REAL typeF = typec[1:] #create output image of the same type as input self._imgOut.initImage(nameOut, accessmode, width, typeF, bands, scheme) self._imgOut.createImage() #if created here then need to finalize at the end self._outCreatedHere = True elif (nameOut, Image): self._imgOut = nameOut else: print( "Error. The second argument of ComplexExtractor.init() must be a string or an Image object" ) raise TypeError imgIn.createImage( ) # just in case has not been run before. if it was run then it does not have any effect accessorIn = imgIn.getImagePointer() accessorOut = self._imgOut.getImagePointer() FL.init(self._filter, accessorIn, accessorOut)
def init(self, imgIn, nameOut, **kwargs): if isinstance(nameOut, str): #create generic image self._imgOut = Image() width = imgIn.getWidth() accessmode = 'write' bands = imgIn.getBands() scheme = imgIn.getInterleavedScheme() typec = imgIn.getDataType() #For now extract one band at the time. Might extend to do #multiple bands band = 1 #create output image of the same type as input self._imgOut.initImage(nameOut, accessmode, width, typec, band, scheme) self._imgOut.createImage() #if created here then need to finalize at the end self._outCreatedHere = True elif (nameOut, Image): self._imgOut = nameOut else: print( "Error. The second argument of BandExtractor.init() must be a string or an Image object" ) raise TypeError imgIn.createImage( ) # just in case has not been run before. if it was run then it does not have any effect accessorIn = imgIn.getImagePointer() accessorOut = self._imgOut.getImagePointer() FL.init(self._filter, accessorIn, accessorOut)