brainrat-private
5.1.2
|
#include <iomanip>
#include <cartobase/type/string_conversion.h>
#include <aims/io/process.h>
#include <aims/io/io_g.h>
#include <aims/data/data_g.h>
#include <aims/math/mathelem.h>
#include <aims/morphology/morphology_g.h>
#include <aims/utility/converter_g.h>
Go to the source code of this file.
Classes | |
class | SlicesDetector |
class | SlicesStacker |
class | RGBSlicesStacker |
class | GreyLevelSlicesStacker |
struct | Component |
struct | Tests |
struct | Maxima |
class | HistologyScanSlicesDetector |
Macros | |
#define | INCH 25.49 |
#define | NB_MODES 2 |
#define | MIN_HISTO 0 |
#define | MAX_HISTO 64 |
#define | MAX_INT16_T 32767 |
#define | MAX_ITER 500 |
#define | MID_WINDOW 4 |
#define | FRACTION 3.0 |
#define | BORDER_LOCAL 10 |
#define | BORDER_GLOBAL 50 |
#define | PERCENT_SURFACE .2 |
#define | EROSION 1 |
Typedefs | |
typedef struct Component * | ComponentPtr |
typedef struct Tests * | TestsPtr |
typedef struct Maxima * | MaximaPtr |
typedef std::vector< Component >::iterator | CompIterator |
typedef std::vector< Maxima >::iterator | MaxIterator |
Enumerations | |
enum | ContinuityParameterTested { ComponentSurface , ComponentSize_hz , ComponentSize_vt } |
enum | Direction { Horizontal , Vertical } |
enum | HistoAnalysisFunction { HistogramMode , ProjectionMode } |
Functions | |
Maxima | affectMaxima (int32_t iter, int32_t num, int32_t val, int32_t pos, int32_t extr) |
void | writeComponents (std::vector< Component > &comp) |
void | writeVector3int32_t (std::vector< AimsVector< int32_t, 3 > > &vect) |
void | writeVectorInt32_t (std::vector< int32_t > &vect) |
void | writeAimsInt32_t (carto::VolumeRef< int32_t > &vol) |
void | writeAimsFloat (carto::VolumeRef< float > &vol) |
void | writeMaxima (std::vector< Maxima > &mxm) |
void | writeMaximaIter (std::vector< Maxima > &mxm, int32_t iter) |
template<class T > | |
float | computeHistogramRatio (const carto::VolumeRef< T > &vol, const int32_t bins) |
carto::VolumeRef< int32_t > | generateHistogram (const carto::VolumeRef< int16_t > &vol, const int32_t bins=MAX_HISTO) |
std::vector< AimsVector< int32_t, 3 > > | updateVDM (std::vector< AimsVector< int32_t, 3 > > &vdm) |
carto::VolumeRef< int16_t > | applyThreshold (const carto::VolumeRef< int16_t > &vol, const int16_t threshold_lower_bound, const int16_t threshold_upper_bound, const int16_t new_value=MAX_INT16_T) |
carto::VolumeRef< int16_t > | computeConnexComponent (carto::VolumeRef< int16_t > &vol) |
std::vector< Component > | removeComponent (std::vector< Component > cpnt, int32_t l) |
std::vector< Component > | removeComponents (const std::vector< Component > &cpnt, const std::vector< Component > &to_remove) |
std::vector< Component > | insertComponent (std::vector< Component > cpnt, int32_t comp, std::vector< Component > cpnt2slices, int32_t l) |
std::vector< int32_t > | getComponentLabels (const std::vector< Component > &cpnt) |
std::vector< Component > | extractInformationFromComponent (const carto::VolumeRef< int16_t > &vol) |
Tests | testComponents (const std::vector< Component > &cpnt, int32_t number_cpnt) |
void | displayComponentsStrategy (const std::vector< Component > &cpnt) |
void | displayStatus (const Tests &t) |
bool | isValid (const Tests &t) |
std::vector< int32_t > | extractVectorFromComponent (std::vector< Component > cpnt, ContinuityParameterTested param) |
std::vector< Component > | processMedianConsistencyParameters (std::vector< Component > &cpnt, float variation, int32_t mid_window=0) |
carto::VolumeRef< int32_t > | projectData (carto::VolumeRef< int16_t > &X) |
carto::VolumeRef< int16_t > | transposeVolume (carto::VolumeRef< int16_t > &vol) |
bool | removeComponentsInVolume (carto::VolumeRef< int16_t > &vol, const std::vector< Component > &to_remove) |
carto::VolumeRef< int16_t > | extractFromVolume (const carto::VolumeRef< int16_t > &vol, const int32_t x, const int32_t X, const int32_t y, const int32_t Y, const int32_t old_label, const int32_t new_label) |
bool | copyToVolume (const carto::VolumeRef< int16_t > &vol, carto::VolumeRef< int16_t > &destvol, const int32_t x, const int32_t X, const int32_t y, const int32_t Y, const int32_t old_label, const int32_t new_label) |
std::vector< Component > | openingComponent (std::vector< Component > &cpnt, int32_t comp, carto::VolumeRef< int16_t > vol, float fraction) |
std::vector< Component > | separateComponent (std::vector< Component > &cpnt, int32_t comp, carto::VolumeRef< int16_t > vol, int32_t min_surface, Direction dir, float fraction) |
std::vector< Component > | getOutliersBySurface (const std::vector< Component > &cpnt, const float min_surface) |
std::vector< Component > | getOutliersByWeight (const std::vector< Component > &cpnt, const int32_t slices_number) |
std::vector< Component > | filterComponentsBySurface (const std::vector< Component > &cpnt, const float min_surface) |
std::vector< Component > | weightedRemoveComponents (std::vector< Component > &cpnt, int32_t slices_number) |
std::vector< Component > | processOutlierComponent (std::vector< Component > &cpnt, carto::VolumeRef< int16_t > &vol, int32_t min_surface, int32_t slices_number, float fraction) |
int32_t | getDimensionCount (std::vector< int32_t > dimensionsizes) |
std::vector< Component > | changeComponentsIndex (std::vector< Component > &components, std::vector< int32_t > dimensionsizes, std::vector< int32_t > dimensionorders, int32_t offset=1, int32_t step=1) |
bool | compareComponentsByLabelM (const Component &c1, const Component &c2) |
std::vector< Component > | sortComponent (std::vector< Component > &cpnt, std::vector< int32_t > dimensionsizes) |
carto::VolumeRef< int16_t > | applyNewLabelling (std::vector< Component > cpnt, carto::VolumeRef< int16_t > vol) |
template<class T > | |
bool | detectSlices (aims::Process &p, const std::string &, aims::Finder &) |
int32_t | extractMaxima (std::vector< int32_t > vctr) |
template<class T > | |
void | rescale (carto::VolumeRef< T > &in, carto::RescalerInfo &info) |
template<class T > | |
bool | writeStackedSlices (int32_t dx, int32_t dy, int32_t res, float z, T background, std::vector< Component > &cpnt, carto::VolumeRef< T > &vol, std::string outputfile, std::string format) |
template<class T > | |
bool | writeNumberedSlices (int32_t dx, int32_t dy, int32_t res, float z, T background, std::vector< Component > &cpnt, carto::VolumeRef< T > &vol, std::string outputdir, std::string outputname, std::string format, uint8_t slicemin) |
template<class T > | |
float | getVoxelLebesgue (const carto::VolumeRef< T > &vol) |
template<class T > | |
int32_t | getVoxelCount (const carto::VolumeRef< T > &vol, float value) |
template<class T > | |
T | background (std::vector< Component > &cpnt, carto::VolumeRef< T > &vol) |
template<> | |
AimsRGB | background< AimsRGB > (std::vector< Component > &cpnt, carto::VolumeRef< AimsRGB > &vol) |
template<> | |
AimsRGBA | background< AimsRGBA > (std::vector< Component > &cpnt, carto::VolumeRef< AimsRGBA > &vol) |
typedef std::vector<Component>::iterator CompIterator |
typedef struct Component * ComponentPtr |
typedef std::vector<Maxima>::iterator MaxIterator |
Maxima affectMaxima | ( | int32_t | iter, |
int32_t | num, | ||
int32_t | val, | ||
int32_t | pos, | ||
int32_t | extr | ||
) |
carto::VolumeRef<int16_t> applyNewLabelling | ( | std::vector< Component > | cpnt, |
carto::VolumeRef< int16_t > | vol | ||
) |
carto::VolumeRef<int16_t> applyThreshold | ( | const carto::VolumeRef< int16_t > & | vol, |
const int16_t | threshold_lower_bound, | ||
const int16_t | threshold_upper_bound, | ||
const int16_t | new_value = MAX_INT16_T |
||
) |
|
inline |
Definition at line 489 of file slices.h.
References Component::abscissa_x, Component::abscissa_X, BORDER_LOCAL, Component::bounding_hz, Component::bounding_vt, Component::ordinate_y, and Component::ordinate_Y.
Referenced by writeNumberedSlices(), and writeStackedSlices().
|
inline |
Definition at line 528 of file slices.h.
References Component::abscissa_x, Component::abscissa_X, BORDER_LOCAL, Component::bounding_hz, Component::bounding_vt, Component::ordinate_y, and Component::ordinate_Y.
|
inline |
Definition at line 579 of file slices.h.
References Component::abscissa_x, Component::abscissa_X, BORDER_LOCAL, Component::bounding_hz, Component::bounding_vt, Component::ordinate_y, and Component::ordinate_Y.
std::vector<Component> changeComponentsIndex | ( | std::vector< Component > & | components, |
std::vector< int32_t > | dimensionsizes, | ||
std::vector< int32_t > | dimensionorders, | ||
int32_t | offset = 1 , |
||
int32_t | step = 1 |
||
) |
Referenced by individStackSlices().
carto::VolumeRef<int16_t> computeConnexComponent | ( | carto::VolumeRef< int16_t > & | vol | ) |
float computeHistogramRatio | ( | const carto::VolumeRef< T > & | vol, |
const int32_t | bins | ||
) |
bool copyToVolume | ( | const carto::VolumeRef< int16_t > & | vol, |
carto::VolumeRef< int16_t > & | destvol, | ||
const int32_t | x, | ||
const int32_t | X, | ||
const int32_t | y, | ||
const int32_t | Y, | ||
const int32_t | old_label, | ||
const int32_t | new_label | ||
) |
bool detectSlices | ( | aims::Process & | p, |
const std::string & | , | ||
aims::Finder & | |||
) |
Definition at line 23 of file slices_d.h.
References HistologyScanSlicesDetector::analyze(), HistologyScanSlicesDetector::boundingBoxes(), SlicesDetector::c, SlicesDetector::disable_checks, SlicesDetector::fileIn, SlicesDetector::fileOut, SlicesDetector::fraction, SlicesDetector::ht, SlicesDetector::lt, MAX_HISTO, SlicesDetector::min_size, SlicesDetector::n, NB_MODES, and SlicesDetector::res.
void displayComponentsStrategy | ( | const std::vector< Component > & | cpnt | ) |
void displayStatus | ( | const Tests & | t | ) |
carto::VolumeRef<int16_t> extractFromVolume | ( | const carto::VolumeRef< int16_t > & | vol, |
const int32_t | x, | ||
const int32_t | X, | ||
const int32_t | y, | ||
const int32_t | Y, | ||
const int32_t | old_label, | ||
const int32_t | new_label | ||
) |
std::vector<Component> extractInformationFromComponent | ( | const carto::VolumeRef< int16_t > & | vol | ) |
int32_t extractMaxima | ( | std::vector< int32_t > | vctr | ) |
Referenced by writeNumberedSlices(), and writeStackedSlices().
std::vector<int32_t> extractVectorFromComponent | ( | std::vector< Component > | cpnt, |
ContinuityParameterTested | param | ||
) |
Referenced by writeNumberedSlices(), and writeStackedSlices().
std::vector<Component> filterComponentsBySurface | ( | const std::vector< Component > & | cpnt, |
const float | min_surface | ||
) |
carto::VolumeRef<int32_t> generateHistogram | ( | const carto::VolumeRef< int16_t > & | vol, |
const int32_t | bins = MAX_HISTO |
||
) |
std::vector<int32_t> getComponentLabels | ( | const std::vector< Component > & | cpnt | ) |
int32_t getDimensionCount | ( | std::vector< int32_t > | dimensionsizes | ) |
std::vector<Component> getOutliersBySurface | ( | const std::vector< Component > & | cpnt, |
const float | min_surface | ||
) |
std::vector<Component> getOutliersByWeight | ( | const std::vector< Component > & | cpnt, |
const int32_t | slices_number | ||
) |
int32_t getVoxelCount | ( | const carto::VolumeRef< T > & | vol, |
float | value | ||
) |
float getVoxelLebesgue | ( | const carto::VolumeRef< T > & | vol | ) |
std::vector<Component> insertComponent | ( | std::vector< Component > | cpnt, |
int32_t | comp, | ||
std::vector< Component > | cpnt2slices, | ||
int32_t | l | ||
) |
bool isValid | ( | const Tests & | t | ) |
std::vector<Component> openingComponent | ( | std::vector< Component > & | cpnt, |
int32_t | comp, | ||
carto::VolumeRef< int16_t > | vol, | ||
float | fraction | ||
) |
std::vector<Component> processMedianConsistencyParameters | ( | std::vector< Component > & | cpnt, |
float | variation, | ||
int32_t | mid_window = 0 |
||
) |
std::vector<Component> processOutlierComponent | ( | std::vector< Component > & | cpnt, |
carto::VolumeRef< int16_t > & | vol, | ||
int32_t | min_surface, | ||
int32_t | slices_number, | ||
float | fraction | ||
) |
carto::VolumeRef<int32_t> projectData | ( | carto::VolumeRef< int16_t > & | X | ) |
std::vector<Component> removeComponents | ( | const std::vector< Component > & | cpnt, |
const std::vector< Component > & | to_remove | ||
) |
bool removeComponentsInVolume | ( | carto::VolumeRef< int16_t > & | vol, |
const std::vector< Component > & | to_remove | ||
) |
void rescale | ( | carto::VolumeRef< T > & | in, |
carto::RescalerInfo & | info | ||
) |
std::vector<Component> separateComponent | ( | std::vector< Component > & | cpnt, |
int32_t | comp, | ||
carto::VolumeRef< int16_t > | vol, | ||
int32_t | min_surface, | ||
Direction | dir, | ||
float | fraction | ||
) |
std::vector<Component> sortComponent | ( | std::vector< Component > & | cpnt, |
std::vector< int32_t > | dimensionsizes | ||
) |
Referenced by individStackSlices().
carto::VolumeRef<int16_t> transposeVolume | ( | carto::VolumeRef< int16_t > & | vol | ) |
std::vector<AimsVector<int32_t, 3> > updateVDM | ( | std::vector< AimsVector< int32_t, 3 > > & | vdm | ) |
std::vector<Component> weightedRemoveComponents | ( | std::vector< Component > & | cpnt, |
int32_t | slices_number | ||
) |
void writeAimsFloat | ( | carto::VolumeRef< float > & | vol | ) |
void writeAimsInt32_t | ( | carto::VolumeRef< int32_t > & | vol | ) |
void writeComponents | ( | std::vector< Component > & | comp | ) |
Referenced by individStackSlices().
void writeMaxima | ( | std::vector< Maxima > & | mxm | ) |
void writeMaximaIter | ( | std::vector< Maxima > & | mxm, |
int32_t | iter | ||
) |
bool writeNumberedSlices | ( | int32_t | dx, |
int32_t | dy, | ||
int32_t | res, | ||
float | z, | ||
T | background, | ||
std::vector< Component > & | cpnt, | ||
carto::VolumeRef< T > & | vol, | ||
std::string | outputdir, | ||
std::string | outputname, | ||
std::string | format, | ||
uint8_t | slicemin | ||
) |
Definition at line 361 of file slices_d.h.
References background(), BORDER_GLOBAL, BORDER_LOCAL, ComponentSize_hz, ComponentSize_vt, extractMaxima(), extractVectorFromComponent(), and INCH.
Referenced by individStackSlices().
bool writeStackedSlices | ( | int32_t | dx, |
int32_t | dy, | ||
int32_t | res, | ||
float | z, | ||
T | background, | ||
std::vector< Component > & | cpnt, | ||
carto::VolumeRef< T > & | vol, | ||
std::string | outputfile, | ||
std::string | format | ||
) |
Definition at line 273 of file slices_d.h.
References background(), BORDER_GLOBAL, BORDER_LOCAL, ComponentSize_hz, ComponentSize_vt, extractMaxima(), extractVectorFromComponent(), and INCH.
Referenced by individStackSlices().
void writeVector3int32_t | ( | std::vector< AimsVector< int32_t, 3 > > & | vect | ) |
void writeVectorInt32_t | ( | std::vector< int32_t > & | vect | ) |