main class for VFAT. This combines all the methods etc. More...
#include <VFAT/featureClusterVision.H>
Public Member Functions | |
featureClusterVision (OptionManager &mgr, const std::string &descrName, const std::string &tagName, nub::soft_ref< StdBrain > &_brain, nub::soft_ref< InputFrameSeries > &_ifs, const std::string &extraArg0) | |
featureClusterVision (OptionManager &mgr, const std::string &descrName, const std::string &tagName, Image< FLOAT > *salMap, typename std::vector< Image< FLOAT > > *cmaps, nub::soft_ref< InputFrameSeries > &_ifs, const std::string &extraArg0) | |
fCV without a std brain, user must supply saliency stuff externally | |
void | fCVsetUpfCV (OptionManager &mgr, const std::string &descrName, const std::string &tagName, nub::soft_ref< InputFrameSeries > &_ifs, const std::string &extraArg0) |
called by default constructor to initialize this class | |
void | fCVmixChannels (std::vector< std::vector< FLOAT > > *data, int ch1a, int ch1b, int ch2a, int ch2b, typename std::vector< FLOAT > *outAlpha, typename std::vector< FLOAT > *outBeta, typename std::vector< FLOAT > *outGamma, FLOAT norm1, FLOAT norm2, int size) |
When called, this mixes the four channels together into a single channle. | |
void | fCVmixChannels (Image< FLOAT > &img0, Image< FLOAT > &img45, Image< FLOAT > &img90, Image< FLOAT > &img135, Image< FLOAT > *Alpha, Image< FLOAT > *Beta, Image< FLOAT > *Gamma) |
When called, this mixes the four channels together into a single channle. | |
void | fCVfindMixedChannels () |
This calles mixChannels over the entire dataset. | |
void | fCVcheckMixing () |
when called this extracts the features at the most salient point | |
void | fCVcheckICA () |
When called this will print out an ICA/PCA representation of each channle. | |
void | fCVcheckICA (int channel, bool findMixed) |
When called this will print out an ICA/PCA representation of each channle. | |
void | fCVcheckMotionCombined (long frame) |
check the output from the combined motion channel | |
void | fCVfeaturesToFile (std::string fileName, bool _new) |
void | fCVrunStandAloneMSBatchFilter (std::string filename) |
check stand alone feature extraction | |
void | fCVrunStandAloneMSBatchTest (std::string filename) |
check stand alone feature extraction | |
void | fCVICAfeaturesToFile (std::string fileName) |
void | fCVclusterImage () |
main method to call for most purposes | |
void | fCVsaccadeTest (std::string _maskFile, std::string _outFile, std::string _label, std::string _fileName) |
A test method to use with raw saccade data. | |
void | fCVstandAloneFeatureTest (std::string _fileName) |
test stand alone feature extraction | |
void | fCVgetImageBaseStats (std::string _maskFile, std::string _imageFile, std::string _outFile, std::string _label) |
fetches an images base statistics | |
void | fCVgetImageComplexStats (std::string _maskFile, std::string _imageFile, std::string _outFile, std::string _label) |
fetches an images base statistics | |
void | fCVuploadImage (Image< PixRGB< byte > > &input, std::string fileName) |
upload a raw copy of the image | |
void | fCVprintOutClusters () |
void | fCVprintOutCovSlices (int sizeX, int sizeY) |
void | fCVprintOutBayesClass () |
void | fCVprintOutNeighborClass () |
void | fCVdumpCovMatrix (std::string fileName) |
std::vector< covHolder< double > > | fCVgetCovHolders () |
get the signature data from this class | |
unsigned int | fCVgetCovHolderSize () |
how many signatures do we have | |
void | fCVgetClusterImages (Image< PixRGB< FLOAT > > *classImage, Image< PixRGB< FLOAT > > *temporalImage, Image< PixRGB< FLOAT > > *targetImage, Image< FLOAT > *salMap) |
get back images of clusters for analysis | |
void | fCVprocessOutSaccadeData (std::string maskFile, std::string outFile, std::string _label) |
main class for VFAT. This combines all the methods etc.
this class takes NPclassify2, covEstimate, Brain/saliency as well as ICA/PCA methods to create a saliency based tracking and simple identification program.
There are also many test methods for the different elements in this class
Definition at line 82 of file featureClusterVision.H.
featureClusterVision< FLOAT >::featureClusterVision | ( | OptionManager & | mgr, | |
const std::string & | descrName, | |||
const std::string & | tagName, | |||
Image< FLOAT > * | salMap, | |||
typename std::vector< Image< FLOAT > > * | cmaps, | |||
nub::soft_ref< InputFrameSeries > & | _ifs, | |||
const std::string & | extraArg0 | |||
) | [inline] |
fCV without a std brain, user must supply saliency stuff externally
Definition at line 128 of file featureClusterVision.C.
References featureClusterVision< FLOAT >::fCVsetUpfCV().
void featureClusterVision< FLOAT >::fCVcheckICA | ( | int | channel, | |
bool | findMixed | |||
) |
When called this will print out an ICA/PCA representation of each channle.
This shows the end result of the ICA/PCA process on this feature channel
void featureClusterVision< FLOAT >::fCVcheckICA | ( | ) |
When called this will print out an ICA/PCA representation of each channle.
This shows the end result of the ICA/PCA process on each feature channel
void featureClusterVision< FLOAT >::fCVcheckMixing | ( | ) |
when called this extracts the features at the most salient point
Most likely you will not need to ever call this unless you are just trying to get the most salient points plus the mixed orientations
void featureClusterVision< FLOAT >::fCVcheckMotionCombined | ( | long | frame | ) |
check the output from the combined motion channel
void featureClusterVision< FLOAT >::fCVclusterImage | ( | ) | [inline] |
main method to call for most purposes
Definition at line 2992 of file featureClusterVision.C.
References featureClusterVision< FLOAT >::fCVfindMixedChannels(), Timer::get(), and Timer::reset().
void featureClusterVision< FLOAT >::fCVfeaturesToFile | ( | std::string | fileName, | |
bool | _new = false | |||
) | [inline] |
when called this will output features to a file and quit when called this will output post ICA features to a file and quit
Definition at line 1250 of file featureClusterVision.C.
References featureClusterVision< FLOAT >::fCVfindMixedChannels().
void featureClusterVision< FLOAT >::fCVfindMixedChannels | ( | ) | [inline] |
This calles mixChannels over the entire dataset.
Definition at line 817 of file featureClusterVision.C.
References featureClusterVision< FLOAT >::fCVmixChannels().
Referenced by featureClusterVision< FLOAT >::fCVclusterImage(), featureClusterVision< FLOAT >::fCVfeaturesToFile(), featureClusterVision< FLOAT >::fCVsaccadeTest(), and featureClusterVision< FLOAT >::fCVstandAloneFeatureTest().
void featureClusterVision< FLOAT >::fCVgetClusterImages | ( | Image< PixRGB< FLOAT > > * | classImage, | |
Image< PixRGB< FLOAT > > * | temporalImage, | |||
Image< PixRGB< FLOAT > > * | targetImage, | |||
Image< FLOAT > * | salMap | |||
) | [inline] |
get back images of clusters for analysis
Definition at line 3633 of file featureClusterVision.C.
std::vector< covHolder< double > > featureClusterVision< FLOAT >::fCVgetCovHolders | ( | ) | [inline] |
get the signature data from this class
Definition at line 3619 of file featureClusterVision.C.
unsigned int featureClusterVision< FLOAT >::fCVgetCovHolderSize | ( | ) | [inline] |
how many signatures do we have
Definition at line 3626 of file featureClusterVision.C.
void featureClusterVision< FLOAT >::fCVgetImageBaseStats | ( | std::string | _maskFile, | |
std::string | _imageFile, | |||
std::string | _outFile, | |||
std::string | _label | |||
) | [inline] |
fetches an images base statistics
Definition at line 3741 of file featureClusterVision.C.
References Image< T >::getHeight(), PixRGB< T >::getHSV(), Image< T >::getVal(), Image< T >::getWidth(), RASFMT_PNM, Raster::ReadGray(), Raster::ReadRGB(), and sqrt().
void featureClusterVision< FLOAT >::fCVgetImageComplexStats | ( | std::string | _maskFile, | |
std::string | _imageFile, | |||
std::string | _outFile, | |||
std::string | _label | |||
) | [inline] |
fetches an images base statistics
Definition at line 3914 of file featureClusterVision.C.
References abs(), Image< T >::beginw(), CONV_BOUNDARY_ZERO, convolve(), downscaleFancy(), Image< T >::endw(), featureClusterVision< FLOAT >::fCVmixChannels(), Image< T >::getHeight(), Image< T >::getWidth(), inplaceAttenuateBorders(), RASFMT_PNM, Raster::ReadGray(), Raster::ReadRGB(), sformat(), sqrt(), and Raster::WriteGray().
void featureClusterVision< FLOAT >::fCVmixChannels | ( | Image< FLOAT > & | img0, | |
Image< FLOAT > & | img45, | |||
Image< FLOAT > & | img90, | |||
Image< FLOAT > & | img135, | |||
Image< FLOAT > * | Alpha, | |||
Image< FLOAT > * | Beta, | |||
Image< FLOAT > * | Gamma | |||
) | [inline] |
When called, this mixes the four channels together into a single channle.
This works by finding the normalized difference between the output of two orthogonal channles. Then it averages the results over all the channels specified. This works to find the rotation invariant properties of orientation responses. This is like the other mixChannels however, this works off of Image class images.
img0 | An image filtered at 0 degrees | |
img45 | An image filtered at 45 degrees | |
img90 | An image filtered at 90 degrees | |
img135 | An image filtered at 135 degrees | |
Alpha | This is an image of lineyness in an image | |
Beta | This is an image of the crossyness in an image | |
Gamma | This is the junction results with crisp crosses | |
norm1 | This is a normalizer in (img0+img90)/norm | |
norm2 | This is a normalizer in (img45+img135)/norm |
Definition at line 780 of file featureClusterVision.C.
References abs(), and getMinMax().
void featureClusterVision< FLOAT >::fCVmixChannels | ( | std::vector< std::vector< FLOAT > > * | data, | |
int | ch1a, | |||
int | ch1b, | |||
int | ch2a, | |||
int | ch2b, | |||
typename std::vector< FLOAT > * | outAlpha, | |||
typename std::vector< FLOAT > * | outBeta, | |||
typename std::vector< FLOAT > * | outGamma, | |||
FLOAT | norm1, | |||
FLOAT | norm2, | |||
int | size = 0 | |||
) | [inline] |
When called, this mixes the four channels together into a single channle.
This works by finding the normalized difference between the output of two orthogonal channles. Then it averages the results over all the channels specified. This works to find the rotation invariant properties of orientation responses.
data | This is the raw channle input | |
ch1a | this is the first channle input | |
ch1b | this is the orthogonal channel to ch1a | |
ch2a | this is the second channel set to work in | |
ch2b | this is the orthogonal channel to ch2a | |
outAlpha | this is a vector of the mixed channels strength | |
outBeta | this is a vector of the mixed channels line clearity | |
outGamma | this is a vector of the mixed channels junction clearity | |
norm1 | this is a normalizer over ch1a and ch1b (e.g. Max value) | |
norm2 | this is a normalizer over ch2a and ch2b (e.g. Max value) |
Definition at line 728 of file featureClusterVision.C.
References ASSERT.
Referenced by featureClusterVision< FLOAT >::fCVfindMixedChannels(), and featureClusterVision< FLOAT >::fCVgetImageComplexStats().
void featureClusterVision< FLOAT >::fCVrunStandAloneMSBatchFilter | ( | std::string | filename | ) | [inline] |
check stand alone feature extraction
Definition at line 1287 of file featureClusterVision.C.
References Timer::get(), H1, H2, multiScaleBatchFilter(), multiScaleJunctionFilter(), and Timer::reset().
Referenced by featureClusterVision< FLOAT >::fCVstandAloneFeatureTest().
void featureClusterVision< FLOAT >::fCVrunStandAloneMSBatchTest | ( | std::string | filename | ) | [inline] |
check stand alone feature extraction
Definition at line 1424 of file featureClusterVision.C.
References Image< T >::beginw(), FLOAT_NORM_0_255, Timer::get(), Image< T >::getHeight(), Image< T >::getVal(), Image< T >::getWidth(), H1, H2, logsig(), matrixMult(), multiScaleBatchFilter(), multiScaleJunctionFilter(), Timer::reset(), Image< T >::resize(), Image< T >::setVal(), sformat(), and Raster::VisuFloat().
void featureClusterVision< FLOAT >::fCVsaccadeTest | ( | std::string | _maskFile, | |
std::string | _outFile, | |||
std::string | _label, | |||
std::string | _fileName | |||
) | [inline] |
A test method to use with raw saccade data.
Definition at line 3142 of file featureClusterVision.C.
References featureClusterVision< FLOAT >::fCVfindMixedChannels(), Timer::get(), and Timer::reset().
void featureClusterVision< FLOAT >::fCVsetUpfCV | ( | OptionManager & | mgr, | |
const std::string & | descrName, | |||
const std::string & | tagName, | |||
nub::soft_ref< InputFrameSeries > & | _ifs, | |||
const std::string & | extraArg0 | |||
) | [inline] |
called by default constructor to initialize this class
Definition at line 148 of file featureClusterVision.C.
References Image< T >::getHeight(), readConfig::getItemValueB(), readConfig::getItemValueF(), readConfig::getItemValueS(), ModelComponent::getManager(), OptionManager::getOptionValString(), Image< T >::getWidth(), readConfig::openFile(), RASFMT_PNM, Raster::ReadRGB(), and Image< T >::resize().
Referenced by featureClusterVision< FLOAT >::featureClusterVision().
void featureClusterVision< FLOAT >::fCVstandAloneFeatureTest | ( | std::string | _fileName | ) | [inline] |
test stand alone feature extraction
t3 = t2; // what is that supposed to do?
t3 = t2 - t3; // and what about that one??
Definition at line 3211 of file featureClusterVision.C.
References featureClusterVision< FLOAT >::fCVfindMixedChannels(), featureClusterVision< FLOAT >::fCVrunStandAloneMSBatchFilter(), Timer::get(), and Timer::reset().
void featureClusterVision< FLOAT >::fCVuploadImage | ( | Image< PixRGB< byte > > & | input, | |
std::string | fileName | |||
) | [inline] |
upload a raw copy of the image
Definition at line 703 of file featureClusterVision.C.
References Image< T >::getHeight(), and Image< T >::getWidth().