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 #include <unordered_map>
12 #include <meta_l3b.h>
13 #include <productInfo.h>
14 #include <vector>
15 #include <string>
16 #include <clo.h>
17 #include <genutils.h>
18 
19 //earth radius in meters from WGS84 equatorial radius
20 #define EARTH_RADIUS 6378137.0
21 // #define EARTH_CIRCUMFERENCE 40075016.6856
22 
23 // Metadata standard strings
24 #define INSTITUTION "NASA Goddard Space Flight Center, Ocean Ecology Laboratory, Ocean Biology Processing Group"
25 #define LICENSE "https://science.nasa.gov/earth-science/earth-science-data/data-information-policy/"
26 #define NAMING_AUTHORITY "gov.nasa.gsfc.sci.oceandata"
27 #define KEYWORDS_VOCABULARY "NASA Global Change Master Directory (GCMD) Science Keywords"
28 #define KEYWORDS_OC "Oceans > Ocean Chemistry > Chlorophyll; Oceans > Ocean Optics > Ocean Color"
29 #define KEYWORDS_IOP "Oceans > Ocean Optics > Ocean Color"
30 #define KEYWORDS_SST "Oceans > Ocean Temperature > Sea Surface Temperature"
31 #define STDNAME_VOCABULARY "CF Standard Name Table v36"
32 #define CREATOR_NAME "NASA/GSFC/OBPG"
33 #define CREATOR_EMAIL "data@oceancolor.gsfc.nasa.gov"
34 #define CREATOR_URL "https://oceandata.sci.gsfc.nasa.gov"
35 #define PROJECT "Ocean Biology Processing Group (NASA/GSFC/OBPG)"
36 #define PUBLISHER_NAME "NASA/GSFC/OBPG"
37 #define PUBLISHER_EMAIL "data@oceancolor.gsfc.nasa.gov"
38 #define PUBLISHER_URL "https://oceandata.sci.gsfc.nasa.gov"
39 #define DOIAUTHORITY "https://dx.doi.org"
40 
42 
43 //---------------------------------------------------
44 
45 class OutFile {
46 public:
47 
48  enum ColorType {
50  };
51 
52  enum ScaleType {
54  };
55 
56  enum DataStorage {
58  };
59 
60  enum PixValues {
61  landPix = 254, fillPix = 255
62  }; //< special output pixel values
63 
64  enum LatLonType {
66  }; //< special output pixel values
67 
68  class ProductStuff {
69  public:
70 
71  int32_t width;
72  productInfo_t* productInfo;
73  DataStorage dataStorage; //< data type for the file storage
74  ScaleType scaleType; //< display Linear, Log, ATan scaling
75  double scale; //< display slope for scaling. If log it is actually log10(slope)
76  double offset; //< display offset for scaling.
77  double minOutputVal; //< display min output value
78  double maxOutputVal; //< display max output value
79  double minVal; //< display min physical value
80  double maxVal; //< display max physical value
81  double missingValue; //< missing value from product XML (val stored in file)
82  double* lineData;
84 
85  ProductStuff(int32_t width, const productInfo_t* productInfo, double landPixelValue);
86  ProductStuff(const OutFile::ProductStuff& pStuff);
87  ~ProductStuff();
88 
89  int32_t getWidth() {
90  return width;
91  }
92  void setScale(double min, double max, ScaleType scaleType);
93  void setScale(double min, double max, ScaleType scaleType,
94  double minOutput, double maxOutput);
95  void setScaleOffset(double scale, double offset, ScaleType scaleType);
96  void setScaleOffset(double scale, double offset, ScaleType scaleType,
97  double minOutput, double maxOutput);
98  double calcOutputVal(double val) const;
99  double calcPhysicalVal(double val) const;
100  void calcOutputLineVals(void* lineBuffer) const;
101  };
102 
103 protected:
104 
105  static constexpr uint8_t qualityUnused = 255;
106  static constexpr double badPixelValue = BAD_FLT;
108  std::unordered_map<size_t, size_t> index_2d_3d;
109  std::unordered_map<size_t, size_t> slice_2d_in_wv3d;
110  std::unordered_map<std::string, size_t> product_3d_already_set, prod2d_indexes_last_index;
112  int32_t width;
113  int32_t height;
116  uint8_t* qualityData;
117  uint32_t currentLine; //< current line number (0 based)
118 
120 
121  double fileMinVal; //< current min value of data written to file
122  double fileMaxVal; //< current max value of data written to file
123  double resolution; //< geospatial resolution of a pixel in the center of the scene (meters)
124  int deflate; //< compression setting for netCDF files
125 
126  LatLonType fullLatLon; //< should we write full-resolution lat/lon arrays
127  double* latData; //< pointer to row of latitude data
128  double* lonData; //< pointer to row of longitude data
129 
130  uint8_t* red;
131  uint8_t* green;
132  uint8_t* blue;
133  uint8_t* rgb_land;
135 
138 
140  double tiepoints[6];
141  double pixscale[3];
142 
143  std::vector<ProductStuff*> productStuff;
144 
145  OutFile();
146  virtual int addProductNonDisplay(productInfo_t* productInfo);
147 
148 public:
149  virtual ~OutFile();
150 
151  virtual void setSize(int32_t width, int32_t height);
152  virtual int32_t getWidth() const;
153  virtual int32_t getHeight() const;
154  virtual void setFileName(std::string fileName);
155 
157  return fileName;
158  }
159 
166  virtual bool open() = 0;
167  virtual bool close() = 0;
168 
169  virtual double getMinValue(int32_t prod = 0) {
170  return productStuff[prod]->minVal;
171  }
172  virtual double getMaxValue(int32_t prod = 0) {
173  return productStuff[prod]->maxVal;
174  }
175  virtual std::string getScaleTypeString(int32_t prod = 0);
176 
177  virtual void setPixel(int32_t x, double val, int32_t prod = 0);
178  virtual void setPixelRGB(int32_t x, float red, float green, float blue);
179  virtual void setTransparency();
180  virtual void setQuality(int32_t x, uint8_t val);
181  virtual void landPixel(int32_t x);
182  virtual void fillPixel(int32_t x);
183  virtual void missingPixel(int32_t x);
184  virtual void setLatLon(double* lat, double* lon);
185  virtual void writeLine() = 0;
186  virtual bool setPalette(const char* paletteName, bool applyMask);
187  virtual void setLandRGB(const char* rgb_land_string);
188  virtual void setMetaData(meta_l3bType* metaData);
189 
191  return metaData;
192  }
193  virtual int32_t addProduct(productInfo_t* productInfo);
194 
195  virtual int32_t getNumProducts() {
196  return productStuff.size();
197  }
198  virtual void setMapProjection(std::string projection);
199  virtual void setNumFilledPixels(int32_t num);
200  virtual int32_t getNumFilledPixels();
201  virtual float getPercentFilledPixels();
202  virtual void resetFileMinMax();
203 
204  virtual double getFileMinVal() {
205  return fileMinVal;
206  }
207 
208  virtual double getFileMaxVal() {
209  return fileMaxVal;
210  }
211  virtual void setResolution(std::string resolutionStr);
212 
213  virtual void setResolution(double resolution) {
214  this->resolution = resolution;
215  }
216 
217  virtual double getResolution() {
218  return resolution;
219  }
220 
223  }
224 
226  return qualityName;
227  }
228  virtual void setQualityProcessing(bool val);
229  virtual bool getQualityProcessing();
230 
231  virtual void setDeflate(int val) {
232  deflate = val;
233  }
234  virtual int getDeflate() {
235  return deflate;
236  }
237  void setFullLatLon(bool val) {
238  if(val)
240  else
242  }
243 
244  void setProj4Info(std::string projStr, double minX, double maxY);
245 
246 };
247 
248 //---------------------------------------------------
249 
250 class OutFile_pgm : public OutFile {
251 protected:
252  FILE *outfp;
253  uint8_t* fileData;
254 
255 public:
256  OutFile_pgm();
257  virtual ~OutFile_pgm();
258  virtual void setSize(int32_t width, int32_t height);
259  virtual bool open();
260  virtual bool close();
261  virtual void writeLine();
262 };
263 
264 //---------------------------------------------------
265 
266 class OutFile_ppm : public OutFile_pgm {
267 public:
268  virtual void setSize(int32_t width, int32_t height);
269  virtual bool open();
270  virtual void writeLine();
271 };
272 
273 //---------------------------------------------------
274 
275 class OutFile_ppm_rgb : public OutFile {
276  FILE *outfp;
277  uint8_t* fileData;
278 
279 public:
280  OutFile_ppm_rgb();
281  virtual ~OutFile_ppm_rgb();
282  virtual void setSize(int32_t width, int32_t height);
283  virtual bool open();
284  virtual bool close();
285  virtual void setPixel(int32_t x, double val, int32_t prod = 0);
286  virtual void setPixelRGB(int32_t x, float red, float green, float blue);
287  virtual void landPixel(int32_t x);
288  virtual void fillPixel(int32_t x);
289  virtual void missingPixel(int32_t x);
290  virtual void writeLine();
291 };
292 
293 //---------------------------------------------------
294 
295 class OutFile_png : public OutFile {
296  FILE *outfp;
297  uint8_t* fileData;
298  bool isColor;
299  png_structp png_ptr;
300  png_infop info_ptr;
301  uint num_text;
302 
303 public:
304  OutFile_png(bool color);
305  virtual ~OutFile_png();
306  virtual void setSize(int32_t width, int32_t height);
307  virtual bool open();
308  virtual bool close();
309  virtual void writeLine();
310 };
311 
312 //---------------------------------------------------
313 
314 class OutFile_png_rgb : public OutFile {
315  FILE *outfp;
316  uint8_t* fileData;
317  png_structp png_ptr;
318  png_infop info_ptr;
319  uint num_text;
320 
321 public:
322  OutFile_png_rgb();
323  virtual ~OutFile_png_rgb();
324  virtual void setSize(int32_t width, int32_t height);
325  virtual bool open();
326  virtual bool close();
327  virtual void setPixel(int32_t x, double val, int32_t prod = 0);
328  virtual void setPixelRGB(int32_t x, float red, float green, float blue);
329  virtual void landPixel(int32_t x);
330  virtual void fillPixel(int32_t x);
331  virtual void missingPixel(int32_t x);
332  virtual void writeLine();
333 };
334 
335 //---------------------------------------------------
336 
337 class OutFile_tiff: public OutFile {
338 protected:
339  TIFF *tiff = NULL;
340  GTIF *gtif = NULL;
341 public:
342  virtual ~OutFile_tiff();
343  virtual bool open();
344  virtual bool close();
345  virtual void setTiffColor() = 0;
346 };
347 
349  uint8_t* fileData = NULL;
350 public:
351  virtual ~OutFile_tiff_color();
352  virtual void setSize(int32_t width, int32_t height);
353  virtual void writeLine();
354  virtual void setTiffColor();
355 };
356 
358  float* fileData = NULL;
359 public:
361  virtual ~OutFile_tiff_gray();
362  virtual void setSize(int32_t width, int32_t height);
363  virtual void writeLine();
364  virtual void setTiffColor();
365 };
366 
368  uint8_t* fileData = NULL;
369 public:
370  virtual ~OutFile_tiff_rgb();
371  virtual void setSize(int32_t width, int32_t height);
372  virtual void writeLine();
373  virtual void setTiffColor();
374  virtual void setPixel(int32_t x, double val, int32_t prod = 0);
375  virtual void setPixelRGB(int32_t x, float red, float green, float blue);
376  virtual void landPixel(int32_t x);
377  virtual void fillPixel(int32_t x);
378  virtual void missingPixel(int32_t x);
379 };
380 
381 //---------------------------------------------------
382 
383 class OutFile_hdf4 : public OutFile {
384  void* fileData;
385  int32_t sdfid;
386  int32_t sdsid;
387  int32_t quality_sdsid;
388  int32_t hdfDataType;
389 
390 public:
391  OutFile_hdf4();
392  virtual ~OutFile_hdf4();
393  virtual void setSize(int32_t width, int32_t height);
394  virtual bool open();
395  virtual bool close();
396  virtual void writeLine();
397  virtual int addProduct(productInfo_t* productInfo);
398 };
399 
400 //---------------------------------------------------
401 
402 class OutFile_netcdf4 : public OutFile {
403  void* fileData;
404  netCDF::NcFile* ncFile;
405  std::vector<netCDF::NcVar> prodVars;
406  netCDF::NcVar qualVar;
407  netCDF::NcVar latVar, lonVar;
408 
409 
410 public:
411  OutFile_netcdf4();
412  virtual ~OutFile_netcdf4();
413  virtual void setSize(int32_t width, int32_t height);
414  virtual bool open();
415  virtual bool close();
416  virtual void writeLine();
417  virtual int addProduct(productInfo_t* productInfo);
418 
419 private:
420  virtual void initCompression(netCDF::NcVar var);
421  virtual netCDF::NcVar createProduct(productInfo_t* productInfo,
422  const netCDF::NcType& ncType,
423  const std::vector<netCDF::NcDim> ncDim);
424  virtual netCDF::NcType getDataType(DataStorage dataStorage);
425 };
426 
427 #endif
virtual void fillPixel(int32_t x)
Definition: OutFile.cpp:827
virtual void setMetaData(meta_l3bType *metaData)
Definition: OutFile.cpp:503
virtual void writeLine()
Definition: OutFile.cpp:1473
virtual bool open()
Definition: OutFile.cpp:1654
virtual void setPixel(int32_t x, double val, int32_t prod=0)
Definition: OutFile.cpp:385
virtual bool close()
Definition: OutFile.cpp:1090
virtual int addProductNonDisplay(productInfo_t *productInfo)
Definition: OutFile.cpp:531
std::unordered_map< size_t, size_t > index_2d_3d
Definition: OutFile.h:108
virtual void writeLine()=0
virtual bool open()
Definition: OutFile.cpp:676
std::string qualityName
Definition: OutFile.h:115
void setScaleOffset(double scale, double offset, ScaleType scaleType)
Definition: OutFile.cpp:158
virtual bool open()
Definition: OutFile.cpp:763
virtual void writeLine()
Definition: OutFile.cpp:1353
virtual void landPixel(int32_t x)
Definition: OutFile.cpp:418
virtual void setPixelRGB(int32_t x, float red, float green, float blue)
Definition: OutFile.cpp:397
virtual int32_t getHeight() const
Definition: OutFile.cpp:377
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:252
static constexpr uint8_t qualityUnused
Definition: OutFile.h:105
void calcOutputLineVals(void *lineBuffer) const
Definition: OutFile.cpp:247
virtual void writeLine()
Definition: OutFile.cpp:857
virtual int addProduct(productInfo_t *productInfo)
Definition: OutFile.cpp:1977
virtual void writeLine()
Definition: OutFile.cpp:728
virtual void resetFileMinMax()
Definition: OutFile.cpp:617
virtual void missingPixel(int32_t x)
Definition: OutFile.cpp:440
#define NULL
Definition: decode_rs.h:63
double * latData
Definition: OutFile.h:127
string qualName
Definition: l3mapgen.cpp:102
@ ArcTan
Definition: OutFile.h:53
std::string fileName
Definition: OutFile.h:111
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:2000
@ ByteDS
Definition: OutFile.h:57
@ ColorIndex
Definition: OutFile.h:49
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:756
@ LatLonOff
Definition: OutFile.h:65
virtual void writeLine()
Definition: OutFile.cpp:689
ProductStuff(int32_t width, const productInfo_t *productInfo, double landPixelValue)
Definition: OutFile.cpp:75
std::unordered_map< size_t, size_t > slice_2d_in_wv3d
Definition: OutFile.h:109
double * lonData
Definition: OutFile.h:128
virtual void writeLine()
Definition: OutFile.cpp:977
virtual void setResolution(double resolution)
Definition: OutFile.h:213
virtual ~OutFile_tiff_rgb()
Definition: OutFile.cpp:1457
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:1340
std::string mapProjection
Definition: OutFile.h:137
ScaleType
Definition: OutFile.h:52
virtual bool getQualityProcessing()
Definition: OutFile.cpp:646
std::vector< ProductStuff * > productStuff
Definition: OutFile.h:143
int32_t getWidth()
Definition: OutFile.h:89
double calcOutputVal(double val) const
Definition: OutFile.cpp:177
virtual std::string getScaleTypeString(int32_t prod=0)
Definition: OutFile.cpp:346
@ IntDS
Definition: OutFile.h:57
int deflate
Definition: OutFile.h:124
virtual void writeLine()
Definition: OutFile.cpp:2432
ScaleType scaleType
Definition: OutFile.h:74
@ FloatDS
Definition: OutFile.h:57
void setFullLatLon(bool val)
Definition: OutFile.h:237
ColorType
Definition: OutFile.h:48
virtual void landPixel(int32_t x)
Definition: OutFile.cpp:812
double fileMaxVal
Definition: OutFile.h:122
double calcPhysicalVal(double val) const
Definition: OutFile.cpp:215
bool applyMask
Definition: l3mapgen.cpp:107
virtual bool close()
Definition: OutFile.cpp:696
@ string
virtual void fillPixel(int32_t x)
Definition: OutFile.cpp:429
TIFF * tiff
Definition: OutFile.h:339
uint8_t * qualityData
Definition: OutFile.h:116
virtual void landPixel(int32_t x)
Definition: OutFile.cpp:1558
virtual ~OutFile_hdf4()
Definition: OutFile.cpp:1642
virtual void fillPixel(int32_t x)
Definition: OutFile.cpp:1165
virtual void setMapProjection(std::string projection)
Definition: OutFile.cpp:579
virtual double getResolution()
Definition: OutFile.h:217
PixValues
Definition: OutFile.h:60
virtual double getMaxValue(int32_t prod=0)
Definition: OutFile.h:172
int32_t height
Definition: OutFile.h:113
uint8_t * fileData
Definition: OutFile.h:253
uint8_t * blue
Definition: OutFile.h:132
virtual int32_t getNumProducts()
Definition: OutFile.h:195
double fileMinVal
Definition: OutFile.h:121
virtual void setLandRGB(const char *rgb_land_string)
Definition: OutFile.cpp:494
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:358
virtual void setPixel(int32_t x, double val, int32_t prod=0)
Definition: OutFile.cpp:783
LatLonType
Definition: OutFile.h:64
uint8_t * rgb_land
Definition: OutFile.h:133
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:706
double * lineData
Definition: OutFile.h:82
double landPixelValue
Definition: OutFile.h:107
virtual void setQualityName(std::string qualName)
Definition: OutFile.h:221
virtual ~OutFile_ppm_rgb()
Definition: OutFile.cpp:749
int32_t samplesperpixel
Definition: OutFile.h:114
virtual void setTiffColor()=0
GTIF * gtif
Definition: OutFile.h:340
double resolution
Definition: OutFile.h:123
virtual void setDeflate(int val)
Definition: OutFile.h:231
virtual ~OutFile_tiff_gray()
Definition: OutFile.cpp:1425
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:1647
virtual bool open()
Definition: OutFile.cpp:2009
void setScale(double min, double max, ScaleType scaleType)
Definition: OutFile.cpp:120
DataStorage
Definition: OutFile.h:56
virtual void setResolution(std::string resolutionStr)
virtual bool setPalette(const char *paletteName, bool applyMask)
Definition: OutFile.cpp:459
virtual meta_l3bType * getMetadata()
Definition: OutFile.h:190
ColorType colorType
Definition: OutFile.h:119
virtual void missingPixel(int32_t x)
Definition: OutFile.cpp:1187
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:882
static constexpr double badPixelValue
Definition: OutFile.h:106
virtual int addProduct(productInfo_t *productInfo)
Definition: OutFile.cpp:2500
@ LatLon1D
Definition: OutFile.h:65
virtual float getPercentFilledPixels()
Definition: OutFile.cpp:609
virtual void fillPixel(int32_t x)
Definition: OutFile.cpp:1582
virtual double getFileMinVal()
Definition: OutFile.h:204
virtual void missingPixel(int32_t x)
Definition: OutFile.cpp:842
@ Grayscale
Definition: OutFile.h:49
std::string getQualityName()
Definition: OutFile.h:225
virtual ~OutFile_png()
Definition: OutFile.cpp:875
std::string proj4String
Definition: OutFile.h:139
virtual int32_t getNumFilledPixels()
Definition: OutFile.cpp:602
@ DoubleDS
Definition: OutFile.h:57
virtual void writeLine()
Definition: OutFile.cpp:1437
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:1430
virtual ~OutFile_tiff()
Definition: OutFile.cpp:1223
double tiepoints[6]
Definition: OutFile.h:140
virtual void writeLine()
Definition: OutFile.cpp:1209
virtual void setPixelRGB(int32_t x, float red, float green, float blue)
Definition: OutFile.cpp:1523
virtual bool close()
Definition: OutFile.cpp:777
@ landPix
Definition: OutFile.h:61
virtual void setTiffColor()
Definition: OutFile.cpp:1385
virtual void missingPixel(int32_t x)
Definition: OutFile.cpp:1606
virtual ~OutFile_tiff_color()
Definition: OutFile.cpp:1335
LatLonType fullLatLon
Definition: OutFile.h:126
virtual void setQuality(int32_t x, uint8_t val)
Definition: OutFile.cpp:406
virtual bool open()
Definition: OutFile.cpp:1022
virtual bool open()
Definition: OutFile.cpp:1227
virtual bool open()
Definition: OutFile.cpp:889
virtual double getMinValue(int32_t prod=0)
Definition: OutFile.h:169
@ ShortDS
Definition: OutFile.h:57
virtual bool close()
Definition: OutFile.cpp:2474
@ Linear
Definition: OutFile.h:53
virtual ~OutFile_png_rgb()
Definition: OutFile.cpp:1005
double pixscale[3]
Definition: OutFile.h:141
virtual ~OutFile_pgm()
Definition: OutFile.cpp:662
virtual void setTransparency()
Definition: OutFile.cpp:402
virtual void setTiffColor()
Definition: OutFile.cpp:1448
uint8_t * green
Definition: OutFile.h:131
virtual void setLatLon(double *lat, double *lon)
Definition: OutFile.cpp:451
#define BAD_FLT
Definition: jplaeriallib.h:19
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:1462
OutFile_png(bool color)
Definition: OutFile.cpp:866
virtual void setPixel(int32_t x, double val, int32_t prod=0)
Definition: OutFile.cpp:1103
DataStorage dataStorage
Definition: OutFile.h:73
virtual bool close()
Definition: OutFile.cpp:1924
virtual void setPixelRGB(int32_t x, float red, float green, float blue)
Definition: OutFile.cpp:1109
virtual void setQualityProcessing(bool val)
Definition: OutFile.cpp:626
@ fillPix
Definition: OutFile.h:61
virtual ~OutFile_netcdf4()
Definition: OutFile.cpp:1993
@ RGB
Definition: OutFile.h:49
virtual int32_t getWidth() const
Definition: OutFile.cpp:373
virtual void setPixelRGB(int32_t x, float red, float green, float blue)
Definition: OutFile.cpp:789
void setProj4Info(std::string projStr, double minX, double maxY)
Definition: OutFile.cpp:583
virtual void setTiffColor()
Definition: OutFile.cpp:1481
bool transparent
Definition: OutFile.h:134
@ UByteDS
Definition: OutFile.h:57
virtual void landPixel(int32_t x)
Definition: OutFile.cpp:1143
virtual void setPixel(int32_t x, double val, int32_t prod=0)
Definition: OutFile.cpp:1492
virtual bool open()
Definition: OutFile.cpp:713
virtual ~OutFile()
Definition: OutFile.cpp:332
meta_l3bType * metaData
Definition: OutFile.h:136
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:1012
virtual void setSize(int32_t width, int32_t height)
Definition: OutFile.cpp:669
@ UShortDS
Definition: OutFile.h:57
virtual int getDeflate()
Definition: OutFile.h:234
uint32_t currentLine
Definition: OutFile.h:117
@ LatLon2D
Definition: OutFile.h:65
double landPixelValue
Definition: OutFile.h:83
int32_t width
Definition: OutFile.h:112
virtual bool close()
Definition: OutFile.cpp:1323
virtual bool close()
Definition: OutFile.cpp:984
OutFile()
Definition: OutFile.cpp:292
virtual void setFileName(std::string fileName)
Definition: OutFile.cpp:381
virtual void setNumFilledPixels(int32_t num)
Definition: OutFile.cpp:596
uint8_t * red
Definition: OutFile.h:130
std::unordered_map< std::string, size_t > prod2d_indexes_last_index
Definition: OutFile.h:110
virtual double getFileMaxVal()
Definition: OutFile.h:208
std::unordered_map< std::string, size_t > product_3d_already_set
Definition: OutFile.h:110
@ Log
Definition: OutFile.h:53
virtual bool close()=0
clo_optionList_t * optionList
productInfo_t * productInfo
Definition: OutFile.h:72
virtual std::string getFileName()
Definition: OutFile.h:156
l2prod max
@ UIntDS
Definition: OutFile.h:57
virtual bool open()=0
virtual int32_t addProduct(productInfo_t *productInfo)
Definition: OutFile.cpp:512
virtual void writeLine()
Definition: OutFile.cpp:1898