Version 20090309: - Added a line to the "Prepare for Animated Gif" macro which prevents it from running if you're not using ImageJ 1.42k or later. -------------------------------------------------------------------------- Descended from Version 20090304: - Fixed the "Version History" macro (was: "Read Me") in Plugins > Polaris, which displays this version history file. It had not been changed since the plugin was renamed! So now it should work on all operating systems. - Created a "Prepare for Animated Gif" macro, now available from Plugins > Polaris. It should work for ImageJ 1.42k or later. Brightness & Contrast settings should be tweaked for each image slice BEFORE using this macro. It crops and duplicates the current image selection, changes the image type first to RGB and then to 8-bit, and then reinverts the LUT. AFTER this is finished, use File > Save As > Animated Gif. (Gifs should not be saved in the same folder as FITS files! It will confuse the Importing of Image Sequences.) -------------------------------------------------------------------------- Descended from Version 20090204: - Fixed an astrometric time-calculation bug for images taken in drift- scan mode (e.g., SDSS). All images get cropped when aligning with reference images, and the time at a particular pixel is calculated based on its distance to the first row of the image. The plugin now keeps track of the number of initial rows cropped away, and uses this value in calculating time-stamps. -------------------------------------------------------------------------- Descended from Version 20090123: - Fixed a bug that prevented the Auto-Contrast option from working under ImageJ 1.42g. This was not a problem for 1.41o, and I don't think it was a problem for the early 1.42 subversions. The fix was to replace IJ.setMinAndMax() with imgPlus.setDisplayRange() within the ContrastOnLoad section of PolarisPanel. (ImageJ 1.42h may also fix the problem.) -------------------------------------------------------------------------- Descended from Version 20080905: - Fixed a bug in PolarisCanvas resulting in the message "Reverting to using calibration data from the image header..." ANY time the "Record known magnitude" dialog was canceled. Now, this message only comes up when the calibration data EXISTS in the image header, and when canceling the dialog would result in ZERO calibration stars to work with. -------------------------------------------------------------------------- Descended from Version 20080826: - Added the choice to align a stack of images via the astrometric calibration in their WCS headers. Images are also cropped to the common region of overlap. This is useful, e.g., for SDSS images, but not for the NovaSearch data which are already mutually aligned. This is currently a VERY BASIC alignment algorithm, which assumes that the camera did not rotate between the exposures. (More sophisticated methods are possible.) - Note that whenever this plugin "changes" info from the header (as it does when aligning, and when compensating for odd headers), it's only the version of these variables in memory that's changed. The header data shown by "Image > Show Info..." will always be the original file header. - Added the option to load image sequences as Hyperstacks when the plugin starts. Hyperstacks have separate Brightness & Contrast settings for each image, which is necessary for viewing stacks of SDSS images. - Added the option to auto-contrast the images when the plugin starts. Deals with individual images if a hyperstack, or the whole set if a stack. Sets the minimum displayed value to the minimum found pixel value, and sets the max such that roughly the lowest 99.6% of the pixel values are displayed. It's not perfect, but it's much better for astronomical images than the choice ImageJ makes by default. -------------------------------------------------------------------------- Descended from Version 20080822: - Added choice of output formats (RWO vs MPC) to the Plugin Options, and combined the "MPC Output" and "RWO Output" buttons into a single "Copy Results" button. Both formats are generated and stored when a star is measured, so if you get the wrong format when you click "Copy Results," you can change the Options setting and copy results again without having to remeasure. -------------------------------------------------------------------------- Descended from Version 20080815: - Corrected a bug preventing the Astrometry-Only option from working on non-photometrically-calibrated images (e.g., NovaSearch!). It was asking for the photometer to be trained, when that was not allowed! - Corrected the behavior when attempting to override the MAGZERO header keyword, that is, when calibrating the photometer. Now, when there are no stars on the calibration list, the photometer relies on the header for calibration. Decisions about recalibration are no longer permanent. - Made the restriction on choice of Outer Radius a SUGGESTION rather than a demand. (Recommend that sky annulus have >3x pixels as object.) - PolarisOptions now checks that Object/Inner/Outer radii are positive and in the correct order. - Changed behavior of findCenter and associated iterations. Now searches within a box of "radius" equal to the Object Radius set in the Options. Repeats until the found coordinates stop changing, or max 3 iterations. (These had previously been set to 15 pixels and 5 times, respectively. So now the search is guaranteed to stay close to home.) - Corrected bug regarding Clear Last Calibration/Measured when working with an image stack. It was supposed to apply to the "last" for that particular image, but previously it was the VERY LAST line in the Calibration/Measured Magnitudes data panels that was removed. (The math was being done correctly; it was only a display issue.) - Plugin now accepts CTYPEn = 'LINEAR ' as an indication of TAN-projected (gnomonic) data, equivalent to CTYPE1 = 'RA---TAN' & CTYPE2 = 'DEC--TAN'. Occurs in all 16 subfields of NovaSearch data, for epochs 53-56 & 90-99. Precedent for this interpretation can be found at: http://idlastro.gsfc.nasa.gov/ftp/pro/astrom/putast.pro - Added "RWO Output" button which copies output compatible with the AstDyS and NeoDyS websites to the clipboard: http://hamilton.dm.unipi.it/cgi-bin/astdys/astibo http://newton.dm.unipi.it/cgi-bin/neodys/neoibo -------------------------------------------------------------------------- Descended from Version 20080618: - Changed label color for measured objects ("novae") from green to blue. -------------------------------------------------------------------------- Descended from Version 20080515: - Added warning if saturated (50k for NDWFS) or likely saturated (> 65k) pixels are found by findIntensity calculation. - Similar warning for findCenter algorithm is all ready, just needs to be uncommented. - Fixed bug affecting getPixelValue() for 16-bit signed images, which needed the calibration table (y = -32768 + x) to return correct values. -------------------------------------------------------------------------- Descended from Version 20080513: - Switched from (int) getPixel to (double) getPixelValue in PolarisCanvas. NOAO DWFS images are 32-bit float, and photometric output was garbage. This update fixes that, but causes buggy behavior on 16-bit signed images (i.e., Nova Search). That fix will come later. Until then, the logfile will contain representative intensity values whenever a photometric calibration or measurement is attempted. - (The desired values for Nova Search images are the smaller values (< 30k). The larger values (> 30k) are an internal ImageJ kluge to store the pixel values as 16-bit unsigned. The current plugin returns the smaller value only after "Show Info..." is displayed. Can we just load the calibration table from within the plugin?) -------------------------------------------------------------------------- Descended from Version 20080505: - Renaming to "Polaris Plugin" -------------------------------------------------------------------------- Descended from Version 20080406: - Fixed a bug which resulted in blank images (zero intensity in every pixel) if the stack was animating quickly (7fps) when plugin began. Animation now stops when plugin begins. -------------------------------------------------------------------------- Descended from Version 20080404: - Fixed a bug which required that Nova_Plugin_Options be run before Nova_Plugin every time, b/c appendToLogFile required an instance of NovaOptions in order to check the isWriteToLogFile setting. -------------------------------------------------------------------------- Descended from Version 20080325: - Drawing of apertures on-screen is now dependent NOT on the CURRENT state of NovaOptions.isAstrometryOnly(), but on its state at the time the nova was MEASURED. - The aperture radii and the sky and intensity values are no longer displayed for astrometry-only measurements (as they should be). - It's now possible to copy the MPC output directly from the plugin, though it is not displayed anywhere. No longer a need to dig into the logfile! - Writing to the logfile is now optional, and off by default. -------------------------------------------------------------------------- Descended from Version 20080324: - appendToLogFile now works correctly on PCs (re: \n). - Apertures are no longer drawn on screen when in Astrometry-Only mode. -------------------------------------------------------------------------- Descended from Version 20080314: - The "Clear Last" buttons now remove the appropriate lines from the Recorded and Measured Star logs. If using ImageJ 1.40a or later, the line will be completely removed. In earlier versions, it will be "blanked" but not removed. (To upgrade ImageJ: shut down the program, download the ij.jar file and copy it into the ImageJ folder; or use the Plugins > Utilities > Upgrade ImageJ command, which is available in version 1.39s or later.) - The "Clear All" button now removes the stars and novae from internal memory, and they are no longer marked on the image. - "Seek Brightest Pixel" option is now active. - MPC-format astrometric record is now output to the log file, based on input from the Options dialog. Also, the "Astrometry only" option is now functional. -------------------------------------------------------------------------- Descended from Version 20080312: More improvements to the photometer... * NovaCanvas.findIntensity: - Partial pixels had already been implemented, but poorly. - Changed currX & currY definitions (" - 1" had been " - 2"): - int currX = (int)Math.round(starX) - r1 - 1 + col; - int currY = (int)Math.round(starY) - r1 - 1 + row; - Both now run, e.g., from starX-4 to starX+4 when r1=3 (default) - Had been running from starX-5 to starX+3 - Changed "distance" definitions: - now using NEAREST & FARTHEST points on pixel boundary. - xDistMax, yDistMax now range from 0.5 to 4.5 when r1=3 (default) - xDistMin, yDistMin now range from 0.0 to 3.5 when r1=3 (default) - Aid in partial-pixel determination. - Changed subX, subY definitions to use xDistMax, yDistMax - Now correctly handles pixels where currX = starX || currY = starY * Stars & "Novae" are now marked with the 3 concentric apertures that were current at the time they were analyzed. * The "Invert Image on load" option no longer flips the LUT every time the plugin is restarted, but maintains an "inverted" (0 = white) LUT. -------------------------------------------------------------------------- Descended from Version 20080312: Improvements to the photometer... - NovaCanvas.findSky: - Increased size of valueArray, from (2*r3)^2 to [(2*r3)+1]^2 - Corrected the for-loops ("<" is now "<="): - for ( int col = x - r3; col <= x + r3; col ++ ) - for ( int row = y - r3; row <= y + r3; row ++ ) - Restores 2 pixels to sky annulus, when r3 = 11 (default) - Corrected sky-annulus inclusion criteria (was ">=r2"): - if ( distance > r2 && distance <= r3 ) - Removes 4 pixels from sky annulus, when r3 = 11 (default) - Corrected median sky value when annulus pixel-count is even - NovaCanvas.findCenter: - Half-length of search box is now 15 pixels (was only 2 pixels!) - NovaCanvas.recordKnownMagnitude & .measureMagnitude: - Restored iterations on skyPixelValue & starCenter - These were apparently present in earlier code version. -------------------------------------------------------------------------- Descended from Version 20080305: Dates and times of observation are now being read in from the FITS headers. Implementation is designed to work correctly for our Nova- Search images, plus standard SDSS "corrected frames" (fpC files) and NOAO Deep Wide Field Survey images. This should probably work for most other images as well, but changes can be made in the future if necessary. However, SDSS images give times in International Atomic Time (TAI), which needs to be converted into UTC. Therefore we are now including the file: ftp://maia.usno.navy.mil/ser7/tai-utc.dat within the Nova plugin directory in order to enact this conversion. The plugin will read in this file at every use, so replacing this file with the newest version will keep the plugin up-to-date as new leap-seconds are added over the coming years. (They can only be added on JAN 1 or JUL 1 of each year.) You can always check to see what the most current TAI-UTC difference is at: http://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat As of March 2008, the most recent leap second was added at the beginning of 2006, and the current value is TAI-UTC = 33 sec. -------------------------------------------------------------------------- Descended from Version 20080218: Some images from the NOAO Deep Wide Field Survey (NDWFS) have reference pixels that are well outside of their FOV (e.g., 1.7 degrees!). These images will be used in the photometric redshift project. Correct astrometry requires complete & correct WCS interpretation, rather than the linear approximation used to date. Implementing herein. -------------------------------------------------------------------------- Descended from Version 20080215: We are making a conscious choice to let our pixel coordinate Y-values be the opposite of the FITS standard (origin will be upper-left). It's possible to change this in ImageJ, but not uniformly as a preference? We will convert this Y-value behind the scenes, so that Declinations are still correct. - I'm changing this in calculateRA & calcRawDEC within NovaPanel.java. There were 3 problems holding this plugin back from being useful for all astronomical images: 1. ImageJ's pixel origin is the upper-left. (corrected in calculateRA & calcRawDEC in NovaPanel.java) 2. CRPIX2 & CDELT2 were kludged in Nova-Search images to compensate. 3. Cos(dec) correction was kludged into CDELT1, and this plugin was written to compensate. ...so for "Old-Format Nova-Search" images, we have corrected 2 & 3 in FitsHeader, and we will create "New-Format Nova-Search" images in the future. -------------------------------------------------------------------------- Descended from Version 20071219: Major changes to code, including: - Checks CTYPE and CROTA keywords for compatibility. - Filename is now read in by FitsHeader. - If filename is of the form "m31e001f01.fits"... - Cos(dec) correction is removed from CDELT2. - CDELTs are now used to populate the CD-matrix, if necessary. - RA and DEC now interpreted correctly if swapped (CTYPE1=DEC). - Checks that the DEC is not too high for a linear approximation. -------------------------------------------------------------------------- Descended from Version 20071010: Superficial changes to programming comments: - NovaPanel - Solar coordinates? CELESTIAL coordinates! - Changed duplicate DETACH comment to correctly read ATTACH. - Get Enumeration of StarLocation instances of recorded STAR(t)S. -------------------------------------------------------------------------- Descended from Version 20071008: New fix for FITS-->FITS_Reader/FITS_Writer issue. - Should now Work for ALL versions of ImageJ. - Tested 1.34_, 1.37_, 1.38x, 1.39_. - Does not invoke any FITS-related class, just confirms FITS filetype by checking that file starts with "SIMPLE". --------------------------------------------------------------------------