CSlopeStatistics Class Reference
Perfusion Analysis

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 CSlopeStatistics &other)=delete
| CSlopeStatistics (const std::vector< float > &series, int index)
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

enum CSlopeStatistics::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 45 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 |
  index | colum index of the series

Referenced by CSlopeStatistics().

## CSlopeStatistics() [2/2]

CSlopeStatistics::CSlopeStatistics | ( | const CSlopeStatistics & | other | ) |

delete

The copy constructor is not allowed

References CSlopeStatistics().

## ~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_movement | indicates 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

  center | balance 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:

- slopestatistics.hh