All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nom.tam.fits.header.extra.MaxImDLExt Maven / Gradle / Ivy

package nom.tam.fits.header.extra;

/*
 * #%L
 * nom.tam FITS library
 * %%
 * Copyright (C) 1996 - 2024 nom-tam-fits
 * %%
 * This is free and unencumbered software released into the public domain.
 *
 * Anyone is free to copy, modify, publish, use, compile, sell, or
 * distribute this software, either in source code form or as a compiled
 * binary, for any purpose, commercial or non-commercial, and by any
 * means.
 *
 * In jurisdictions that recognize copyright laws, the author or authors
 * of this software dedicate any and all copyright interest in the
 * software to the public domain. We make this dedication for the benefit
 * of the public at large and to the detriment of our heirs and
 * successors. We intend this dedication to be an overt act of
 * relinquishment in perpetuity of all present and future rights to this
 * software under copyright law.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 * #L%
 */

import nom.tam.fits.header.FitsKey;
import nom.tam.fits.header.IFitsHeader;

/**
 * The Fits extension keywords that may be added or read by MaxIm DL, depending on the current equipment and software
 * configuration.
 * 

* This standard extends the @see {@link SBFitsExt}. As of version 1.20.1, this enum explicitly includes all keywords of * the SBIG proposal also. *

* *
 * http://www.cyanogen.com/help/maximdl/FITS_File_Header_Definitions.htm
 * 
* * @author Attila Kovacs, John Murphy, and Richard van Nieuwenhoven * * @see SBFitsExt */ public enum MaxImDLExt implements IFitsHeader { // ------------------------------------------------------------------------ // The MaxIm DL keywords, which are based on the SBIG proposal: // ------------------------------------------------------------------------ /** * Same as {@link SBFitsExt#APTAREA}. * * @since 1.20.1 */ APTAREA(SBFitsExt.APTAREA), /** * Same as {@link SBFitsExt#APTDIA}. * * @since 1.20.1 */ APTDIA(SBFitsExt.APTDIA), /** * Same as {@link SBFitsExt#CBLACK}. * * @since 1.20.1 */ CBLACK(SBFitsExt.CBLACK), /** * Same as {@link SBFitsExt#CCD_TEMP}. * * @since 1.20.1 */ CCD_TEMP(SBFitsExt.CCD_TEMP), /** * Same as {@link SBFitsExt#CENTALT}. * * @since 1.20.1 */ CENTALT(SBFitsExt.CENTALT), /** * Same as {@link SBFitsExt#CENTAZ}. * * @since 1.20.1 */ CENTAZ(SBFitsExt.CENTAZ), /** * Same as {@link SBFitsExt#CWHITE}. * * @since 1.20.1 */ CWHITE(SBFitsExt.CWHITE), /** * Same as {@link SBFitsExt#DARKTIME}. * * @since 1.20.1 */ DARKTIME(SBFitsExt.DARKTIME), /** * Same as {@link SBFitsExt#EGAIN}. * * @since 1.20.1 */ EGAIN(SBFitsExt.EGAIN), /** * Same as {@link SBFitsExt#FOCALLEN}. * * @since 1.20.1 */ FOCALLEN(SBFitsExt.FOCALLEN), /** * Same as {@link SBFitsExt#IMAGETYP}. * * @since 1.20.1 * * @see #IMAGETYP_LIGHT_FRAME * @see #IMAGETYP_DARK_FRAME * @see #IMAGETYP_FLAT_FRAME * @see #IMAGETYP_BIAS_FRAME * @see #IMAGETYP_TRICOLOR_IMAGE */ IMAGETYP(SBFitsExt.IMAGETYP), /** * Same as {@link SBFitsExt#OBJCTDEC}. * * @since 1.20.1 */ OBJCTDEC(SBFitsExt.OBJCTDEC), /** * Same as {@link SBFitsExt#OBJCTRA}. * * @since 1.20.1 */ OBJCTRA(SBFitsExt.OBJCTRA), /** * Same as {@link SBFitsExt#PEDESTAL}. * * @since 1.20.1 */ PEDESTAL(SBFitsExt.PEDESTAL), /** * Same as {@link SBFitsExt#SBSTDVER}. * * @since 1.20.1 */ SBSTDVER(SBFitsExt.SBSTDVER), /** * Same as {@link SBFitsExt#SET_TEMP}. * * @since 1.20.1 */ SET_TEMP(SBFitsExt.SET_TEMP), /** * Same as {@link SBFitsExt#SITELAT}. * * @since 1.20.1 */ SITELAT(SBFitsExt.SITELAT), /** * Same as {@link SBFitsExt#SITELONG}. * * @since 1.20.1 */ SITELONG(SBFitsExt.SITELONG), /** * Same as {@link SBFitsExt#SNAPSHOT}. * * @since 1.20.1 */ SNAPSHOT(SBFitsExt.SNAPSHOT), /** * Same as {@link SBFitsExt#SWCREATE}. * * @since 1.20.1 */ SWCREATE(SBFitsExt.SWCREATE), /** * Same as {@link SBFitsExt#SWMODIFY}. * * @since 1.20.1 */ SWMODIFY(SBFitsExt.SWMODIFY), /** * Same as {@link SBFitsExt#TRAKTIME}. * * @since 1.20.1 */ TRAKTIME(SBFitsExt.TRAKTIME), /** * Same as {@link SBFitsExt#XBINNING}. * * @since 1.20.1 */ XBINNING(SBFitsExt.XBINNING), /** * Same as {@link SBFitsExt#XORGSUBF}. * * @since 1.20.1 */ XORGSUBF(SBFitsExt.XORGSUBF), /** * Same as {@link SBFitsExt#XPIXSZ}. * * @since 1.20.1 */ XPIXSZ(SBFitsExt.XPIXSZ), /** * Same as {@link SBFitsExt#YBINNING}. * * @since 1.20.1 */ YBINNING(SBFitsExt.YBINNING), /** * Same as {@link SBFitsExt#YORGSUBF}. * * @since 1.20.1 */ YORGSUBF(SBFitsExt.YORGSUBF), /** * Same as {@link SBFitsExt#YPIXSZ}. * * @since 1.20.1 */ YPIXSZ(SBFitsExt.YPIXSZ), // ------------------------------------------------------------------------ // Additional MaxIm DL keywords, beyond the SBIG proposal // ------------------------------------------------------------------------ /** * ASCOM Observatory Conditions -- relative optical path length through atmosphere * * @since 1.20.1 */ AIRMASS(VALUE.REAL, "relative optical path length through atmosphere"), /** * ASCOM Observatory Conditions -- ambient temperature in degrees Celsius * * @since 1.20.1 */ AOCAMBT(VALUE.REAL, "[C] ambient temperature"), /** * ASCOM Observatory Conditions -- dew point in degrees Celsius * * @since 1.20.1 */ AOCDEW(VALUE.REAL, "[C] dew point"), /** * ASCOM Observatory Conditions -- rain rate in mm/hour * * @since 1.20.1 */ AOCRAIN(VALUE.REAL, "[mm/h] rain rate"), /** * ASCOM Observatory Conditions -- humidity in percent * * @since 1.20.1 */ AOCHUM(VALUE.REAL, "[%] humidity"), /** * ASCOM Observatory Conditions -- wind speed in m/s * * @since 1.20.1 */ AOCWIND(VALUE.REAL, "[m/s] wind speed"), /** * ASCOM Observatory Conditions -- wind direction in degrees [0:360] * * @since 1.20.1 */ AOCWINDD(VALUE.REAL, "[deg] wind direction"), /** * ASCOM Observatory Conditions -- wind gusts in m/s * * @since 1.20.1 */ AOCWINDG(VALUE.REAL, "[m/s] wind gust"), /** * ASCOM Observatory Conditions -- barometric pressure in hPa * * @since 1.20.1 */ AOCBAROM(VALUE.REAL, "[hPa] barometric pressure"), /** * ASCOM Observatory Conditions -- cloud coverage in percent * * @since 1.20.1 */ AOCCLOUD(VALUE.REAL, "[%] cloud coverage"), /** * ASCOM Observatory Conditions -- sky brightness in lux * * @since 1.20.1 */ AOCSKYBR(VALUE.REAL, "[lx] sky brightness"), /** * ASCOM Observatory Conditions -- Sky quality in magnitudes / sq-arcsec * * @since 1.20.1 */ AOCSKYQU(VALUE.REAL, "[mag/arcsec**2] sky quality"), /** * ASCOM Observatory Conditions -- sky temperature in degrees Celsius * * @since 1.20.1 */ AOCSKYT(VALUE.REAL, "[C] sky temperature"), /** * ASCOM Observatory Conditions -- seeing FWHM in arcsec * * @since 1.20.1 */ AOCFWHM(VALUE.REAL, "[arcsec] seeing FWHM"), /** * if present the image has a valid Bayer color pattern. For example, "RGGB", "GRBG", "GBRG", "BGGR", "RGBG", * "GRGB", "GBGR", or "BGRG" */ BAYERPAT(VALUE.STRING, "Bayer color pattern"), /** * Boltwood Cloud Sensor ambient temperature in degrees C. */ BOLTAMBT(VALUE.REAL, "[C] ambient temperature"), /** * Boltwood Cloud Sensor cloud condition. */ BOLTCLOU(VALUE.STRING, "cloud condition"), /** * Boltwood Cloud Sensor daylight level (arbitrary units). */ BOLTDAY(VALUE.REAL, "daylight level"), /** * Boltwood Cloud Sensor dewpoint in degrees C. */ BOLTDEW(VALUE.REAL, "[C] dew point"), /** * Boltwood Cloud Sensor humidity in percent. */ BOLTHUM(VALUE.REAL, "[%] humidity"), /** * Boltwood Cloud Sensor rain condition. */ BOLTRAIN(VALUE.STRING, "rain condition"), /** * Boltwood Cloud Sensor sky minus ambient temperature in degrees C. */ BOLTSKYT(VALUE.REAL, "[C] sky minus ambient temperature"), /** * Boltwood Cloud Sensor wind speed in km/h. */ BOLTWIND(VALUE.REAL, "[km/h] wind speed"), /** * indicates calibration state of the image; B indicates bias corrected, D indicates dark corrected, F indicates * flat corrected. * * @see #CALSTAT_BIAS_CORRECTED * @see #CALSTAT_DARK_CORRECTED * @see #CALSTAT_FLAT_CORRECTED */ CALSTAT(VALUE.STRING, "calibration state of the image"), /** * initial display screen stretch mode */ CSTRETCH(VALUE.STRING, "initial display screen stretch mode"), /** * type of color sensor Bayer array or zero for monochrome. */ COLORTYP(VALUE.ANY, "type of color sensor"), /** * Davis Instruments Weather Station ambient temperature in deg C * * @deprecated Not part of the current MaxIm DL specification */ DAVAMBT(VALUE.REAL, "[C] ambient temperature"), /** * Davis Instruments Weather Station barometric pressure in hPa * * @deprecated Not part of the current MaxIm DL specification */ DAVBAROM(VALUE.REAL, "[hPa] barometric pressure"), /** * Davis Instruments Weather Station dewpoint in deg C * * @deprecated Not part of the current MaxIm DL specification */ DAVDEW(VALUE.REAL, "[C] dew point"), /** * Davis Instruments Weather Station humidity in percent * * @deprecated Not part of the current MaxIm DL specification */ DAVHUM(VALUE.REAL, "[%] humidity"), /** * Davis Instruments Weather Station solar radiation in W/m^2 * * @deprecated Not part of the current MaxIm DL specification */ DAVRAD(VALUE.REAL, "[W/m**2] solar radiation"), /** * Davis Instruments Weather Station accumulated rainfall in mm/day * * @deprecated Not part of the current MaxIm DL specification */ DAVRAIN(VALUE.REAL, "[mm/day] accumulated rainfall"), /** * Davis Instruments Weather Station wind speed in km/h * * @deprecated Not part of the current MaxIm DL specification */ DAVWIND(VALUE.REAL, "[km/h] wind speed"), /** * Davis Instruments Weather Station wind direction in deg * * @deprecated Not part of the current MaxIm DL specification */ DAVWINDD(VALUE.REAL, "[deg] wind direction"), /** * Status of pier flip for German Equatorial mounts. */ FLIPSTAT(VALUE.STRING, "status of pier flip"), /** * Focuser position in steps, if focuser is connected. */ FOCUSPOS(VALUE.REAL, "[ct] focuser position in steps"), /** * Focuser step size in microns, if available. */ FOCUSSSZ(VALUE.REAL, "[um] focuser step size"), /** * Focuser temperature readout in degrees C, if available. */ FOCUSTEM(VALUE.REAL, "[C] focuser temperature readout"), /** * format of file from which image was read. */ INPUTFMT(VALUE.STRING, "format of file from which image was read"), /** * ISO camera setting, if camera uses ISO speeds. */ ISOSPEED(VALUE.REAL, "ISO camera setting"), /** * records the geocentric Julian Day of the start of exposure. */ JD(VALUE.REAL, "[day] Geocentric Julian Date"), /** * records the geocentric Julian Day of the start of exposure. */ JD_GEO(VALUE.REAL, "[day] Geocentric Julian Date"), /** * records the Heliocentric Julian Date at the exposure midpoint. */ JD_HELIO(VALUE.REAL, "[day] Heliocentric Julian Date"), /** * records the Heliocentric Julian Date at the exposure midpoint. */ JD_HELIO2("JD-HELIO", VALUE.REAL, "[day] Heliocentric Julian Date"), /** * UT of midpoint of exposure (ISO timestamp). */ MIDPOINT(VALUE.STRING, "midpoint of exposure"), /** * user-entered information; free-form notes. */ NOTES(VALUE.STRING, "free-form note"), /** * nominal altitude of center of image */ OBJCTALT(VALUE.REAL, "[deg] altitude of center of image"), /** * nominal azimuth of center of image */ OBJCTAZ(VALUE.REAL, "[deg] nominal azimuth of center of image"), /** * nominal hour angle of center of image */ OBJCTHA(VALUE.REAL, "[h] nominal hour angle of center of image"), /** * Indicates side-of-pier status when connected to a German Equatorial mount. Usually 'East' or 'West'. * * @see #PIERSIDE_EAST * @see #PIERSIDE_WEST */ PIERSIDE(VALUE.STRING, "side-of-pier status"), /** * Records the selected Readout Mode (if any) for the camera. We define constants for some commonly used readout * modes, but other modes beyond these may be valid and can be used also. * * @see #READOUTM_RAW * @see #READOUTM_LONG_EXPOSURE_MODE */ READOUTM(VALUE.STRING, "readout Mode for the camera"), /** * Rotator angle in degrees, if focal plane rotator is connected. */ ROTATANG(VALUE.REAL, "[deg] rotator angle in degrees"), /** * Images taken by MaxIm DL are always TOP-DOWN. * * @see #ROWORDER_TOP_DOWN * @see #ROWORDER_BOTTOM_UP * * @since 1.20.1 */ ROWORDER(VALUE.STRING, "pixel row readout order"), /** * indicates tile position within a mosaic. */ TILEXY(VALUE.REAL, "tile position within a mosaic"), /** * X offset of Bayer array on imaging sensor. */ XBAYROFF(VALUE.REAL, "X offset of Bayer array"), /** * Y offset of Bayer array on imaging sensor. */ YBAYROFF(VALUE.REAL, "Y offset of Bayer array"); /** * Value for {@link #CALSTAT} indicating a bias corrected calibration state. * * @since 1.20.1 */ public static final String CALSTAT_BIAS_CORRECTED = "B"; /** * Value for {@link #CALSTAT} indicating a dark corrected calibration state. * * @since 1.20.1 */ public static final String CALSTAT_DARK_CORRECTED = "D"; /** * Value for {@link #CALSTAT} indicating a flat corrected calibration state. * * @since 1.20.1 */ public static final String CALSTAT_FLAT_CORRECTED = "F"; /** * Value for {@link #ROWORDER} indicating top-down ordering. MaxIm DL images are always this type * * @since 1.20.1 */ public static final String ROWORDER_TOP_DOWN = "TOP-DOWN"; /** * Value for {@link #ROWORDER} indicating bottom-up ordering. * * @since 1.20.1 */ public static final String ROWORDER_BOTTOM_UP = "BOTTOM-UP"; /** * Same as {@link SBFitsExt#IMAGETYP_LIGHT_FRAME}. * * @since 1.20.1 */ public static final String IMAGETYP_LIGHT_FRAME = SBFitsExt.IMAGETYP_LIGHT_FRAME; /** * Same as {@link SBFitsExt#IMAGETYP_BIAS_FRAME}. * * @since 1.20.1 */ public static final String IMAGETYP_BIAS_FRAME = SBFitsExt.IMAGETYP_BIAS_FRAME; /** * Same as {@link SBFitsExt#IMAGETYP_DARK_FRAME}. * * @since 1.20.1 */ public static final String IMAGETYP_DARK_FRAME = SBFitsExt.IMAGETYP_DARK_FRAME; /** * Same as {@link SBFitsExt#IMAGETYP_FLAT_FRAME}. * * @since 1.20.1 */ public static final String IMAGETYP_FLAT_FRAME = SBFitsExt.IMAGETYP_FLAT_FRAME; /** * Standard {@link #IMAGETYP} value for a tricolor image. * * @since 1.20.1 */ public static final String IMAGETYP_TRICOLOR_IMAGE = "Tricolor Image"; /** * Standard {@link #PIERSIDE} value for East side of mount. * * @since 1.20.1 */ public static final String PIERSIDE_EAST = "East"; /** * Standard {@link #PIERSIDE} value for West side of mount. * * @since 1.20.1 */ public static final String PIERSIDE_WEST = "West"; /** * Standard {@link #READOUTM} value for raw readout mode. * * @since 1.20.1 */ public static final String READOUTM_RAW = "Raw"; /** * Standard {@link #READOUTM} value for long exposure mode. * * @since 1.20.1 */ public static final String READOUTM_LONG_EXPOSURE_MODE = "Long Exposure Mode"; private final FitsKey key; MaxImDLExt(IFitsHeader key) { this.key = key.impl(); } MaxImDLExt(String key, VALUE valueType, String comment) { this.key = new FitsKey(key == null ? name() : key, IFitsHeader.SOURCE.MaxImDL, HDU.IMAGE, valueType, comment); } MaxImDLExt(VALUE valueType, String comment) { this(null, valueType, comment); } @Override public final FitsKey impl() { return key; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy