sot solarsoftware (ssw) overview tom berger, sam freeland, greg slater lmsal sot 17 meeting noaj...
TRANSCRIPT
SOT SolarSoftWare (SSW) Overview
Tom Berger, Sam Freeland, Greg Slater
LMSAL
SOT 17 Meeting
NOAJ
April 17-20, 2006
What is SSW? http://www.lmsal.com/solarsoft/ssw_whatitis.html
• The SolarSoft system is a set of integrated software libraries, data bases, and system utilities which provide a common programming and data analysis environment for Solar Physics.
– The SolarSoftWare (SSW) system is built from Yohkoh, SOHO, TRACE, RHESSI, and Astronomy libraries and draws upon contributions from many members of those projects. Thousands of routines now exist for all aspects of solar data analysis.
• It is primarily an IDL based system– Some instrument teams integrate executables written in other languages. – The SSW environment provides a consistent look and feel at widely distributed co-
investigator institutions to facilitate data exchange and to stimulate coordinated analysis.
• SSW includes extensive heliographic mapping capabilities for inter-mission alignment. SOT - RHESSI - TRACE comparisons are greatly simplified.
– http://orpheus.nascom.nasa.gov/~zarro/idl/maps.html
Proposed SSW Tree
eis
solarb
xrt sot
display util fg sp
kokuten.lmsal.com:/archive/software/ssw/solarb
ct dd
fgram mgram stokes dgram
bin idldata setup
Image and movie viewers Utility codes
Filtergraph Spectrograph
Correlation Tracker Diagnostic data
C, C++, FORTRAN execs Sample data IDL codes Setup routines
Filtergram codes Magnetogram codes Stokes vector codes Dopplergram codes
anaANA codes
docDocumentation
seisHelioseismology codes
TBD
Routines in development• read_sot.pro• write_sot.pro
• sot_cat.pro• sot_cat2data.pro
• sot_data_tool.pro
• sot_prep.pro
Routines TBD• sot_wave2point.pro• sot_transmission.pro• Many others…
Utility codes
Basic FITS file read and write capabilities.
Database (catalog) access and data return.
Image and spectra Level 0 Level 1 calibration (bad pixel correct, dark subtract, flat-field, etc…).
Database access GUI from IDL command line
Inter-instrument corrections to pointing for each wavelength.
Filter transmission profiles
Filtergraph routines• Magnetogram codes
– Filtergraph polarization sensitivity calibration: sot_nfi_getx.pro– NFI magnetogram code: sot_fgmag.pro
• Dopplergram codes• Stokes vector codes
• Image analysis codes– Image segmentation and object definition (bright points, pores, penumbral filaments, etc.):
sot_image_segment.pro– Wavelet denoise and spatial filter: sot_wavelet_denoise.pro– Brightness temperature from (R,G,B) continuum images: sot_bright_temp.pro
• Times series analysis codes– Inter-wavelength and inter-instrument (XRT, EIS) align and scale: sot_align.pro*
• Can also use D. Zarro’s mapping routines for this (http://orpheus.nascom.nasa.gov/~zarro/idl/maps.html)
– Image distortion removal (destretching): sot_destretch.pro*– (x, y, t) Fourier filter (p-mode filter): sot_3dfft.pro*– Correlation tracking: sot_correlation_track.pro*– Object tracking: sot_track_object.pro*– Corkflow mapping: sot_corkflow.pro*
*These routines exist in prototype form (La Palma data analysis tasks)
Display codes
• Image viewer– Basic requirements
• Load up to 6 images into a single display GUI: multi-layer model (gimp, Illustrator…).• Images may be different sizes, formats, etc. (e.g. FG, SP map overlay).• Real-time adjustment of color and transparency for mult-image overlay views.• Automatic adjustment for image pointing differences.• Standard image browsing functions
– Pan– Zoom– Scale – Rotate– Crop– Plot line profile– Annotate
• Overlay heliographic grids.• Export processed images back to IDL session.• Export to Postscript printer, EPS, TIFF, JPEG, PNG, etc.
– Protocol:• Can use existing ANA TRACE browser for some of this functionality.• Can develop IDL graphics object code based on iImage tool.
Image Viewer Example
Display codes (cont.)• Movie viewer
– Basic requirements• Movie creation: assemble “clips” from URLs from database tool or passed from IDL session.• Playback: real-time streaming from disk.• Simultaneous multiple movie playback.
– Individual clips from different sot wavelengths: e.g. G-band clip, Magnetogram clip, Dopplergram clip, H-alpha clip, etc. – Timeline view for temporal alignment of clips from overlapping time spans.
– Adjust color and transparency for multiple clip overlays.
• Standard video transport controls: play, pause, FF, RW, frame-step, jog/shuttle, loop.• Real-time pan, zoom, ROI crop, scale, color adjust.• UTC display for time annotations.• Export to MPEG4, QuickTime, etc.• Export any frame to Postscript printer, EPS, TIFF, JPEG, PNG, etc.
– Protocol: • ANA TRACE browser
– Advantage: already written, easily adapted to sot database.– Disadvantage: does not integrate with existing SSW IDL routines or live IDL sessions, no timeline or movie overlays.
• IDL graphics objects code– Advantage: Integrates directly with SSW IDL session. – Disadvantage: requires custom development project (2-3 months development time w/RSI involvement.)
• Apple FinalCut Pro– Advantage: fully developed commercial product, has timeline, multiple movie overlay, full export capabilities.– Disadvantage: expensive and does not integrate with database or IDL (requires saving clips in JPEG images and offline
import) - not a “scientific” product.
G-band Ca II H-line
H-alpha wing
Stokes-V Magnetogram
Na ID Dopplergram
Sample Movie Viewer: FinalCut Pro
Object-oriented model vs. traditional model• Object oriented coding
– What is it? • Observables become “objects”. E.g. image and spectra are different objects in code space.• Pre-defined “methods” operate on objects. A method is just a subroutine that is specifically
assigned to an object. IDL> image = OBJ_NEW(‘sot_fg_data’,filename = ‘URL of some-gband-image-file’)IDL> spectra = OBJ_NEW(‘sot_sp_data’,filename = ‘URL of some-SP-spectral-file’)IDL> calibrated_image = image -> prep, /despikeIDL> calibrated_spectra = spectra -> prep, /slit_straighten
In this case, “prep” is a different subroutine for each object, but user doesn’t have to know this. Compare to traditional syntax: IDL> sot_prep, index, image, index_out, image_out, /BFI,darkdir=‘/data3/solarb/sot/fg/fgdarks’, flatdir=‘/data3/…”
Similarly,IDL> calibrated_image -> displayIDL> spectra -> prep -> display
Calls up pre-defined image display routines that act differently for images or spectra. Or
IDL> calibrated_image -> print, /EPS, filename =‘ready_for_latex.eps’IDL> calibrated_image -> print, /JPEG, filename = ‘my_calibrated_image.jpeg’
Calls predefined printing/image output routine.
– Advantages• Follows EIS and RHESSI data analysis models.• Easily integrates with IDL’s graphics object protocol, greatly extends display capabilities.• User does not have to know which routines to use for each type of data object.
– Disadvantages• Requires learning new IDL syntax.• Requires writing method “wrappers” around legacy SSW codes.
http://orpheus.nascom.nasa.gov/~zarro/idl/objects/objects.html