Scyllarus: C++ Hyperspectral Processing Library
Hyperspectral Image Processing Pipeline
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
tif_input.h
Go to the documentation of this file.
1 /****************************************************************************************
2  * SCYLLARUS : C++ HYPERSPECTRAL PROCESSING LIBRARY
3  * hdr_input.h - Hyperspectral Image TIF (.tif) Input Object.
4  *
5  * This computer code is subject to copyright:
6  * (c) National ICT Australia Limited (NICTA) 2013-2014 All Rights Reserved.
7  *
8  * Jeremy Oorloff, National ICT Australia (NICTA)
9  *
10  ***************************************************************************************/
11 #ifndef TIFINPUT_H_
12 #define TIFINPUT_H_
13 
14 #include "input.h"
15 #include "logger.h"
16 #include "utility.h"
17 #include "scyllarus_types.h"
18 
19 #include <boost/filesystem.hpp>
20 #include <armadillo>
21 #include "gdal_priv.h"
22 
23 
24 namespace scyl
25 {
26 
40 class tif_input: public scyl::input
41 {
42 
43 public:
44 
45  tif_input();
46  tif_input(std::string filename, bool hold=true);
47  tif_input(std::vector<std::string> filenames);
48  virtual ~tif_input();
49 
50  arma::fcube I() const;
51 
52  const arma::fcube * I_ptr() const;
53 
54  arma::fvec wavelengths() const;
55 
56  GDALDataset * gdal_dataset_ptr() const;
57 
59 
60 
61  void set_wavelengths(const arma::fvec & in);
62 
63 
64 private:
65 
66  GDALDataset *m_podataset;
67 
68  std::string m_filename;
69 
70  arma::fvec m_wavelengths;
71 
72  bool m_hold;
73 
74  arma::fcube m_I;
75 
76 
77 
78 };
79 
80 }
81 #endif /* TIF_INPUT_H_ */
arma::fcube m_I
Definition: tif_input.h:74
Input is a base class from which input classes for the pipeline are derived..
Definition: input.h:33
arma::fvec m_wavelengths
Definition: tif_input.h:70
virtual ~tif_input()
Definition: tif_input.cpp:335
void set_wavelengths(const arma::fvec &in)
Sets the wavelength vector for the input object. (Set I first)
Definition: tif_input.cpp:431
tif_input()
Definition: tif_input.cpp:17
std::string m_filename
Definition: tif_input.h:68
INPUT_TYPE
Definition: scyllarus_types.h:21
GDALDataset * gdal_dataset_ptr() const
Gets gdal_dataset_ptr.
Definition: tif_input.cpp:416
const arma::fcube * I_ptr() const
Gets a pointer to I.
Definition: tif_input.cpp:378
arma::fvec wavelengths() const
Gets wavelengths.
Definition: tif_input.cpp:393
arma::fcube I() const
Gets I.
Definition: tif_input.cpp:345
scyl::INPUT_TYPE type()
Tells you what an object is.
Definition: tif_input.cpp:404
GDALDataset * m_podataset
Definition: tif_input.h:66
TIF_Input is an object that facilitates reading in of GTIFF/TIFF files.
Definition: tif_input.h:40
bool m_hold
Definition: tif_input.h:72