Processing SUMER Image Arrays ============================= There are two ways to retrieve SUMER data from the original telemetry: FITS data produced from the real-time telemetry which are succeedingly reprocessed from CD-ROMS and IDL-restore data files directly produced from the CD-ROMs. The quality will ultimately be the same, but small differences exist in the structure of files and the header information. The FITS data are stored at the SOHO archive at GSFC, while the IDL-restore files can produced on the LINSU1 machine at MPAE (in Germany) where the CDROM data are stored. These data are stored as binary files which are accessible by a Quicklook programme. This allows a quick inspection of a data set before converting the data into restore files. For each single image taken by SUMER an individual restore file is produced, containing the image header (header_data) and the image array (image_data) which can be restored as IDL variables. (For further information see the page ===>SUMER Data Availability). Both types of data, FITS files and restore files, are not calibrated or converted to physical units nor corrected for shortcomings of the hardware of the SUMER instrument. When restore files are used, the images can be displayed from the variable IMAGE_DATA. The header information can be read from the HEADER_DATA variable by applying various HEADER_DATA functions (===> plroot:[sumer_head]*.pro) for each data item. There are several such shortcomings which need to be corrected before the data can be calibrated: * The intensities of the image_data array may have been compressed on-board (and usually are: with "quasi-logarithmic" Compression Method 5). A decompression is necessary (note, FITS and FTS file data are already decompressed and reversed during creation). You can use the routine ===>contrib:[schuehle.tools]DECOMP5.PRO to decompress IDL-restore files which had been compressed by Method 5. If a different compression scheme has been used the program ==>DECOMPRESSION.pro can be used to determine all compression parameters and then decompress the images. * On the detector, the highest wavelength is on pixel 0, the lowest on pixel 1023; the wavelength that is stated in the header of the restore file (e.g. 609.7) is situated on the reference pixel pixpos(header_data). Therefore, wavelengths are descending from left to right. For compatibility with the SOHO conventions and the following image correction routines the images must be reversed. To prepare the data in the orientation used in the following routines, the IDL REVERSE routine will do: IMAGE_DATA = REVERSE ( IMAGE_DATA ) The routine DECOMP_R.pro in contrib:[schuehle.tools] will do decompression and reversal of a number of files in one directory. SUMER is situated "head down" on SOHO, so what you see "up" on your screen is south on the Sun. Note: the decompress and the reverse operations above should not be applied to the FITS files. Note, however, FITS files reprocessed from the CD-ROM (recognized as FTS files) will be flipped such that north is up. * The count rates are biased due to their detector position and need to be corrected with a flat-field correction matrix. Several flat- field correction matrizes are available at the directory ===> calibration:[flight.ff]. These are IDL-restore files already reversed to be compatibel with the orientation of FITS files (not FTS files!). The flat-field pattern changes slightly with time due to change of the channel plate gain with usage. Therefore, in general the data closest to the time of observation shall be used (see comments inside the program header). ===> contrib:[schuehle.tools]SUM_FLATFIELD.PRO * The detector image is distorted and needs a geometrical correction such that the rest position of the line profile is situated on the correct spectral pixel and the curvature of lines is removed. In addition, due to a discrepancy in the orientation of the grating and the detector, the spectral lines are inclined with respect to the detector vertical lines. Use the ===> contrib:[schuehle.tools]DESTR_BILIN.PRO routine to correct geometric distortion of the image and inclination of lines. * Due to the discrepancy in the orientation of the grating and the detector, the spectrum is inclined with respect to the detector horizontal lines, which causes the spectral lines to be displaced higher or lower on the detector as the wavelength is scanned. In addition, the position of the slit image on the detector is also shifted due to the nonlinearity of the grating focus mechanism which is moved simultaniously with the wavelength scan. The vertical displacement of the slit image as a function of wavelength can be removed with ===> contrib:[curdt]POSITION.PRO (TBD). This correction is only needed for co-registration of images with different reference wavelengths. * The total count rate of the detector during one exposure might be high, such that electronic deadtime correction factors must be applied. The deadtime error of the detector electronics is not negligible whenever the total count rate on the detector is above 5x10^4 counts/s. Note, the total count rate on the detector cannot be inferred from the total counts in an image if subformat images are used. Instead, the Header_data functions XEVENT and YEVENT give the count rate on the total detector array. The ===> contrib:[wilhelm.rad]DEADTIME_CORR.PRO routine corrects the deadtime effects using the total count rate as input. * The local count rate in a spectral line may be high, such that local gain depression of the detector channel plates reduces the efficiency. In this case a gain depression correction can be applied: ===> contrib:[wilhelm.rad]LOCAL_GAIN_CORR.PRO * The width of spectral lines is affected by a contribution of the instrumental broadening to the Doppler broadening. Using the function ===> CON_WIDTH_FUNCT_2.PRO the instrumental width can be taken out by using a de-convolution matrix. * The detected intensity is given in counts per pixel per sampling interval. A radiometric calibration converts these to physical units. ===> contrib:[wilhelm.rad]RADIOMETRY.PRO The vertical extension of the long slit image on the detector corresponds 300 arcsec on the Sun but is generally not 300 pixels long. It rather is a function of wavelength given by the focal position of the grating which determines the magnification factor of the spectrometer. This is being considered by the radiometric calibration procedure. It is up to the user to decide which corrections and calibrations are to be applied. The routines can be considered as optional corrections to be made to the data, however, it is crucial that the order of routines given above is obeyed. Header_data functions ===================== !All Modules can be used as follows: ! ! result=module_name(header_data) ! header_data can be a single Byte Array of at least 92 Raw Header Bytes ! or a multidimensional Byte Array in Form of header_data=(92, n) ! !---------------------------- SOURCE MODULES ------------------------------- ! ACIMGC.PRO ! returns accumulative image counter ADMIN.PRO ! returns administration counter BCP.PRO ! Return header(48)*256 + header(49) BINY.PRO ! returns spectral binning factor y_d BINZ.PRO ! returns spatial binning factor z_d BPCNT.PRO ! returns counts in brightest pixel BRIGHTPY.PRO ! returns brightest pixel address in y BRIGHTPZ.PRO ! returns brightest pixel address in z CMP1.PRO ! returns compression parameter 1 CMP2.PRO ! returns compression parameter 2: brightest pixel / averaged width CMP3.PRO ! returns compression parameter 3: minimum pix / averaged centroid / max li COG.PRO ! - COMPRM.PRO ! returns data compression method DELSTA.PRO ! returns detector status (cf. XDL manual) DELSTP.PRO ! returns raster step size in elementary motor steps DETECTOR.PRO ! Return Number for which Detecto is used (0:no, 1:A, 2:B, 3:RSC) EXPSTA.PRO ! returns start of exposure giving day/month/year/hour/min/sec EXPSTASEC.PRO ! returns exposure start time in seconds from 1.1.58 EXPTIM.PRO ! returns exposure time in seconds FLATF.PRO ! Return if Flatfield is done (1) or not (0) FLREQ.PRO ! Return Flight Operation Request Number H_STATUS.PRO ! Return Status (Header Byte 22) IIDY.PRO ! Return inter instrument Sun Coordinate Y IIDZ.PRO ! Return inter instrument Sun Coordinate Z IMGCNT.PRO ! Return Image Counter IMGFORM.PRO ! Return Image Format IMGTOT.PRO ! Return Total Counts in Image LOCATION.PRO ! Return Location/Scientist MC2POS.PRO ! Return Position of MC2 MC3POS.PRO ! Return Position of MC3 MC4POS.PRO ! Return Position of MC4 MC6POS.PRO ! Return Position of MC6 MC8POS.PRO ! Return Position of MC8 MCERR.PRO ! Return Error of Motor Controler MCPI.PRO ! Return Value of MCP-Current MCPV.PRO ! Return MCP High Voltage OPCNT.PRO ! Return Operations Counter PIXPOS.PRO ! Return Reference Pixel POPUDP.PRO ! Return POP/UDP Number RASSTP.PRO ! Return number of raster steps ROTCOMP.PRO ! Return rotation compensation time SLITNUM.PRO ! Return slit number SUNY.PRO ! Return Sun Coordinate Y SUNZ.PRO ! Return Sun Coordinate Z TARGET.PRO ! Return the Target Zone Number UTC_HEAD.PRO ! Calculates the UTC_HEAD when the integration of a SUMER image started WAVEL.PRO ! Return Wavlength at Reference Pixel XEVENT.PRO ! returns x detector events in cts/s including specific scale factor YEVENT.PRO ! returns y detector events in cts/s including specific scale factor