Scyllarus: C++ Hyperspectral Processing Library
Hyperspectral Image Processing Pipeline
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
hsz_input.h
Go to the documentation of this file.
1 /****************************************************************************************
2  * SCYLLARUS : C++ HYPERSPECTRAL PROCESSING LIBRARY
3  * hsz_input.h - Hyperspectral Image HSZ 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 HSZINPUT_H_
12 #define HSZINPUT_H_
13 
14 #include "input.h"
15 #include "nurbs.h"
16 #include "../iotools/hsz.h"
17 #include "logger.h"
18 #include "scyllarus_types.h"
19 #include "utility.h"
20 
21 #include <armadillo>
22 
23 namespace scyl
24 {
25 
36 class hsz_input: public scyl::input
37 {
38 
39 public:
40 
41  hsz_input(std::string filename, bool hold=true);
42  virtual ~hsz_input();
43 
44  arma::fcube I() const;
45 
46  const arma::fcube * I_ptr() const;
47 
48  arma::fvec illuminant() const;
49 
50  arma::fmat k() const;
51 
52  arma::fcube s() const;
53 
54  const arma::fcube * s_ptr() const;
55 
56  arma::fmat elements() const;
57 
58  arma::fmat endmembers() const;
59 
60  std::vector<std::string> endmember_labels() const;
61 
62  arma::fcube element_abundances() const;
63 
64  arma::ucube element_abundance_indexes() const;
65 
66  arma::fmat endmember_abundances() const;
67 
68  arma::umat endmember_abundance_indexes() const;
69 
70  arma::fmat g() const;
71 
72  arma::fvec wavelengths() const;
73 
75 
76 
77 
78 private:
79 
80  scyl::iotools::hsz m_hsz;
81  scyl::iotools::hsz_data* m_data;
82 
83  bool m_hold;
84 
85  arma::fcube m_I;
86  arma::fcube m_s;
87 
88 };
89 
90 }
91 #endif /* HSZINPUT_H_ */
arma::fcube I() const
Get I.
Definition: hsz_input.cpp:319
Input is a base class from which input classes for the pipeline are derived..
Definition: input.h:33
virtual ~hsz_input()
Definition: hsz_input.cpp:51
bool m_hold
Definition: hsz_input.h:83
hsz_input(std::string filename, bool hold=true)
Definition: hsz_input.cpp:22
arma::fmat endmembers() const
Gets endmembers.
Definition: hsz_input.cpp:133
arma::fcube element_abundances() const
Get element_abundances.
Definition: hsz_input.cpp:433
arma::fcube s() const
Get s.
Definition: hsz_input.cpp:569
const arma::fcube * I_ptr() const
Gets a pointer to I. If you ask for a pointer, 'hold' must be true or you will get an exception...
Definition: hsz_input.cpp:346
HSZ_Input is an object that facilitates reading in of HSZ files.
Definition: hsz_input.h:36
scyl::INPUT_TYPE type()
Tells you what an object is.
Definition: hsz_input.cpp:664
arma::fmat endmember_abundances() const
Definition: hsz_input.cpp:513
scyl::iotools::hsz_data * m_data
Definition: hsz_input.h:81
INPUT_TYPE
Definition: scyllarus_types.h:21
scyl::iotools::hsz m_hsz
Definition: hsz_input.h:80
arma::fvec illuminant() const
Get illuminant.
Definition: hsz_input.cpp:361
arma::fcube m_I
Definition: hsz_input.h:85
arma::fvec wavelengths() const
Get wavelengths.
Definition: hsz_input.cpp:650
arma::ucube element_abundance_indexes() const
Get element_abundance_indexes.
Definition: hsz_input.cpp:473
arma::fcube m_s
Definition: hsz_input.h:86
arma::umat endmember_abundance_indexes() const
Definition: hsz_input.cpp:541
arma::fmat elements() const
Get elements.
Definition: hsz_input.cpp:60
std::vector< std::string > endmember_labels() const
Gets endmember_labels.
Definition: hsz_input.cpp:156
arma::fmat g() const
Get g.
Definition: hsz_input.cpp:165
const arma::fcube * s_ptr() const
Gets a pointer to s. If you ask for a pointer, 'hold' must be true or you will get an exception...
Definition: hsz_input.cpp:635
arma::fmat k() const
Get k.
Definition: hsz_input.cpp:197