OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
OutFile.h
Go to the documentation of this file.
1 #ifndef OutFile_h
2 #define OutFile_h
3 
4 #include <stdio.h>
5 #include <stdint.h>
6 
7 #include <png.h>
8 #include <xtiffio.h>
9 #include <geotiffio.h>
10 #include <netcdf>
11 
12 #include <meta_l3b.h>
13 #include <productInfo.h>
14 #include <vector>
15 #include <string>
16 #include <clo.h>
17 
18 //earth radius in meters from WGS84 equatorial radius
19 #define EARTH_RADIUS 6378137.0
20 // #define EARTH_CIRCUMFERENCE 40075016.6856
21 
22 // Metadata standard strings
23 #define INSTITUTION "NASA Goddard Space Flight Center, Ocean Ecology Laboratory, Ocean Biology Processing Group"
24 #define LICENSE "https://science.nasa.gov/earth-science/earth-science-data/data-information-policy/"
25 #define NAMING_AUTHORITY "gov.nasa.gsfc.sci.oceandata"
26 #define KEYWORDS_VOCABULARY "NASA Global Change Master Directory (GCMD) Science Keywords"
27 #define KEYWORDS_OC "Oceans > Ocean Chemistry > Chlorophyll; Oceans > Ocean Optics > Ocean Color"
28 #define KEYWORDS_IOP "Oceans > Ocean Optics > Ocean Color"
29 #define KEYWORDS_SST "Oceans > Ocean Temperature > Sea Surface Temperature"
30 #define STDNAME_VOCABULARY "CF Standard Name Table v36"
31 #define CREATOR_NAME "NASA/GSFC/OBPG"
32 #define CREATOR_EMAIL "data@oceancolor.gsfc.nasa.gov"
33 #define CREATOR_URL "https://oceandata.sci.gsfc.nasa.gov"
34 #define PROJECT "Ocean Biology Processing Group (NASA/GSFC/OBPG)"
35 #define PUBLISHER_NAME "NASA/GSFC/OBPG"
36 #define PUBLISHER_EMAIL "data@oceancolor.gsfc.nasa.gov"
37 #define PUBLISHER_URL "https://oceandata.sci.gsfc.nasa.gov"
38 #define DOIAUTHORITY "https://dx.doi.org"
39 
41 
42 //---------------------------------------------------
43 
44 class OutFile {
45 public:
46 
47  enum ColorType {
49  };
50 
51  enum ScaleType {
53  };
54 
55  enum DataStorage {
57  };
58 
59  enum PixValues {
60  landPix = 254, fillPix = 255
61  }; //< special output pixel values
62 
63  enum LatLonType {
65  }; //< special output pixel values
66 
67  class ProductStuff {
68  public:
69 
70  int32_t width;
71  productInfo_t* productInfo;
72  DataStorage dataStorage; //< data type for the file storage
73  ScaleType scaleType; //< display Linear, Log, ATan scaling
74  double scale; //< display slope for scaling. If log it is actually log10(slope)
75  double offset; //< display offset for scaling.
76  double minOutputVal; //< display min output value
77  double maxOutputVal; //< display max output value
78  double minVal; //< display min physical value
79  double maxVal; //< display max physical value
80  double missingValue; //< missing value from product XML (val stored in file)
81  double* lineData;
82 
83  ProductStuff(int32_t width, const productInfo_t* productInfo);
84  ProductStuff(const OutFile::ProductStuff& pStuff);
85  ~ProductStuff();
86 
87  int32_t getWidth() {
88  return width;
89  }
90  void setScale(double min, double max, ScaleType scaleType);
91  void setScale(double min, double max, ScaleType scaleType,
92  double minOutput, double maxOutput);
93  void setScaleOffset(double scale, double offset, ScaleType scaleType);
94  void setScaleOffset(double scale, double offset, ScaleType scaleType,
95  double minOutput, double maxOutput);
96  double calcOutputVal(double val) const;
97  double calcPhysicalVal(double val) const;
98  void calcOutputLineVals(void* lineBuffer) const;
99  };
100 
101 protected:
102 
103  static constexpr uint8_t qualityUnused = 255;
104  static constexpr double badPixelValue = -32767.0;
105  static constexpr double landPixelValue = -32766.0;
106 
108  int32_t width;
109  int32_t height;
112  uint8_t* qualityData;
113  uint32_t currentLine; //< current line number (0 based)
114 
116 
117  double fileMinVal; //< current min value of data written to file
118  double fileMaxVal; //< current max value of data written to file
119  double resolution; //< geospatial resolution of a pixel in the center of the scene (meters)
120  int deflate; //< compression setting for netCDF files
121 
122  LatLonType fullLatLon; //< should we write full-resolution lat/lon arrays
123  double* latData; //< pointer to row of latitude data
124  double* lonData; //< pointer to row of longitude data
125 
126  uint8_t* red;
127  uint8_t* green;
128  uint8_t* blue;
129  uint8_t* rgb_land;
131 
134 
136  double tiepoints[6];
137  double pixscale[3];
138 
139  std::vector<ProductStuff*> productStuff;
140 
141  OutFile();
142  virtual int addProductNonDisplay(productInfo_t* productInfo);
143 
144 public:
145  virtual ~OutFile();
146 
147  virtual void setSize(int32_t width, int32_t height);
148  virtual int32_t getWidth() const;
149  virtual int32_t getHeight() const;
150  virtual void setFileName(std::string fileName);
151 
153  return fileName;
154  }
155 
162  virtual bool open() = 0;
163  virtual bool close() = 0;
164 
165  virtual double getMinValue(int32_t prod = 0) {
166  return productStuff[prod]->minVal;
167  }
168  virtual double getMaxValue(int32_t prod = 0) {
169  return productStuff[prod]->maxVal;
170  }
171  virtual std::string getScaleTypeString(int32_t prod = 0);
172 
173  virtual void setPixel(int32_t x, double val, int32_t prod = 0);
174  virtual void setPixelRGB(int32_t x, float red, float green, float blue);
175  virtual void setTransparency();
176  virtual void setQuality(int32_t x, uint8_t val);
177  virtual void landPixel(int32_t x);
178  virtual void fillPixel(int32_t x);
179  virtual void missingPixel(int32_t x);
180  virtual void setLatLon(double* lat, double* lon);
181  virtual void writeLine() = 0;
182  virtual bool setPalette(const char* paletteName, bool applyMask);
183  virtual void setLandRGB(const char* rgb_land_string);
184  virtual void setMetaData(meta_l3bType* metaData);
185 
187  return metaData;
188  }
189  virtual int32_t addProduct(productInfo_t* productInfo);
190 
191  virtual int32_t getNumProducts() {
192  return productStuff.size();
193  }
194  virtual void setMapProjection(std::string projection);
195  virtual void setNumFilledPixels(int32_t num);
196  virtual int32_t getNumFilledPixels();
197  virtual float getPercentFilledPixels();
198  virtual void resetFileMinMax();
199 
200  virtual double getFileMinVal() {
201  return fileMinVal;
202  }
203 
204  virtual double getFileMaxVal() {
205  return fileMaxVal;
206  }
207  virtual void setResolution(std::string resolutionStr);
208 
209  virtual void setResolution(double resolution) {
210  this->resolution = resolution;
211  }
212 
213  virtual double getResolution() {
214  return resolution;
215  }
216 
219  }
220 
222  return qualityName;
223  }
224  virtual void setQualityProcessing(bool val);
225  virtual bool getQualityProcessing();
226 
227  virtual void setDeflate(int val) {
228  deflate = val;
229  }
230  virtual int getDeflate() {
231  return deflate;
232  }
233  void setFullLatLon(bool val) {
234  if(val)
236  else
238  }
239 
240  void setProj4Info(std::string projStr, double minX, double maxY);
241 
242 };
243 
244 //---------------------------------------------------
245 
246 class OutFile_pgm : public OutFile {
247 protected:
248  FILE *outfp;
249  uint8_t* fileData;
250 
251 public:
252  OutFile_pgm();
253  virtual ~OutFile_pgm();
254  virtual void setSize(int32_t width, int32_t height);
255  virtual bool open();
256  virtual bool close();
257  virtual void writeLine();
258 };
259 
260 //---------------------------------------------------
261 
262 class OutFile_ppm : public OutFile_pgm {
263 public:
264  virtual void setSize(int32_t width, int32_t height);
265  virtual bool open();
266  virtual void writeLine();
267 };
268 
269 //---------------------------------------------------
270 
271 class OutFile_ppm_rgb : public OutFile {
272  FILE *outfp;
273  uint8_t* fileData;
274 
275 public:
276  OutFile_ppm_rgb();
277  virtual ~OutFile_ppm_rgb();
278  virtual void setSize(int32_t width, int32_t height);
279  virtual bool open();
280  virtual bool close();
281  virtual void setPixel(int32_t x, double val, int32_t prod = 0);
282  virtual void setPixelRGB(int32_t x, float red, float green, float blue);
283  virtual void landPixel(int32_t x);
284  virtual void fillPixel(int32_t x);
285  virtual void missingPixel(int32_t x);
286  virtual void writeLine();
287 };
288 
289 //---------------------------------------------------
290 
291 class OutFile_png : public OutFile {
292  FILE *outfp;
293  uint8_t* fileData;
294  bool isColor;
295  png_structp png_ptr;
296  png_infop info_ptr;
297  uint num_text;
298 
299 public:
300  OutFile_png(bool color);
301  virtual ~OutFile_png();
302  virtual void setSize(int32_t width, int32_t height);
303  virtual bool open();
304  virtual bool close();
305  virtual void writeLine();
306 };
307 
308 //---------------------------------------------------
309 
310 class OutFile_png_rgb : public OutFile {
311  FILE *outfp;
312  uint8_t* fileData;
313  png_structp png_ptr;
314  png_infop info_ptr;
315  uint num_text;
316 
317 public:
318  OutFile_png_rgb();
319  virtual ~OutFile_png_rgb();
320  virtual void setSize(int32_t width, int32_t height);
321  virtual bool open();
322  virtual bool close();
323  virtual void setPixel(int32_t x, double val, int32_t prod = 0);
324  virtual void setPixelRGB(int32_t x, float red, float green, float blue);
325  virtual void landPixel(int32_t x);
326  virtual void fillPixel(int32_t x);
327  virtual void missingPixel(int32_t x);
328  virtual void writeLine();
329 };
330 
331 //---------------------------------------------------
332 
333 class OutFile_tiff: public OutFile {
334 protected:
335  TIFF *tiff = NULL;
336  GTIF *gtif = NULL;
337 public:
338  virtual ~OutFile_tiff();
339  virtual bool open();
340  virtual bool close();
341  virtual void setTiffColor() = 0;
342 };
343 
345  uint8_t* fileData = NULL;
346 public:
347  virtual ~OutFile_tiff_color();
348  virtual void setSize(int32_t width, int32_t height);
349  virtual void writeLine();
350  virtual void setTiffColor();
351 };
352 
354  float* fileData = NULL;
355 public:
356  virtual ~OutFile_tiff_gray();
357  virtual void setSize(int32_t width, int32_t height);
358  virtual void writeLine();
359  virtual void setTiffColor();
360 };
361 
363  uint8_t* fileData = NULL;
364 public:
365  virtual ~OutFile_tiff_rgb();
366  virtual void setSize(int32_t width, int32_t height);
367  virtual void writeLine();
368  virtual void setTiffColor();
369  virtual void setPixel(int32_t x, double val, int32_t prod = 0);
370  virtual void setPixelRGB(int32_t x, float red, float green, float blue);
371  virtual void landPixel(int32_t x);
372  virtual void fillPixel(int32_t x);
373  virtual void missingPixel(int32_t x);
374 };
375 
376 //---------------------------------------------------
377 
378 class OutFile_hdf4 : public OutFile {
379  void* fileData;
380  int32_t sdfid;
381  int32_t sdsid;
382  int32_t quality_sdsid;
383  int32_t hdfDataType;
384 
385 public:
386  OutFile_hdf4();
387  virtual ~OutFile_hdf4();
388  virtual void setSize(int32_t width, int32_t height);
389  virtual bool open();
390  virtual bool close();
391  virtual void writeLine();
392  virtual int addProduct(productInfo_t* productInfo);
393 };
394 
395 //---------------------------------------------------
396 
397 class OutFile_netcdf4 : public OutFile {
398  void* fileData;
399  netCDF::NcFile* ncFile;
400  std::vector<netCDF::NcVar> prodVars;
401  netCDF::NcVar qualVar;
402  netCDF::NcVar latVar, lonVar;
403 
404 public:
405  OutFile_netcdf4();
406  virtual ~OutFile_netcdf4();
407  virtual void setSize(int32_t width, int32_t height);
408  virtual bool open();
409  virtual bool close();
410  virtual void writeLine();
411  virtual int addProduct(productInfo_t* productInfo);
412 
413 private:
414  virtual void initCompression(netCDF::NcVar var);
415  virtual netCDF::NcVar createProduct(productInfo_t* productInfo,
416  const netCDF::NcType& ncType,
417  const std::vector<netCDF::NcDim> ncDim);
418  virtual netCDF::NcType getDataType(DataStorage dataStorage);
419 };
420 
421 #endif
virtual void fillPixel(int32_t x)
Definition: OutFile.cpp:814
virtual void setMetaData(meta_l3bType *metaData)
Definition: OutFile.cpp:477
virtual void writeLine()
Definition: OutFile.cpp:1483
virtual bool open()
Definition: OutFile.cpp:1667
virtual void setPixel(int32_t x, double val, int32_t prod=0)
Definition: OutFile.cpp:345
virtual bool close()
Definition: OutFile.cpp:1087
virtual int addProductNonDisplay(productInfo_t *productInfo)
Definition: OutFile.cpp:508
virtual void writeLine()=0
virtual bool open()
Definition: OutFile.cpp:658
std::string qualityName
Definition: OutFile.h:111
void setScaleOffset(double scale, double offset, ScaleType scaleType)
Definition: OutFile.cpp:118
virtual bool open()
Definition: OutFile.cpp:749
virtual void writeLine()
Definition: OutFile.cpp:1361
virtual void landPixel(int32_t x)
Definition: OutFile.cpp:383
virtual void setPixelRGB(int32_t x, float red, float green, float blue)
Definition: OutFile.cpp:359
virtual int32_t getHeight() const
Definition: OutFile.cpp:337
These are used to scale the SD before writing it to the HDF4 file The default is and which means the product is not scaled at all Since the product is usually stored as a float inside of this is a way to write the float out as a integer l2prod min
FILE * outfp
Definition: OutFile.h:248
static constexpr uint8_t qualityUnused
Definition: OutFile.h:103
void calcOutputLineVals(void *lineBuffer) const
Definition: OutFile.cpp:210
virtual void writeLine()
Definition: OutFile.cpp:844
virtual int addProduct(productInfo_t *productInfo)
Definition: OutFile.cpp:1988
virtual void writeLine()
Definition: OutFile.cpp:711
virtual void resetFileMinMax()
Definition: OutFile.cpp:596
virtual void missingPixel(int32_t x)
Definition: OutFile.cpp:409
#define NULL
Definition: decode_rs.h:63
double * latData
Definition: OutFile.h:123
string qualName
Definition: l3mapgen.cpp:58
@ ArcTan
Definition: OutFile.h:52
std::string fileName
Definition: OutFile.h:107
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:2011
@ ByteDS
Definition: OutFile.h:56
@ ColorIndex
Definition: OutFile.h:48
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:741
@ LatLonOff
Definition: OutFile.h:64
virtual void writeLine()
Definition: OutFile.cpp:671
double * lonData
Definition: OutFile.h:124
virtual void writeLine()
Definition: OutFile.cpp:969
virtual void setResolution(double resolution)
Definition: OutFile.h:209
virtual ~OutFile_tiff_rgb()
Definition: OutFile.cpp:1465
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:1347
std::string mapProjection
Definition: OutFile.h:133
ScaleType
Definition: OutFile.h:51
float * lat
virtual bool getQualityProcessing()
Definition: OutFile.cpp:627
std::vector< ProductStuff * > productStuff
Definition: OutFile.h:139
int32_t getWidth()
Definition: OutFile.h:87
double calcOutputVal(double val) const
Definition: OutFile.cpp:138
virtual std::string getScaleTypeString(int32_t prod=0)
Definition: OutFile.cpp:309
@ IntDS
Definition: OutFile.h:56
int deflate
Definition: OutFile.h:120
virtual void writeLine()
Definition: OutFile.cpp:2333
ScaleType scaleType
Definition: OutFile.h:73
@ FloatDS
Definition: OutFile.h:56
void setFullLatLon(bool val)
Definition: OutFile.h:233
ColorType
Definition: OutFile.h:47
virtual void landPixel(int32_t x)
Definition: OutFile.cpp:799
double fileMaxVal
Definition: OutFile.h:118
double calcPhysicalVal(double val) const
Definition: OutFile.cpp:177
bool applyMask
Definition: l3mapgen.cpp:63
virtual bool close()
Definition: OutFile.cpp:679
@ string
virtual void fillPixel(int32_t x)
Definition: OutFile.cpp:396
TIFF * tiff
Definition: OutFile.h:335
uint8_t * qualityData
Definition: OutFile.h:112
virtual void landPixel(int32_t x)
Definition: OutFile.cpp:1569
virtual ~OutFile_hdf4()
Definition: OutFile.cpp:1655
virtual void fillPixel(int32_t x)
Definition: OutFile.cpp:1166
virtual void setMapProjection(std::string projection)
Definition: OutFile.cpp:558
virtual double getResolution()
Definition: OutFile.h:213
PixValues
Definition: OutFile.h:59
virtual double getMaxValue(int32_t prod=0)
Definition: OutFile.h:168
int32_t height
Definition: OutFile.h:109
uint8_t * fileData
Definition: OutFile.h:249
uint8_t * blue
Definition: OutFile.h:128
virtual int32_t getNumProducts()
Definition: OutFile.h:191
double fileMinVal
Definition: OutFile.h:117
virtual void setLandRGB(const char *rgb_land_string)
Definition: OutFile.cpp:468
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:318
virtual void setPixel(int32_t x, double val, int32_t prod=0)
Definition: OutFile.cpp:769
LatLonType
Definition: OutFile.h:63
uint8_t * rgb_land
Definition: OutFile.h:129
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:689
double * lineData
Definition: OutFile.h:81
virtual void setQualityName(std::string qualName)
Definition: OutFile.h:217
virtual ~OutFile_ppm_rgb()
Definition: OutFile.cpp:734
int32_t samplesperpixel
Definition: OutFile.h:110
virtual void setTiffColor()=0
GTIF * gtif
Definition: OutFile.h:336
double resolution
Definition: OutFile.h:119
virtual void setDeflate(int val)
Definition: OutFile.h:227
virtual ~OutFile_tiff_gray()
Definition: OutFile.cpp:1432
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:1660
virtual bool open()
Definition: OutFile.cpp:2019
void setScale(double min, double max, ScaleType scaleType)
Definition: OutFile.cpp:78
DataStorage
Definition: OutFile.h:55
virtual void setResolution(std::string resolutionStr)
virtual bool setPalette(const char *paletteName, bool applyMask)
Definition: OutFile.cpp:432
virtual meta_l3bType * getMetadata()
Definition: OutFile.h:186
ColorType colorType
Definition: OutFile.h:115
virtual void missingPixel(int32_t x)
Definition: OutFile.cpp:1188
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:870
static constexpr double badPixelValue
Definition: OutFile.h:104
virtual int addProduct(productInfo_t *productInfo)
Definition: OutFile.cpp:2390
@ LatLon1D
Definition: OutFile.h:64
virtual float getPercentFilledPixels()
Definition: OutFile.cpp:588
virtual void fillPixel(int32_t x)
Definition: OutFile.cpp:1594
virtual double getFileMinVal()
Definition: OutFile.h:200
virtual void missingPixel(int32_t x)
Definition: OutFile.cpp:829
@ Grayscale
Definition: OutFile.h:48
std::string getQualityName()
Definition: OutFile.h:221
virtual ~OutFile_png()
Definition: OutFile.cpp:863
std::string proj4String
Definition: OutFile.h:135
virtual int32_t getNumFilledPixels()
Definition: OutFile.cpp:581
@ DoubleDS
Definition: OutFile.h:56
virtual void writeLine()
Definition: OutFile.cpp:1445
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:1437
virtual ~OutFile_tiff()
Definition: OutFile.cpp:1226
double tiepoints[6]
Definition: OutFile.h:136
virtual void writeLine()
Definition: OutFile.cpp:1210
virtual void setPixelRGB(int32_t x, float red, float green, float blue)
Definition: OutFile.cpp:1533
virtual bool close()
Definition: OutFile.cpp:763
@ landPix
Definition: OutFile.h:60
virtual void setTiffColor()
Definition: OutFile.cpp:1396
virtual void missingPixel(int32_t x)
Definition: OutFile.cpp:1618
virtual ~OutFile_tiff_color()
Definition: OutFile.cpp:1342
LatLonType fullLatLon
Definition: OutFile.h:122
virtual void setQuality(int32_t x, uint8_t val)
Definition: OutFile.cpp:369
virtual bool open()
Definition: OutFile.cpp:1017
virtual bool open()
Definition: OutFile.cpp:1230
virtual bool open()
Definition: OutFile.cpp:877
virtual double getMinValue(int32_t prod=0)
Definition: OutFile.h:165
@ ShortDS
Definition: OutFile.h:56
virtual bool close()
Definition: OutFile.cpp:2363
@ Linear
Definition: OutFile.h:52
virtual ~OutFile_png_rgb()
Definition: OutFile.cpp:999
static constexpr double landPixelValue
Definition: OutFile.h:105
double pixscale[3]
Definition: OutFile.h:137
virtual ~OutFile_pgm()
Definition: OutFile.cpp:644
virtual void setTransparency()
Definition: OutFile.cpp:365
virtual void setTiffColor()
Definition: OutFile.cpp:1456
uint8_t * green
Definition: OutFile.h:127
virtual void setLatLon(double *lat, double *lon)
Definition: OutFile.cpp:422
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:1470
OutFile_png(bool color)
Definition: OutFile.cpp:853
virtual void setPixel(int32_t x, double val, int32_t prod=0)
Definition: OutFile.cpp:1101
DataStorage dataStorage
Definition: OutFile.h:72
virtual bool close()
Definition: OutFile.cpp:1933
virtual void setPixelRGB(int32_t x, float red, float green, float blue)
Definition: OutFile.cpp:1107
virtual void setQualityProcessing(bool val)
Definition: OutFile.cpp:605
@ fillPix
Definition: OutFile.h:60
ProductStuff(int32_t width, const productInfo_t *productInfo)
Definition: OutFile.cpp:32
virtual ~OutFile_netcdf4()
Definition: OutFile.cpp:2004
@ RGB
Definition: OutFile.h:48
virtual int32_t getWidth() const
Definition: OutFile.cpp:333
virtual void setPixelRGB(int32_t x, float red, float green, float blue)
Definition: OutFile.cpp:775
void setProj4Info(std::string projStr, double minX, double maxY)
Definition: OutFile.cpp:562
float * lon
virtual void setTiffColor()
Definition: OutFile.cpp:1491
bool transparent
Definition: OutFile.h:130
@ UByteDS
Definition: OutFile.h:56
virtual void landPixel(int32_t x)
Definition: OutFile.cpp:1142
virtual void setPixel(int32_t x, double val, int32_t prod=0)
Definition: OutFile.cpp:1502
virtual bool open()
Definition: OutFile.cpp:696
virtual ~OutFile()
Definition: OutFile.cpp:295
meta_l3bType * metaData
Definition: OutFile.h:132
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:1006
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:651
@ UShortDS
Definition: OutFile.h:56
virtual int getDeflate()
Definition: OutFile.h:230
uint32_t currentLine
Definition: OutFile.h:113
@ LatLon2D
Definition: OutFile.h:64
int32_t width
Definition: OutFile.h:108
virtual bool close()
Definition: OutFile.cpp:1330
virtual bool close()
Definition: OutFile.cpp:977
OutFile()
Definition: OutFile.cpp:255
virtual void setFileName(std::string fileName)
Definition: OutFile.cpp:341
msiBandIdx val
Definition: l1c_msi.cpp:34
virtual void setNumFilledPixels(int32_t num)
Definition: OutFile.cpp:575
uint8_t * red
Definition: OutFile.h:126
virtual double getFileMaxVal()
Definition: OutFile.h:204
@ Log
Definition: OutFile.h:52
virtual bool close()=0
clo_optionList_t * optionList
Definition: l2qc_viirs.cpp:39
productInfo_t * productInfo
Definition: OutFile.h:71
virtual std::string getFileName()
Definition: OutFile.h:152
l2prod max
@ UIntDS
Definition: OutFile.h:56
virtual bool open()=0
virtual int32_t addProduct(productInfo_t *productInfo)
Definition: OutFile.cpp:486
virtual void writeLine()
Definition: OutFile.cpp:1905