Beispiel #1
0
    def finalize(self):
        from isceobj.Util import combinedlibmodule as CL
        CL.freeCPoly2D(self._poly)
        try:
            DA.finalizeAccessor(self._accessor, self._factory)
        except TypeError:
            message = "Poly2D %s is already finalized" % str(self)
            if ERROR_CHECK_FINALIZE:
                raise RuntimeError(message)
            else:
                print(message)

        self._accessor = None
        self._factory = None
        return None
Beispiel #2
0
    def destroyImages(self):
        CL.freeCPoly2D(self.rangeCarrierAccessor)
        CL.freeCPoly2D(self.azimuthCarrierAccessor)
        CL.freeCPoly2D(self.rangeOffsetsAccessor)
        CL.freeCPoly2D(self.azimuthOffsetsAccessor)
        CL.freeCPoly2D(self.dopplerAccessor)
        if self.residualRangeImage is not None:
            self.residualRangeImage.finalizeImage()

        if self.residualAzimuthImage is not None:
            self.residualAzimuthImage.finalizeImage()

        self.imageIn.finalizeImage()
        self.imageOut.finalizeImage()

        return
Beispiel #3
0
    def importFromC(self, pointer, clean=True):
        '''
        Uses information from the  extension module structure to create Python object.
        '''
        from isceobj.Util import combinedlibmodule as CL
        orders, means, norms, coeffs = CL.importPoly2DFromC(pointer)
        self._azimuthOrder, self._rangeOrder = orders
        self._meanAzimuth, self._meanRange = means
        self._normAzimuth, self._normRange = norms
        self._coeffs = []

        for ii in range(self._azimuthOrder + 1):
            ind = ii * (self._rangeOrder + 1)
            self._coeffs.append(coeffs[ind:ind + self._rangeOrder + 1])

        if clean:
            CL.freeCPoly2D(pointer)

        return