52 #ifndef __PCL_IntegrationMetadata_h
53 #define __PCL_IntegrationMetadata_h
132 T& operator =(
const T& value )
135 m_defined = m_consistent =
true;
160 if ( other.m_defined )
164 if ( m_value != other.m_value )
165 m_consistent =
false;
169 m_value = other.m_value;
176 m_consistent =
false;
204 if ( other.m_defined )
207 m_value += other.m_value;
210 m_value = other.m_value;
217 m_consistent =
false;
241 m_value += otherValue;
244 m_value = otherValue;
257 const T& operator ()()
const
296 if ( !what.IsEmpty() )
297 Console().
WarningLn(
"<end><cbr>** Warning: Inconsistent " + what +
" value(s) - metadata not generated." );
315 m_consistent =
false;
340 bool m_defined =
false;
341 bool m_consistent =
true;
346 #define __PCL_INTEGRATION_METADATA_VERSION "1.2"
353 class IntegrationMetadata
357 String version = __PCL_INTEGRATION_METADATA_VERSION;
358 ConsistentlyDefined<String> author;
359 ConsistentlyDefined<String> observer;
360 ConsistentlyDefined<String> instrumentName;
361 ConsistentlyDefined<String> frameType;
362 ConsistentlyDefined<String> filterName;
363 ConsistentlyDefined<IsoString> cfaPatternName;
364 ConsistentlyDefined<IsoString> cfaPattern;
365 ConsistentlyDefined<int> cfaXOffset;
366 ConsistentlyDefined<int> cfaYOffset;
367 ConsistentlyDefined<double> pedestal;
368 ConsistentlyDefined<double> expTime;
369 ConsistentlyDefined<double> sensorTemp;
370 ConsistentlyDefined<double> xPixSize;
371 ConsistentlyDefined<double> yPixSize;
372 ConsistentlyDefined<double> cameraGain;
373 ConsistentlyDefined<unsigned> cameraISO;
374 ConsistentlyDefined<unsigned> xBinning;
375 ConsistentlyDefined<unsigned> yBinning;
376 ConsistentlyDefined<unsigned> xOrigin;
377 ConsistentlyDefined<unsigned> yOrigin;
378 ConsistentlyDefined<String> telescopeName;
379 ConsistentlyDefined<double> focalLength;
380 ConsistentlyDefined<double> aperture;
381 ConsistentlyDefined<double> apertureArea;
382 ConsistentlyDefined<String> objectName;
383 ConsistentlyDefined<TimePoint> startTime;
384 ConsistentlyDefined<TimePoint> endTime;
385 ConsistentlyDefined<double> ra;
386 ConsistentlyDefined<double> dec;
387 ConsistentlyDefined<IsoString> celCrdSys;
388 ConsistentlyDefined<double> equinox;
389 ConsistentlyDefined<double> longObs;
390 ConsistentlyDefined<double> latObs;
391 ConsistentlyDefined<double> altObs;
393 IntegrationMetadata() =
default;
394 IntegrationMetadata(
const IntegrationMetadata& ) =
default;
397 IntegrationMetadata(
const String& serialization );
399 String Serialize()
const;
408 static IntegrationMetadata Summary(
const Array<IntegrationMetadata>& );
412 bool m_valid =
false;
An object that can be in consistently defined or undefined/inconsistent states.
bool IsConsistent() const
ConsistentlyDefined(const T &value)
ConsistentlyDefined(const ConsistentlyDefined &)=default
void ForceValue(const T &value)
bool IsConsistentlyDefined(const String &what=String()) const
A high-level interface to a PixInsight processing console.
void WarningLn(const String &s)
Dynamic array of FITS header keywords.
Dynamic array of Property objects.