slopestatistics.hh
Go to the documentation of this file.
/* -*- mia-c++ -*-
*
* This file is part of MIA - a toolbox for medical image analysis
* Copyright (c) Leipzig, Madrid 1999-2017 Gert Wollny
*
* MIA is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with MIA; if not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef mia_core_slopestatistics_hh
#define mia_core_slopestatistics_hh
#include <vector>
#include <memory>
#include <mia/core/defines.hh>
NS_MIA_BEGIN
class EXPORT_CORE CSlopeStatistics
{
public:
enum EEnergyCenterpos {
ecp_none = 0,
ecp_begin,
ecp_center,
ecp_end
};
CSlopeStatistics(const std::vector<float>& series, int index);
CSlopeStatistics(const CSlopeStatistics& other) = delete;
~CSlopeStatistics();
float get_curve_length() const;
float get_range() const;
float get_mean_frequency() const;
int get_max_frequency_slot() const;
float get_energy() const;
float get_mean_frequency_level() const;
std::pair<int, int> get_peak_level_and_time_index() const;
float get_maximum_gradient_from_zero() const;
float get_peak_wavelet_coefficient() const;
float get_wavelet_energy() const;
std::pair<size_t, float> get_first_peak() const;
std::pair<size_t, float> get_second_peak() const;
std::pair<size_t, float> get_perfusion_high_peak() const;
std::pair<size_t, float> get_gradient_peak(int start_movement) const;
const std::vector<float>& get_level_coefficient_sums() const;
const std::vector<EEnergyCenterpos>& get_level_mean_energy_position() const;
CSlopeStatistics::EEnergyCenterpos get_mean_energy_position() const;
float get_positive_time_mean() const;
float get_level_change(size_t center) const;
int get_index() const;
private:
struct CSlopeStatisticsImpl *impl;
};
typedef std::shared_ptr<CSlopeStatistics > PSlopeStatistics;
NS_MIA_END
#endif // mia_core_slopestatistics_hh
CSlopeStatistics::get_wavelet_energy
float get_wavelet_energy() const
CSlopeStatistics::get_curve_length
float get_curve_length() const
CSlopeStatistics::CSlopeStatistics
CSlopeStatistics(const CSlopeStatistics &other)=delete
CSlopeStatistics::get_mean_energy_position
CSlopeStatistics::EEnergyCenterpos get_mean_energy_position() const
CSlopeStatistics::get_peak_wavelet_coefficient
float get_peak_wavelet_coefficient() const
CSlopeStatistics::CSlopeStatistics
CSlopeStatistics(const std::vector< float > &series, int index)
CSlopeStatistics::EEnergyCenterpos
EEnergyCenterpos
Definition slopestatistics.hh:45
CSlopeStatistics::ecp_begin
@ ecp_begin
Definition slopestatistics.hh:47
CSlopeStatistics::ecp_center
@ ecp_center
Definition slopestatistics.hh:48
CSlopeStatistics::ecp_end
@ ecp_end
Definition slopestatistics.hh:49
CSlopeStatistics::ecp_none
@ ecp_none
Definition slopestatistics.hh:46
CSlopeStatistics::get_maximum_gradient_from_zero
float get_maximum_gradient_from_zero() const
CSlopeStatistics::get_gradient_peak
std::pair< size_t, float > get_gradient_peak(int start_movement) const
CSlopeStatistics::get_perfusion_high_peak
std::pair< size_t, float > get_perfusion_high_peak() const
CSlopeStatistics::get_index
int get_index() const
CSlopeStatistics::get_level_mean_energy_position
const std::vector< EEnergyCenterpos > & get_level_mean_energy_position() const
CSlopeStatistics::get_mean_frequency
float get_mean_frequency() const
CSlopeStatistics::get_max_frequency_slot
int get_max_frequency_slot() const
CSlopeStatistics::get_energy
float get_energy() const
CSlopeStatistics::~CSlopeStatistics
~CSlopeStatistics()
CSlopeStatistics::get_second_peak
std::pair< size_t, float > get_second_peak() const
CSlopeStatistics::get_level_change
float get_level_change(size_t center) const
CSlopeStatistics::get_peak_level_and_time_index
std::pair< int, int > get_peak_level_and_time_index() const
CSlopeStatistics::get_positive_time_mean
float get_positive_time_mean() const
CSlopeStatistics::get_mean_frequency_level
float get_mean_frequency_level() const
CSlopeStatistics::get_first_peak
std::pair< size_t, float > get_first_peak() const
CSlopeStatistics::get_level_coefficient_sums
const std::vector< float > & get_level_coefficient_sums() const
CSlopeStatistics::get_range
float get_range() const
defines.hh
NS_MIA_BEGIN
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
Definition defines.hh:33
EXPORT_CORE
#define EXPORT_CORE
Macro to manage Visual C++ style dllimport/dllexport.
Definition defines.hh:101
NS_MIA_END
#define NS_MIA_END
conveniance define to end the mia namespace
Definition defines.hh:36
PSlopeStatistics
std::shared_ptr< CSlopeStatistics > PSlopeStatistics
Pointer type for the CSlopeStatistics class.
Definition slopestatistics.hh:155