CSlopeStatistics Class Reference

Runs some statistics over a one-dimensional curve. More...

#include <mia/core/slopestatistics.hh>

Public Types

enum  EEnergyCenterpos { ecp_none = 0, ecp_begin, ecp_center, ecp_end }
 

Public Member Functions

 CSlopeStatistics (const std::vector< float > &series, int index)
 
 CSlopeStatistics (const CSlopeStatistics &other)=delete
 
float get_curve_length () const
 
float get_energy () const
 
std::pair< size_t, float > get_first_peak () const
 
std::pair< size_t, float > get_gradient_peak (int start_movement) const
 
int get_index () const
 
float get_level_change (size_t center) const
 
const std::vector< float > & get_level_coefficient_sums () const
 
const std::vector< EEnergyCenterpos > & get_level_mean_energy_position () const
 
int get_max_frequency_slot () const
 
float get_maximum_gradient_from_zero () const
 
CSlopeStatistics::EEnergyCenterpos get_mean_energy_position () const
 
float get_mean_frequency () const
 
float get_mean_frequency_level () const
 
std::pair< int, int > get_peak_level_and_time_index () const
 
float get_peak_wavelet_coefficient () const
 
std::pair< size_t, float > get_perfusion_high_peak () const
 
float get_positive_time_mean () const
 
float get_range () const
 
std::pair< size_t, float > get_second_peak () const
 
float get_wavelet_energy () const
 
 ~CSlopeStatistics ()
 

Detailed Description

Runs some statistics over a one-dimensional curve.

Evaluates some statistics about a one-dimensional mapping [0, 1,..., N-1] -> R. This is mostly used for myocardial perfusion analysis.

Definition at line 39 of file slopestatistics.hh.

Member Enumeration Documentation

◆ EEnergyCenterpos

Ths enumerate is used to identify the time position of the movement

Enumerator
ecp_none 

no identifictaion

ecp_begin 

movement only beginning of sequence

ecp_center 

movement throuout the sequence or only in the middle

ecp_end 

movement only end of sequence

Definition at line 44 of file slopestatistics.hh.

Constructor & Destructor Documentation

◆ CSlopeStatistics() [1/2]

CSlopeStatistics::CSlopeStatistics ( const std::vector< float > &  series,
int  index 
)

Initialize the statistice with the data of a curve

Parameters
series
indexcolum index of the series

◆ CSlopeStatistics() [2/2]

CSlopeStatistics::CSlopeStatistics ( const CSlopeStatistics other)
delete

The copy constructor is not allowed

◆ ~CSlopeStatistics()

CSlopeStatistics::~CSlopeStatistics ( )

Member Function Documentation

◆ get_curve_length()

float CSlopeStatistics::get_curve_length ( ) const
Returns
the curve length evaluated discretly, i.e. taking the \(\Delta\) x = 1 into account

◆ get_energy()

float CSlopeStatistics::get_energy ( ) const
Returns
the sum of the mean of the norms of the positive terms of the FFT of this curve

◆ get_first_peak()

std::pair<size_t, float> CSlopeStatistics::get_first_peak ( ) const
Returns
index and value for the minimum or the maximum (whichever has a lower index) of the curve

◆ get_gradient_peak()

std::pair<size_t, float> CSlopeStatistics::get_gradient_peak ( int  start_movement) const
Parameters
start_movementindicates the first index where a movement in the series starts. The part after this time point will be ignored in the gradinet evaluation
Returns
index and value for the maximum gradient of the curve

◆ get_index()

int CSlopeStatistics::get_index ( ) const
Returns
the index of this slope as it was stored

◆ get_level_change()

float CSlopeStatistics::get_level_change ( size_t  center) const

Evaluate the change in mean from before the indicated center to the mean after the indicated center. The value at the specified center is ignored.

Parameters
centerbalance point to evaluate change
Returns
difference in means

◆ get_level_coefficient_sums()

const std::vector<float>& CSlopeStatistics::get_level_coefficient_sums ( ) const
Returns
the sums of the absolute coefficient values per wavelet frequency level

◆ get_level_mean_energy_position()

const std::vector<EEnergyCenterpos>& CSlopeStatistics::get_level_mean_energy_position ( ) const
Returns
a vector containing the time point of identification of main movement

◆ get_max_frequency_slot()

int CSlopeStatistics::get_max_frequency_slot ( ) const
Returns
the index of the maximum frequency energy slot

◆ get_maximum_gradient_from_zero()

float CSlopeStatistics::get_maximum_gradient_from_zero ( ) const
Returns
the maximum value f(x)/x for this slope. This indicates the relation between the absolute value of the first intensity peak and its position in time. The larger the earlier in time and the higher.

◆ get_mean_energy_position()

CSlopeStatistics::EEnergyCenterpos CSlopeStatistics::get_mean_energy_position ( ) const
Returns
the mean of the movement positions over all frequency levels

◆ get_mean_frequency()

float CSlopeStatistics::get_mean_frequency ( ) const
Returns
the mean of the norms of the positive terms of the FFT of this curve

◆ get_mean_frequency_level()

float CSlopeStatistics::get_mean_frequency_level ( ) const
Returns
the mean frequency level based on a Wavelet analysis

◆ get_peak_level_and_time_index()

std::pair<int, int> CSlopeStatistics::get_peak_level_and_time_index ( ) const
Returns
the level and the time index of the wavelet conefficient with the largest absolute value

◆ get_peak_wavelet_coefficient()

float CSlopeStatistics::get_peak_wavelet_coefficient ( ) const
Returns
the absolute value of the peak wavelet coefficient

◆ get_perfusion_high_peak()

std::pair<size_t, float> CSlopeStatistics::get_perfusion_high_peak ( ) const
Returns
index of the global maximum if the curve is shifted to start at zero and raises first

◆ get_positive_time_mean()

float CSlopeStatistics::get_positive_time_mean ( ) const
Returns
mean time position of the first positive slope region
Remarks
experimental means to identify LV/RV enhancement slopes

◆ get_range()

float CSlopeStatistics::get_range ( ) const
Returns
the absolute range of the curve - i.e. max(series) - min(series)

◆ get_second_peak()

std::pair<size_t, float> CSlopeStatistics::get_second_peak ( ) const
Returns
index and value for the minimum or the maximum (whichever has a higher index) of the curve

◆ get_wavelet_energy()

float CSlopeStatistics::get_wavelet_energy ( ) const
Returns
the sum of the absolute values of the wavelet coefficient

The documentation for this class was generated from the following file: