View Javadoc
1   package nom.tam.fits.header.extra;
2   
3   /*
4    * #%L
5    * nom.tam FITS library
6    * %%
7    * Copyright (C) 1996 - 2024 nom-tam-fits
8    * %%
9    * This is free and unencumbered software released into the public domain.
10   *
11   * Anyone is free to copy, modify, publish, use, compile, sell, or
12   * distribute this software, either in source code form or as a compiled
13   * binary, for any purpose, commercial or non-commercial, and by any
14   * means.
15   *
16   * In jurisdictions that recognize copyright laws, the author or authors
17   * of this software dedicate any and all copyright interest in the
18   * software to the public domain. We make this dedication for the benefit
19   * of the public at large and to the detriment of our heirs and
20   * successors. We intend this dedication to be an overt act of
21   * relinquishment in perpetuity of all present and future rights to this
22   * software under copyright law.
23   *
24   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25   * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
27   * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
28   * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
29   * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
30   * OTHER DEALINGS IN THE SOFTWARE.
31   * #L%
32   */
33  
34  import nom.tam.fits.header.FitsKey;
35  import nom.tam.fits.header.IFitsHeader;
36  
37  /**
38   * The Fits extension as defined by Maxim DL.Extension keywords that may be added or read by MaxIm DL, depending on the
39   * current equipment and software configuration.
40   * <p>
41   * This standard extends the @see {@link SBFitsExt} all that fields are included.
42   * </p>
43   *
44   * <pre>
45   * http://www.cyanogen.com/help/maximdl/FITS_File_Header_Definitions.htm
46   * </pre>
47   *
48   * @author Richard van Nieuwenhoven
49   */
50  public enum MaxImDLExt implements IFitsHeader {
51      /**
52       * if present the image has a valid Bayer color pattern.
53       */
54      BAYERPAT(VALUE.REAL, "image Bayer color pattern"),
55      /**
56       * Boltwood Cloud Sensor ambient temperature in degrees C.
57       */
58      BOLTAMBT(VALUE.REAL, "ambient temperature in degrees C"),
59      /**
60       * Boltwood Cloud Sensor cloud condition.
61       */
62      BOLTCLOU(VALUE.REAL, "Boltwood Cloud Sensor cloud condition."),
63  
64      /**
65       * Boltwood Cloud Sensor daylight level.
66       */
67      BOLTDAY(VALUE.REAL, "Boltwood Cloud Sensor daylight level."),
68      /**
69       * Boltwood Cloud Sensor dewpoint in degrees C.
70       */
71      BOLTDEW(VALUE.REAL, "Boltwood Cloud Sensor dewpoint in degrees C."),
72      /**
73       * Boltwood Cloud Sensor humidity in percent.
74       */
75      BOLTHUM(VALUE.REAL, "Boltwood Cloud Sensor humidity in percent."),
76      /**
77       * Boltwood Cloud Sensor rain condition.
78       */
79      BOLTRAIN(VALUE.REAL, "Boltwood Cloud Sensor rain condition."),
80      /**
81       * Boltwood Cloud Sensor sky minus ambient temperature in degrees C.
82       */
83      BOLTSKYT(VALUE.REAL, "Boltwood Cloud Sensor sky minus ambient temperature in degrees C."),
84      /**
85       * Boltwood Cloud Sensor wind speed in km/h.
86       */
87      BOLTWIND(VALUE.REAL, "Boltwood Cloud Sensor wind speed in km/h."),
88      /**
89       * indicates calibration state of the image; B indicates bias corrected, D indicates dark corrected, F indicates
90       * flat corrected.
91       */
92      CALSTAT(VALUE.REAL, "calibration state of the image"),
93      /**
94       * type of color sensor Bayer array or zero for monochrome.
95       */
96      COLORTYP(VALUE.REAL, "type of color sensor"),
97      /**
98       * initial display screen stretch mode.
99       */
100     CSTRETCH(VALUE.REAL, "initial display screen stretch mode"),
101     /**
102      * dark current integration time, if recorded. May be longer than exposure time.
103      */
104     DARKTIME(VALUE.REAL, "dark current integration time"),
105     /**
106      * Davis Instruments Weather Station ambient temperature in deg C
107      */
108     DAVAMBT(VALUE.REAL, "ambient temperature"),
109     /**
110      * Davis Instruments Weather Station barometric pressure in hPa
111      */
112     DAVBAROM(VALUE.REAL, "barometric pressure"),
113     /**
114      * Davis Instruments Weather Station dewpoint in deg C
115      */
116     DAVDEW(VALUE.REAL, "dewpoint in deg C"),
117     /**
118      * Davis Instruments Weather Station humidity in percent
119      */
120     DAVHUM(VALUE.REAL, "humidity in percent"),
121     /**
122      * Davis Instruments Weather Station solar radiation in W/m^2
123      */
124     DAVRAD(VALUE.REAL, "solar radiation"),
125     /**
126      * Davis Instruments Weather Station accumulated rainfall in mm/day
127      */
128     DAVRAIN(VALUE.REAL, "accumulated rainfall"),
129     /**
130      * Davis Instruments Weather Station wind speed in km/h
131      */
132     DAVWIND(VALUE.REAL, "wind speed"),
133     /**
134      * Davis Instruments Weather Station wind direction in deg
135      */
136     DAVWINDD(VALUE.REAL, "wind direction"),
137     /**
138      * status of pier flip for German Equatorial mounts.
139      */
140     FLIPSTAT(VALUE.REAL, "status of pier flip"),
141     /**
142      * Focuser position in steps, if focuser is connected.
143      */
144     FOCUSPOS(VALUE.REAL, "Focuser position in steps"),
145     /**
146      * Focuser step size in microns, if available.
147      */
148     FOCUSSZ(VALUE.REAL, "Focuser step size in microns"),
149     /**
150      * Focuser temperature readout in degrees C, if available.
151      */
152     FOCUSTEM(VALUE.REAL, "Focuser temperature readout"),
153     /**
154      * format of file from which image was read.
155      */
156     INPUTFMT(VALUE.REAL, "format of file"),
157     /**
158      * ISO camera setting, if camera uses ISO speeds.
159      */
160     ISOSPEED(VALUE.REAL, "ISO camera setting"),
161     /**
162      * records the geocentric Julian Day of the start of exposure.
163      */
164     JD(VALUE.REAL, "geocentric Julian Day"),
165     /**
166      * records the geocentric Julian Day of the start of exposure.
167      */
168     JD_GEO(VALUE.REAL, "geocentric Julian Da"),
169     /**
170      * records the Heliocentric Julian Date at the exposure midpoint.
171      */
172     JD_HELIO(VALUE.REAL, "Heliocentric Julian Date"),
173     /**
174      * records the Heliocentric Julian Date at the exposure midpoint.
175      */
176     JD_HELIO2("JD-HELIO", VALUE.REAL, "Heliocentric Julian Date"),
177     /**
178      * UT of midpoint of exposure.
179      */
180     MIDPOINT(VALUE.REAL, "midpoint of exposure"),
181     /**
182      * user-entered information; free-form notes.
183      */
184     NOTES(VALUE.REAL, "free-form note"),
185     /**
186      * nominal altitude of center of image
187      */
188     OBJCTALT(VALUE.REAL, "altitude of center of image"),
189     /**
190      * nominal azimuth of center of image
191      */
192     OBJCTAZ(VALUE.REAL, "nominal azimuth of center of image"),
193     /**
194      * nominal hour angle of center of image
195      */
196     OBJCTHA(VALUE.REAL, "nominal hour angle of center of image"),
197     /**
198      * indicates side-of-pier status when connected to a German Equatorial mount.
199      */
200     PIERSIDE(VALUE.REAL, "side-of-pier status"),
201     /**
202      * records the selected Readout Mode (if any) for the camera.
203      */
204     READOUTM(VALUE.REAL, "Readout Mode for the camera"),
205     /**
206      * Rotator angle in degrees, if focal plane rotator is connected.
207      */
208     ROTATANG(VALUE.REAL, "Rotator angle in degrees"),
209     /**
210      * indicates tile position within a mosaic.
211      */
212     TILEXY(VALUE.REAL, "tile position within a mosaic"),
213     /**
214      * X offset of Bayer array on imaging sensor.
215      */
216     XBAYROFF(VALUE.REAL, "X offset of Bayer array"),
217     /**
218      * Y offset of Bayer array on imaging sensor.
219      */
220     YBAYROFF(VALUE.REAL, "Y offset of Bayer array");
221 
222     private final FitsKey key;
223 
224     MaxImDLExt(String key, VALUE valueType, String comment) {
225         this.key = new FitsKey(key == null ? name() : key, IFitsHeader.SOURCE.MaxImDL, HDU.IMAGE, valueType,
226                 comment);
227     }
228 
229     MaxImDLExt(VALUE valueType, String comment) {
230         this(null, valueType, comment);
231     }
232 
233     @Override
234     public final FitsKey impl() {
235         return key;
236     }
237 
238 }