Scyllarus: C++ Hyperspectral Processing Library
Hyperspectral Image Processing Pipeline
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
image_utilities.h
Go to the documentation of this file.
1 /****************************************************************************************
2  * SCYLLARUS : C++ HYPERSPECTRAL PROCESSING LIBRARY
3  * image_utilities.h - Image related utility functions.
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 
12 #ifndef IMAGE_UTILITIES_H_
13 #define IMAGE_UTILITIES_H_
14 
15 #include <armadillo>
16 #include "iso646.h"
17 
18 #include "logger.h"
19 #include "nurbs.h"
20 
21 namespace scyl
22 {
23 
24  arma::fmat compute_greyscale(const arma::fcube & source,
25  const arma::fvec & wave);
26 
27  float linear_interp(const float wavelength,
28  const int band);
29 
30  arma::fcube compute_rgb(const arma::fcube & I,
31  const arma::fvec & illuminant,
32  const arma::fvec & wave);
33 
34  arma::fcube reconstruct_I(const arma::fvec & illuminant,
35  const arma::fmat & k,
36  const arma::fmat & g,
37  const arma::fcube & s,
38  float k_factor);
39 
40  arma::fcube reconstruct_s(const arma::fvec & illuminant,
41  const arma::fmat & k,
42  const arma::fmat & g,
43  const arma::fcube & I,
44  float k_factor);
45 
46  arma::fcube reconstruct_s_elements(const arma::fmat & elements,
47  const arma::fcube & abundances,
48  const arma::ucube & indexes);
49 
50  arma::fvec reconstruct_illuminant(const arma::fmat & k,
51  const arma::fmat & g,
52  const arma::fcube & I,
53  const arma::fcube & s,
54  float k_factor);
55 
56  arma::fcube colour_jet(const arma::fmat & in);
57 
58  arma::fcube resample_image(const arma::fcube & in_image,
59  const arma::fvec & in_waves,
60  const arma::fvec & in_waves_new);
61 
62 
63 
64 }
65 
66 #endif
arma::fcube reconstruct_s_elements(const arma::fmat &elements, const arma::fcube &abundances, const arma::ucube &indexes)
Definition: image_utilities.cpp:243
arma::fmat compute_greyscale(const arma::fcube &source, const arma::fvec &wave)
compute_grayscale returns a single channel grey scale image from a given hyperspectral image cube...
Definition: image_utilities.cpp:24
I.
Definition: scyllarus_types.h:114
arma::fcube compute_rgb(const arma::fcube &I, const arma::fvec &illuminant, const arma::fvec &wave)
compute_rgb creates a pseudo-colour representation of a given hyperspectral image cube...
Definition: image_utilities.cpp:95
arma::fcube colour_jet(const arma::fmat &in)
Definition: image_utilities.cpp:332
arma::fvec reconstruct_illuminant(const arma::fmat &k, const arma::fmat &g, const arma::fcube &I, const arma::fcube &s, float k_factor)
reconstruct_illuminant() creates a synthetic version of the illuminant based on given image component...
Definition: image_utilities.cpp:292
arma::fcube resample_image(const arma::fcube &in_image, const arma::fvec &in_waves, const arma::fvec &in_waves_new)
resample_image() is used to change the number of bands an image matrix has using NURBS.
Definition: image_utilities.cpp:375
float linear_interp(const float wavelength, const int band)
linear_interp looks up a wavelength for a band (R, G or B) in the scyl::CAMERA_SENSITIVITY table...
Definition: image_utilities.cpp:52
arma::fcube reconstruct_I(const arma::fvec &illuminant, const arma::fmat &k, const arma::fmat &g, const arma::fcube &s, float k_factor)
reconstruct_I() creates a synthetic version of I based on it's constituents illuminant, k, g, s and big_k.
Definition: image_utilities.cpp:171
arma::fcube reconstruct_s(const arma::fvec &illuminant, const arma::fmat &k, const arma::fmat &g, const arma::fcube &I, float k_factor)
reconstruct_s() creates a synthetic version of s based on it's constituents illuminant, k, g, I and k_factor.
Definition: image_utilities.cpp:214