Scyllarus: C++ Hyperspectral Processing Library
Hyperspectral Image Processing Pipeline
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Namespaces | Functions
utility.h File Reference
#include <armadillo>
#include <opencv2/opencv.hpp>
#include <iso646.h>
#include "utility_imp.h"
#include "ocv_tools.h"
#include "logger.h"
#include "nurbs.h"

Go to the source code of this file.




template<class T >
void scyl::nan_to_zero (T &in)
 nan_to_zero removes NaN values from a Armadillo data structure, replacing them with 0. More...
template<class T >
void scyl::zero_to_one (T &in)
 zero_to_one replaces 0's in an Armadillo data structure with 1's. More...
template<class T >
bool scyl::arma_cmp (const T &a, const T &b, const bool verbose=false, float eps=arma::Datum< float >::eps)
 arma_cmp compares two Armadillo objects for equality +- epsilon. More...
template<class T >
int scyl::arma_cmp_num (const T &a, const T &b, float eps)
template<class T >
float scyl::arma_cmp_sig_figs (const T &a, const T &b, int num_sig_figs=6)
 arma_cmp compares two Armadillo objects for equality. Instead of using a tolerance, test number of significant figures. More...
arma::fvec scyl::non_negative_least_squares_2 (arma::fmat a, arma::fvec b)
 non_negative_least_squares_2() gives a non negative solution for x to the problem of Ax = b. More...
void scyl::remove_bands (arma::fcube &in, arma::fvec &waves, arma::uvec remove)
 remove_bands() removes image bands from the given image cube. More...
void scyl::scale_cube (arma::fcube &in, int height, int width, int cv_interpolate_flag=cv::INTER_LINEAR)
 scale_cube() resamples a cube spatially using OpenCV resize methods. More...
float scyl::angle (const arma::fvec &a, const arma::fvec &b)
 angle returns the angle between two vectors in degrees. More...
void scyl::image_gradient (const arma::fmat &in, arma::fmat &gx, arma::fmat &gy)
 Calculates the gradients in the x and y directions for a given image. More...
arma::fmat scyl::arma_slice_mean (const arma::fcube &in)
 arma_slice_mean() takes an image cube and returns a mat which is the mean image of all the slices. More...
void scyl::register_image_bands (const arma::fcube &in, arma::fvec &coloff, arma::fvec &rowoff, int debug=0)
 register_image_bands() takes a image cube and attempts to automatically find the alignment of the bands in the image. More...
void scyl::align_image_bands (arma::fcube &in, arma::fvec &coloff, arma::fvec &rowoff, int debug=0)
 align_image_bands() aligns bands in an image according to the input row and column offsets. More...
void scyl::sort_bands (arma::fcube &I, arma::fvec &wavelengths)
 sort_bands() manipulates a Image cube and wavelengths vector. More...
arma::fmat scyl::resample_endmembers (const arma::fmat &in_endmembers, const arma::fvec &in_waves, const arma::fvec &in_waves_new)
 resample_endmembers() is used to change the number of bands an endmember matrix has using NURBS. More...