|
My Project
|
A class to run an ICA on a heart perfusion series. More...
#include <mia/2d/perfusion.hh>
Public Types | |
| enum | EBoxSegmentation { bs_delta_feature , bs_delta_peak , bs_features , bs_unknown } |
| Possible bases for LV-RV heart segmentation. More... | |
Public Member Functions | |
| C2DPerfusionAnalysis (size_t components, bool normalize, bool meanstrip) | |
| P2DFilter | get_crop_filter (float scale, C2DBounds &crop_start, EBoxSegmentation approach, const std::string &save_features="") const |
| P2DImage | get_feature_image (int index) const |
| int | get_LV_idx () const |
| int | get_LV_peak_idx () const __attribute__((deprecated)) |
| int | get_LV_peak_time () const |
| std::vector< float > | get_mixing_curve (unsigned idx) const |
| int | get_movement_idx () const |
| int | get_perfusion_idx () const |
| std::vector< C2DFImage > | get_references () const |
| int | get_RV_idx () const |
| int | get_RV_peak_idx () const __attribute__((deprecated)) |
| int | get_RV_peak_time () const |
| bool | has_movement () const |
| bool | run (const std::vector< C2DFImage > &series, const CIndepCompAnalysisFactory &icatool) |
| void | save_coefs (const std::string &coefs_name) const |
| void | save_feature_images (const std::string &base_name) const |
| void | set_approach (CIndepCompAnalysis::EApproach approach) |
| void | set_max_ica_iterations (size_t maxiter) |
| void | set_min_movement_frequency (float min_freq) |
| void | set_use_guess_model () |
| ~C2DPerfusionAnalysis () | |
Static Public Attributes | |
| static TDictMap< EBoxSegmentation > | segmethod_dict |
A class to run an ICA on a heart perfusion series.
This class provides the tools for ICA based 2D perfusion image series. This class is specifically designed for the analysis of free breathingly aquired myocardial perfusion images.
Definition at line 42 of file perfusion.hh.
Possible bases for LV-RV heart segmentation.
Definition at line 46 of file perfusion.hh.
| C2DPerfusionAnalysis::C2DPerfusionAnalysis | ( | size_t | components, |
| bool | normalize, | ||
| bool | meanstrip ) |
Constructor
| components | number of independend components, 0 = auto estimate from [3,4,5,6,7] |
| normalize | normalize feature images |
| meanstrip | strip mean from mixing time curves |
References normalize().
| C2DPerfusionAnalysis::~C2DPerfusionAnalysis | ( | ) |
| P2DFilter C2DPerfusionAnalysis::get_crop_filter | ( | float | scale, |
| C2DBounds & | crop_start, | ||
| EBoxSegmentation | approach, | ||
| const std::string & | save_features = "" ) const |
Evaluate an image cropping filter. This code is specifically designed to deal with the segmentantion of the left heart ventricle in short axis heart MRI The algorithm evaluates the centers of the LV and the RV and uses the distance between both to estimata a bounding box. Some heuristics are used to check whether the segmentation makes sense
| scale | enlargement scale of the bounding box to create the cropping region | |
| [out] | crop_start | returns the left upper corner of the cropping region that can be used to adjust segmentations |
| approach | on what input data to base thesegmentation on | |
| save_features | if not empty store feature images in files with this prefix |
| P2DImage C2DPerfusionAnalysis::get_feature_image | ( | int | index | ) | const |
| index | of the feature image requested, set negative to request the mean image. |
References get_feature_image().
Referenced by get_feature_image().
| int C2DPerfusionAnalysis::get_LV_idx | ( | ) | const |
References get_LV_idx().
Referenced by get_LV_idx().
| int C2DPerfusionAnalysis::get_LV_peak_idx | ( | ) | const |
References get_LV_peak_idx().
Referenced by get_LV_peak_idx().
| int C2DPerfusionAnalysis::get_LV_peak_time | ( | ) | const |
References get_LV_peak_time().
Referenced by get_LV_peak_time().
| std::vector< float > C2DPerfusionAnalysis::get_mixing_curve | ( | unsigned | idx | ) | const |
Obtain the mixing curve of a vertain component
| idx | index of the requested mixing series; |
References get_mixing_curve(), and NS_MIA_END.
Referenced by get_mixing_curve().
| int C2DPerfusionAnalysis::get_movement_idx | ( | ) | const |
References get_movement_idx().
Referenced by get_movement_idx().
| int C2DPerfusionAnalysis::get_perfusion_idx | ( | ) | const |
References get_perfusion_idx().
Referenced by get_perfusion_idx().
| std::vector< C2DFImage > C2DPerfusionAnalysis::get_references | ( | ) | const |
Create uncropped reference images that try to omit the movement component in the image series.
| int C2DPerfusionAnalysis::get_RV_idx | ( | ) | const |
References get_RV_idx().
Referenced by get_RV_idx().
| int C2DPerfusionAnalysis::get_RV_peak_idx | ( | ) | const |
| int C2DPerfusionAnalysis::get_RV_peak_time | ( | ) | const |
References get_RV_peak_time().
Referenced by get_RV_peak_time().
| bool C2DPerfusionAnalysis::has_movement | ( | ) | const |
| bool C2DPerfusionAnalysis::run | ( | const std::vector< C2DFImage > & | series, |
| const CIndepCompAnalysisFactory & | icatool ) |
Run the ICA analysis - keeps a copy of the image series
| series | image series should contain more images thennumber of requested components |
| icatool | Generator for the used ICA analyis method |
| void C2DPerfusionAnalysis::save_coefs | ( | const std::string & | coefs_name | ) | const |
Save the mixin matrix to a file.
| coefs_name | output file name |
References save_coefs().
Referenced by save_coefs().
| void C2DPerfusionAnalysis::save_feature_images | ( | const std::string & | base_name | ) | const |
Save the feature image to some PNG files.
| base_name | output file name base |
References save_feature_images().
Referenced by save_feature_images().
| void C2DPerfusionAnalysis::set_approach | ( | CIndepCompAnalysis::EApproach | approach | ) |
Set the ICA seperation approach
| approach | FICA_APPROACH_SYMM or FICA_APPROACH_DEFL |
| void C2DPerfusionAnalysis::set_max_ica_iterations | ( | size_t | maxiter | ) |
Set the number of ICA iterations
| maxiter |
| void C2DPerfusionAnalysis::set_min_movement_frequency | ( | float | min_freq | ) |
Set the minimum mean frequency (in breath per heart beat) that decides whether a slope is considered to be periodic.
| min_freq | The new minimum frequency, a value < 0.0 disables the test (this is the default) |
References set_min_movement_frequency().
Referenced by set_min_movement_frequency().
| void C2DPerfusionAnalysis::set_use_guess_model | ( | ) |
Use an experimental model to create a initial guess.
References set_use_guess_model().
Referenced by set_use_guess_model().
|
static |
Dictionary for segmentation method flags
Definition at line 159 of file perfusion.hh.