100 likes | 305 Views
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.
E N D
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 kokuten.lmsal.com:/archive/software/ssw/solarb solarb eis xrt sot setup doc idl data bin ana Setup routines Documentation IDL codes C, C++, FORTRAN execs Sample data ANA codes ct dd sp util display fg Correlation Tracker Diagnostic data Utility codes Image and movie viewers Spectrograph Filtergraph TBD stokes seis fgram mgram dgram Helioseismology codes Dopplergram codes Filtergram codes Magnetogram codes Stokes vector codes
Utility codes 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… Basic FITS file read and write capabilities. • Database (catalog) access and data return. • Database access GUI from IDL command line • Image and spectra Level 0 Level 1 calibration • (bad pixel correct, dark subtract, flat-field, etc…). • 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.
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 Stokes-V Magnetogram H-alpha wing Na ID Dopplergram
Object-oriented model vs. traditional model http://orpheus.nascom.nasa.gov/~zarro/idl/objects/objects.html • 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, /despike IDL> 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 -> display IDL> 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.