Download ISCE manual and installation, JPL
Transcript
ISCE Documentation, Release 0.3 Finally, make_raw() concludes with renderHdr(), a method in Image.py that creates an xml file containing important parameters of the raw image. 3.3.4 Focusing the Raw Image The process of creating an SLC image begins with estimating an average Doppler coefficient fd for all of the polarized images. It adds all four coefficients together and divides by four. ISSI.py then runs focus(), with the raw image object and average Doppler coefficient as input arguments. The first step in focus(), after getting parameters necessary for processing, calculates a value called peg point. Also found in ISSI.py, calculatePegPoint() passes the frame, planet, and orbit and returns peg, height, and velocity values. It also makes heavy use of both the interpolateOrbit() and xyz_to_llh() methods to calculate points in both location and time. It also implements geo_hdg(), another method in Ellipsoid.py, that calculates the spacecraft’s heading given its start and middle locations. An instance of the class Peg, in Peg.py, called peg, stores the peg point information; calculatePegPoint() returns the Peg object as well as height and speed. Interpolating and returning the spacecraft’s orbit comes next, beginning with the method createPulsetiming(). This method returns an instance of the class Pulsetiming, in Pulsetiming.py, called pt, which runs the method pulsetiming(). pulsetiming() interpolates the spacecraft orbit and calculates a state vector for each line of the image. It appends each successive state vector together in order to return the complete orbit of the spacecraft. The program then converts this complete orbit to SCH coordinates with an instance of the class Orbit2sch, found in Orbit2sch.py, called o2s. It wires a few input ports, sets the average height of the spacecraft, and then performs the conversion with its method orbit2sch(). After setting parameters and allocating memory, orbit2sch() runs orbit2sch.F, source code wrapped by the method orbit2sch_Py(). Back now in ISSI.py, focus() creates instances of the RawImage and SlcImage classes called rawImage and slcImage, respectively. While rawImage provides access to the raw image in memory, slcImage facilitates the creation of the SLC image in memory. The program also creates an instance of the class Formslc, found in Formslc.py, called focus, which contains the attributes and methods necessary to process raw data into an SLC image. With these objects prepared, focus() wires input ports and sets variables necessary for generating the SLC image. Notice that, while focus() has many lines, the vast majority of its commands simply get and set data calculated elsewhere; most of focus() simply prepares for the actual SLC generation, executed in method called formslc(). formslc() finishes wiring the ported objects, allocates memory, sets parameters, and runs formslc_Py(), the method that wraps formslc.f90. This Fortran code completely generates the SLC image, and after it finishes, another wrapping function called getMocompPositionSize_Py() returns information about motion compensation performed in formslc.f90. formslc() concludes by setting a few more local variables, running getState(), which returns more motion compensation parameters from the Fortran processing, deallocating memory, and creating an xml header file for the new SLC image. Once more in focus(), both rawImage and slcImage run their finalizeImage() methods. Now only one last step remains for focus(), to convert the SLC image from writeable to readable. It accomplishes this by creating another SlcImage object identical to that created earlier, but setting it as readable rather than writeable. Finalizing this image object and defining local variables of image length and width conclude the conversion process from raw data to SLC image. 3.3.5 Resampling the SLC Image focuser() next runs the method resample(), in ISSI.py, on the VH and VV polarized SLC images. As usual, resample() begins by getting and setting parameters and objects relevant to the resampling process. It creates two SlcImage objects called slcImage, which refers to the SLC image currently in memory, and resampledSlcImage, which facilitates the creation of a resampled SLC image file. Following this, it creates an instance of the class OffsetField, in Offset.py, called offsetField, that represents a collection of offsets defining an offset field. The program then proceeds to create an instance of the class Offset, also in Offset.py, called offset, with a constant 0.5 pixel shift in azimuth. This offset adds to the offset field, ready for use later in the resampling process. 3.3. ISSI in Detail 39