Developers' pages for TRIPP
Be warned that the following pages are quite messy! They are basically a scratch pad to aid current work. In case you were looking for the people who do this work, look here instead. If you actually have come here on purpose, this is what you will find below:
Next: To do Up: Top of page
Contents of these developer's pages
- To do (a whole list of things that someboby should take care of at some point ...)
- Recent changes (a not necessarily complete compilation of what changes have been made)
- Basic CVS hints
- SVN hints
- Calling scheme (extra page, extra messy)
- View graph for the File transfer scheme
Next: Recent changes Up: Top of page
To do
- HTML Help
- Handling of data files: replace >>all<< save files! Results in binary(FITS) or ASCII? General read/write routines? (read_xy?)
- Global check of all sorts of window routines: windowset should not be used, for example!
- Dependance on CCD routines:
- Background corrections
- tripp_zero, tripp_flat
- make log.xsize, log.ysize obsolete? Problem: nr_subframes
- change logfiles accordingly if done
- check sizes of subsequent images? (as in reduction)
- normalization of flats as determined not over whole chip but instead as corresponding to the well-illuminated parts only (R.L.?)
- make possible cut-out flats for STL
- Make first-time usage more comfortable
- Make use of tripp_checklog instead of repeating the code in every routine
- Warning if the format of a logfile does not conform to the write routine called, i.e. tripp_write_image_log, "flatlog"
- At the end of one routine, suggest which one could/should be used next
- Find out nr_datapts for tripp_sinfit automatically and use if not supplied
- tripp_tv:
- tripp_reduction
- Handling of time marks
- tripp_calc_relflux
- theoretical error estimation: law of error propagation applied to fneu
- measured error of fneu
- use: where? (check tripp_show_raw, tripp_show_relflux)
- might be a whole lot easier to understand and to maintain if tripp_calc_relflux were completely rewritten ...
- the calculation of the selection radius is currently done in many different parts; place this in one single procedure! (naturally affects more procedures than just calc_relflux ... or *should* at least ;))
- tripp_write_relflux, tripp_write_final
- results for all stars preparations partly done in preceeding procedures
- identify required extensions further down the line (show_all) ... etc? if any
- tripp_timing - suggested contents (see tripp-timing itself for details) :
- tripp_simfast
- tripp_show_all
- tripp_curvefit: an updated version of jwcurvefit is available (mpfit); cross-check the additions before a complete replacement of the routine! affected: tripp_fit_sinus.pro, tripp_sinfit.pro, spex routines
- tripp_log_type: provide a general version!
- tripp_monitor:
- check how merging with subtraction branch (H.I.) could be done
In branch "subtraction":
- General, esp. tripp_prepare_subtraction: enable non-filelist use (automatic writing of filelist?)
- In tripp_reduction: revert positioning to method used in trunk but strongly suggest correlation of entire images.
- In tripp_reduction: implement cosmic reduction and rigorous error handling.
- In tripp_prepare_subtraction: make some C version of tripp_spline_shift canonical / alternatively try shifting whole pixels only (speed + flux conservation!)
- In tripp_prepare_subtraction: add automated selection of files for reference file list.
- In tripp_subtraction: replace keyword ron by value from FITS header. CCD gain and read-out-noise from log file?
- In tripp_define_mask: Keyword psfsamples is obsolete and should be removed.
- In tripp_define_mask: From experience, get stronger constraints on round, sharp, and log.thresh in automated source detection.
- In tripp_extract_flux: Flag variable weighted is obsolete and should be removed.
- In tripp_extract_flux: Traditionally, chronological order is established in tripp_write_final. This problem is entangled with the filelist issue.
- General: Define procedure after tripp_extract_flux.
Next: CVS hints Up: Top of page Previous: To do
Recent changes
- New routines: tripp_plot_period, tripp_gc, tripp_deltat, tripp_checklog DONE
- switched from tripp_sky (now obsolete) back to sky routine in astrolib DONE
- ->Use this converter<- to switch from parenthesis to brackets in all routines DONE(by hand, not with converter)
- HTML Help
- About&more cleaned up, download available nowDONE
- restructured the site DONE
- Produce a calling tree as an easy starting point for future design changes DONE
- checked and corrected navigation links DONE
- Routine headers: add PURPOSE (goes into aitlib description) and generally add more specific informationDONE
- Cross-reference individual routines to the respective entry in the aitlibDONE
- include on_error,2 everywhere
- Error messages and return if logfile not supplied DONE for all routines up to show_final and tripp_show_sinfit, i.e. all that use a logfile
- tripp_monitor DONE
- improvements on code readability (quicklook in own procedure now) and usage of filelist
- internal recycling when using quicklook option (skip all already reduced images)
- added quicklook option
- merge the 3 monitor functions into one
- introduce keywords to switch between them
- make usable with .log or .fits file alternatively
- usable with filelist (file catalogue) option in logfile
- automatic mask definition if mask is missing
- allow usage of files ending in .FIT
- Zero and Flat DONE
- tripp_zero and tripp_flat do not overwrite original data any more; tripp_zero has been freed from a few bugs due to misspellings
- New tripp_zero and tripp_flat by Eckart Göhler: do all interactions first (with improved graphical representation), then do median calculation for all subframe sets. Interactions include a whole set of new possiblities now (menue controlled). Newly added routines for this purpose: tripp_process_image, tripp_cheese_flat. Obsoleted in this context: tripp_read_frames, tripp_display_frames.
- logfiles: graphical interfaces
- changed tripp_write_zero_log, tripp_write_flat_log, tripp_read_zero_log, tripp_read_flat_log
- new: tripp_zerolog_type, tripp_flatlog_type, tripp_zerolog_gui, tripp_flatlog_gui
- Allow reading of filenames from catalog file: first image -> keyword catalog, last image -> catalog filename (changes in log subroutines and in calculation routines)
- allow usage of files ending in .FIT
- Dark
- tripp_write_dark_log.pro, tripp_darklog_gui.pro, tripp_darklog_type.pro, tripp_read_dark_log.pro, tripp_dark.pro, tripp_get_dark.pro, tripp_dark_header.pro; new routines (S.D.), but not functional yet (may work formally but fit results are not trustworthy yet)
- allow usage of files ending in .FIT
- Image logfiles DONE
- tripp_write_image_log (tripp_log_combine, in fact): DONE
- calculate a usable selection radius to avoid errors in tripp_calc_relflux: selection radius will now always match available radii
- Allow reading of filenames from catalog file: first image -> keyword catalog, last image -> catalog filename (changes in tripp_write_image_log and its subroutines and in tripp_reduction)
- allow usage of files ending in .FIT
- tripp_reduction:
- Improvements of stability and speed for correlation process: sliding window DONE - BUT NOT CHECKED!
- Positioning process using any star: Find transformation for usage of such a pos-file together with the information from the mask in tripp_extract_flux DONE - BUT NOT CHECKED!
- /recycle: read old posfile, only redo new images; same in extract_flux!!!DONE
- /debug added DONE
- Changes to definition of source position with respect to sensibility and behaviour of check (now mouse)DONE
- New FITS keywords for definition of cut area for zero and flatDONE
- Cutting of zero and flat is now done every time in case the location of the window on the chip has changed DONE
- CCD chip size mattersDONE
- /sdvc keyword for noise reduction in reduced images
- positioning completely rewritten(T.-O.H.) - handling of failures should be tested again
- write reduced images as uint to avoid excessive file sizes (also partly applies to other output files in fits format) DONE
- tripp_show_pos: interactivity DONE
- tripp_define_mask DONE
- make moving of sky fields much more user friendly (EG)
- make sky fields mouse movable after first (automatic) try
- no_intup keyword: avoid use of intup instead of first image for mask definition
- define_mask after reduction
- switched to automated mask definition (tripp_define_mask_autohelp), old functionality available with /mouse keyword. Fully automatic for /silent.
- moving sky fields close to impossible via remote connections; can avoid this now by using a combination of /mouse and /silent
- tripp_get_gjd
- Background corrections
- model sky background in 2D and subtract extrapolated distibution tried this (/skyfit keyword) but results are better with conventional method!
- tripp_extract_flux: DONE
- tripp_extract_flux
- tripp_write_wetstandard: output format adjusted when specs became available; output now works as an input for XQED DONE
- tripp_calc_relflux: DONE
- rectify keyword
- scale fluxes according to exposure time; has no effect unless the rectify keyword is set.
- additions to tripp_extract_flux and to tripp_get_gjd were necessary to get the exposure time
- output reasonable relative fluxes for all stars, not just Ref1 (remove current object from comparison star list when calculating its relative flux / if there is only one comparison star output a constant value of 1 for it)
- tripp_show_relflux: DONE
- added /mouse, which triggers the usage of, mainly, the CCD_MEAN routine for a display of the quality of the lightcurves at different extraction radii; new extraction radius can be chosen and will change the log-and rms file for consistency.
Reminder: Usage of a subset of CCD routines
Copy the fluxfile to for example ralf.flx and proceed as follows:ccd_rms, in='ralf.flx' window,3 ccd_mean,in='ralf.rms' window,3 ccd_stat,in='ralf.rms' window,3 ccd_lc, in='ralf.rms',stat='ralf.stt'ccd_rms reads the *.flx file and outputs an *.rms file. This *.rms is used in ccd_mean, ccd_stat and finally, ccd_lc. Additionally, ccd_lc requires an *.stt file which will be produced by ccd_stat. Running ccd_lc is likely to fail, but the other routines should work as long as the window 3 is created before the call. (Problem: several CCD procedures are not compatible with newer IDL versions (window device handling, array adressing).)- tripp_write_errorDONE
- tripp_show_all
- Scargle routinesDONE
- Find out nr_datapts for tripp_show_all and similar automatically if not supplied:DONE
- Lightcurve manipulationDONE
- merged tripp_simulate and tripp_simulate_profileDONE
- while implementing the /recycle option: added new soubroutines tripp_write_pos, tripp_read_pos and tripp_recycle_flux and switched to the appropiate calls in tripp_define_mask, tripp_reduction, tripp_show_pos and tripp_extract_fluxDONE
Next: Bottom of page Up: Top of page Previous: Recent changes
SVN hints
The main development is now at Göttingen, where we use subversion as version control system. A good manual is available as the svn book. The Tübingen cvs repository occasinally gets the more stable versions that are then also automatically distributed here on the downloads page, as well as back into the Göttingen main library (not identical with the development repository). The usage of the Tübingen cvs repository is therefore generally discouraged; please contact S.S. before checking in tripp stuff there.
CVS hints
- Repository is /home/cvs/cvsroot/aitlib
- aitlib is being updated every ten minutes from this repository
- get personal copy with
~> cvs checkout aitlib/trippThis will, in the current directory, create the directories aitlib and its subdirectory tripp and store the copies there. Only needed once.- Before starting at all and when done editing and testing this set of copies,
- for all the routines which have changed:
~> cvs updateTells the local CVS about any changes in individual, already known routines.- for a new routine:
~> cvs add <filename>Tells the local CVS to recognize a completely new routine that hasn't existed before.- for a routine which has become obsolete:
~> rm <filename> ~> cvs remove <filename>The routine to be deleted has to be removed from the directory before the following command tells the local CVS to forget that it has existed before.- When all of this is completed and the new version is to be published:
~> cvs commit- When no new changes are coming up and the local copy should be deleted:
~> cvs releaseUse this command instead of deleting everything by hand! Then cvs knows you are done ... Does not always work though.- The aitlib Web documentation containing the document headers is updated every night. The CVSweb entries, too.