Scyllarus: C++ Hyperspectral Processing Library
Hyperspectral Image Processing Pipeline
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
material.h
Go to the documentation of this file.
1 /****************************************************************************************
2  * SCYLLARUS : C++ HYPERSPECTRAL PROCESSING LIBRARY
3  * material.h - Hyperspectral Image material recovery.
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 MATERIAL_H_
12 #define MATERIAL_H_
13 
14 #include <armadillo>
15 
16 #include "logger.h"
17 #include "utility.h"
18 #include "processing.h"
19 #include "scyllarus_types.h"
20 
21 namespace scyl
22 {
23 
31  {
32  public:
34  max_clusters(20),
35  q_factor(3),
37  temperature_max(0.02f),
38  temperature_min(0.00025f),
39  cooling_rate(0.8f),
40  split_threshold(-1),
41  debug(0)
42  {
43  }
45 
46  int max_clusters;
47  int q_factor;
51  float cooling_rate;
53  int debug;
54 
55  };
56 
57  arma::fmat recover_materials(const arma::fcube & s,
58  const arma::fvec & wavelengths,
59  arma::fcube & abundances,
60  arma::ucube & indices,
63 
64  arma::fmat recover_materials_DA(const arma::fcube & s,
65  arma::fcube & material_abundancy,
66  int max_clusters=20,
67  float temperature_max=0.02,
68  float temperature_min=0.00025,
69  float cooling_rate=0.8,
70  float split_threshold=-1,
71  int debug=0);
72 
73  void generate_material_elements(const arma::fcube & s,
74  const arma::fmat & elements,
75  const arma::fcube & material_abundancy,
76  arma::fcube & element_abundances,
77  arma::ucube & element_abundance_indexes,
78  int num_materials=5,
79  int debug=0);
80 
81 
82 }
83 #endif /* MATERIAL_H_ */
material_options is used to give options for the material recovery option chosen. ...
Definition: material.h:30
material_options()
Definition: material.h:33
arma::fmat recover_materials(const arma::fcube &s, const arma::fvec &wavelengths, arma::fcube &abundances, arma::ucube &indices, scyl::MATERIAL_METHOD method=scyl::MATERIAL_DA, scyl::material_options op=scyl::material_options())
recover_materials() takes an input reflectance cube and returns a list of determined material cluster...
Definition: material.cpp:34
MATERIAL_METHOD
Definition: scyllarus_types.h:82
void generate_material_elements(const arma::fcube &s, const arma::fmat &elements, const arma::fcube &material_abundancy, arma::fcube &element_abundances, arma::ucube &element_abundance_indexes, int num_materials=5, int debug=0)
generate_material_elements() uses the reflectance cube and abundancy cube from recover_materials_DA t...
Definition: material.cpp:523
float temperature_max
temperature_max - used for DA (Specifies maximum temperature of the DA method.)
Definition: material.h:49
int num_mat_per_pixel
num_mat_per_pixel - used for DA, DAQ, DASAM (Specifies the number of abundance/indices per pixel) ...
Definition: material.h:48
int debug
debug - used for DA (Specifies the amount of output that is generated (0 - 5, default 0) ...
Definition: material.h:53
int max_clusters
max_clusters - used for DA (Specifies max num of material clusters)
Definition: material.h:44
float cooling_rate
cooling_rate - used for DA (Specifies cooling rate for DA process
Definition: material.h:51
float temperature_min
temperature_min - used for DA (Specifies minimum temperature of the DA method.
Definition: material.h:50
arma::fmat recover_materials_DA(const arma::fcube &s, arma::fcube &material_abundancy, int max_clusters=20, float temperature_max=0.02, float temperature_min=0.00025, float cooling_rate=0.8, float split_threshold=-1, int debug=0)
recover_materials_DA() takes an input reflectance cube and returns a list of determined material clus...
Definition: material.cpp:238
DA - Deterministic Annealing Material Recovery.
Definition: scyllarus_types.h:84
float split_threshold
split_threshold - used for DA (Specifies threshold for splitting clusters in the DA process ...
Definition: material.h:52
int q_factor
q_factor - used for DAQ (Specifies downsample factor (2^q_factor))
Definition: material.h:47
~material_options()
Definition: material.h:44