Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
#include <string>
#include "itksys/SystemTools.hxx"
#include "mitkCommandLineParser.h"
#include <mitkIOUtil.h>
#include <mitkPreferenceListReaderOptionsFunctor.h>
#include <mitkImageTimeSelector.h>
#include <mitkImageCast.h>
#include <mitkPixelBasedParameterFitImageGenerator.h>
#include <mitkROIBasedParameterFitImageGenerator.h>
#include <mitkModelFitInfo.h>
#include <mitkModelFitCmdAppsHelper.h>
#include <mitkMaskedDynamicImageStatisticsGenerator.h>
#include <mitkLevenbergMarquardtModelFitFunctor.h>
#include <mitkNormalizedSumOfSquaredDifferencesFitCostFunction.h>
#include <mitkExtractTimeGrid.h>
#include <mitkAterialInputFunctionGenerator.h>
#include <mitkModelFitResultHelper.h>
#include <mitkDescriptivePharmacokineticBrixModelParameterizer.h>
#include <mitkDescriptivePharmacokineticBrixModelValueBasedParameterizer.h>
#include <mitkDescriptivePharmacokineticBrixModelFactory.h>
#include <mitkExtendedToftsModelParameterizer.h>
#include <mitkExtendedToftsModelFactory.h>
#include <mitkTwoCompartmentExchangeModelParameterizer.h>
#include <mitkTwoCompartmentExchangeModelFactory.h>
#include <mitkThreeStepLinearModelParameterizer.h>
#include <mitkThreeStepLinearModelFactory.h>
#include <mitkModelFactoryBase.h>
Go to the source code of this file.
Functions | |
bool | useConstraints (false) |
bool | verbose (false) |
bool | roibased (false) |
bool | preview (false) |
float | aifHematocritLevel (0) |
float | brixInjectionTime (0) |
void | onFitEvent (::itk::Object *caller, const itk::EventObject &event, void *) |
void | setupParser (mitkCommandLineParser &parser) |
bool | configureApplicationSettings (std::map< std::string, us::Any > parsedArgs) |
mitk::ModelFitFunctorBase::Pointer | createDefaultFitFunctor (const mitk::ModelParameterizerBase *parameterizer, const mitk::ModelFactoryBase *modelFactory) |
mitk::Image::Pointer | getMask3D () |
void | getAIF (mitk::AIFBasedModelBase::AterialInputFunctionType &aif, mitk::AIFBasedModelBase::AterialInputFunctionType &aifTimeGrid) |
void | generateDescriptiveBrixModel_PixelBased (mitk::modelFit::ModelFitInfo::Pointer &modelFitInfo, mitk::ParameterFitImageGeneratorBase::Pointer &generator) |
void | generateDescriptiveBrixModel_ROIBased (mitk::modelFit::ModelFitInfo::Pointer &modelFitInfo, mitk::ParameterFitImageGeneratorBase::Pointer &generator) |
void | Generate3StepLinearModelFit_PixelBased (mitk::modelFit::ModelFitInfo::Pointer &modelFitInfo, mitk::ParameterFitImageGeneratorBase::Pointer &generator) |
void | Generate3StepLinearModelFit_ROIBased (mitk::modelFit::ModelFitInfo::Pointer &modelFitInfo, mitk::ParameterFitImageGeneratorBase::Pointer &generator) |
template<typename TParameterizer , typename TFactory > | |
void | generateAIFbasedModelFit_PixelBased (mitk::modelFit::ModelFitInfo::Pointer &modelFitInfo, mitk::ParameterFitImageGeneratorBase::Pointer &generator) |
template<typename TParameterizer , typename TFactory > | |
void | generateAIFbasedModelFit_ROIBased (mitk::modelFit::ModelFitInfo::Pointer &modelFitInfo, mitk::ParameterFitImageGeneratorBase::Pointer &generator) |
void | storeResultImage (const std::string &name, mitk::Image *image, mitk::modelFit::Parameter::Type nodeType, const mitk::modelFit::ModelFitInfo *modelFitInfo) |
void | createFitGenerator (mitk::modelFit::ModelFitInfo::Pointer &fitSession, mitk::ParameterFitImageGeneratorBase::Pointer &generator) |
void | doFitting () |
void | doPreview () |
int | main (int argc, char *argv[]) |
Variables | |
std::string | inFilename |
std::string | outFileName |
std::string | maskFileName |
std::string | aifMaskFileName |
std::string | aifImageFileName |
mitk::Image::Pointer | image |
mitk::Image::Pointer | mask |
mitk::Image::Pointer | aifImage |
mitk::Image::Pointer | aifMask |
std::string | modelName |
const std::string | MODEL_NAME_3SL |
const std::string | MODEL_NAME_descriptive |
const std::string | MODEL_NAME_tofts |
const std::string | MODEL_NAME_2CX |
float aifHematocritLevel | ( | 0 | ) |
Referenced by configureApplicationSettings(), and getAIF().
float brixInjectionTime | ( | 0 | ) |
bool configureApplicationSettings | ( | std::map< std::string, us::Any > | parsedArgs | ) |
Definition at line 146 of file MRPerfusionMiniApp.cpp.
References aifHematocritLevel(), aifImageFileName, aifMaskFileName, us::any_cast(), brixInjectionTime(), inFilename, maskFileName, MODEL_NAME_tofts, modelName, outFileName, preview(), roibased(), useConstraints(), and verbose().
Referenced by main().
mitk::ModelFitFunctorBase::Pointer createDefaultFitFunctor | ( | const mitk::ModelParameterizerBase * | parameterizer, |
const mitk::ModelFactoryBase * | modelFactory | ||
) |
Definition at line 214 of file MRPerfusionMiniApp.cpp.
References mitk::ModelFactoryBase::CreateDefaultConstraints(), mitk::ModelParameterizerBase::GenerateParameterizedModel(), mitk::NormalizedSumOfSquaredDifferencesFitCostFunction::New(), mitk::LevenbergMarquardtModelFitFunctor::New(), and useConstraints().
Referenced by Generate3StepLinearModelFit_PixelBased(), Generate3StepLinearModelFit_ROIBased(), generateAIFbasedModelFit_PixelBased(), generateAIFbasedModelFit_ROIBased(), generateDescriptiveBrixModel_PixelBased(), and generateDescriptiveBrixModel_ROIBased().
void createFitGenerator | ( | mitk::modelFit::ModelFitInfo::Pointer & | fitSession, |
mitk::ParameterFitImageGeneratorBase::Pointer & | generator | ||
) |
Definition at line 669 of file MRPerfusionMiniApp.cpp.
References Generate3StepLinearModelFit_PixelBased(), Generate3StepLinearModelFit_ROIBased(), generateDescriptiveBrixModel_PixelBased(), generateDescriptiveBrixModel_ROIBased(), MODEL_NAME_2CX, MODEL_NAME_3SL, MODEL_NAME_descriptive, MODEL_NAME_tofts, modelName, and roibased().
Referenced by doFitting(), and doPreview().
void doFitting | ( | ) |
Definition at line 730 of file MRPerfusionMiniApp.cpp.
References createFitGenerator(), mitkThrow, onFitEvent(), outFileName, and mitk::storeModelFitGeneratorResults().
Referenced by main().
void doPreview | ( | ) |
Definition at line 755 of file MRPerfusionMiniApp.cpp.
References createFitGenerator(), mitkThrow, outFileName, and mitk::previewModelFitGeneratorResults().
Referenced by main().
void Generate3StepLinearModelFit_PixelBased | ( | mitk::modelFit::ModelFitInfo::Pointer & | modelFitInfo, |
mitk::ParameterFitImageGeneratorBase::Pointer & | generator | ||
) |
Definition at line 425 of file MRPerfusionMiniApp.cpp.
References createDefaultFitFunctor(), mitk::modelFit::CreateFitInfoFromModelParameterizer(), mitk::EnsureModelFitUID(), mitk::ModelFitConstants::FIT_TYPE_VALUE_PIXELBASED(), getMask3D(), mitk::ThreeStepLinearModelFactory::New(), mitk::ThreeStepLinearModelParameterizer::New(), and mitk::PixelBasedParameterFitImageGenerator::New().
Referenced by createFitGenerator().
void Generate3StepLinearModelFit_ROIBased | ( | mitk::modelFit::ModelFitInfo::Pointer & | modelFitInfo, |
mitk::ParameterFitImageGeneratorBase::Pointer & | generator | ||
) |
Definition at line 460 of file MRPerfusionMiniApp.cpp.
References createDefaultFitFunctor(), mitk::modelFit::CreateFitInfoFromModelParameterizer(), mitk::EnsureModelFitUID(), mitk::ExtractTimeGrid(), mitk::ModelFitConstants::FIT_TYPE_VALUE_ROIBASED(), getMask3D(), mitk::ThreeStepLinearModelFactory::New(), mitk::ThreeStepLinearModelParameterizer::New(), mitk::MaskedDynamicImageStatisticsGenerator::New(), and mitk::ROIBasedParameterFitImageGenerator::New().
Referenced by createFitGenerator().
void generateAIFbasedModelFit_PixelBased | ( | mitk::modelFit::ModelFitInfo::Pointer & | modelFitInfo, |
mitk::ParameterFitImageGeneratorBase::Pointer & | generator | ||
) |
Definition at line 515 of file MRPerfusionMiniApp.cpp.
References createDefaultFitFunctor(), mitk::modelFit::CreateFitInfoFromModelParameterizer(), mitk::EnsureModelFitUID(), mitk::ModelFitConstants::FIT_TYPE_VALUE_PIXELBASED(), getAIF(), getMask3D(), and mitk::PixelBasedParameterFitImageGenerator::New().
void generateAIFbasedModelFit_ROIBased | ( | mitk::modelFit::ModelFitInfo::Pointer & | modelFitInfo, |
mitk::ParameterFitImageGeneratorBase::Pointer & | generator | ||
) |
Definition at line 569 of file MRPerfusionMiniApp.cpp.
References createDefaultFitFunctor(), mitk::modelFit::CreateFitInfoFromModelParameterizer(), mitk::EnsureModelFitUID(), mitk::ExtractTimeGrid(), mitk::ModelFitConstants::FIT_TYPE_VALUE_ROIBASED(), getAIF(), getMask3D(), mitk::MaskedDynamicImageStatisticsGenerator::New(), and mitk::ROIBasedParameterFitImageGenerator::New().
void generateDescriptiveBrixModel_PixelBased | ( | mitk::modelFit::ModelFitInfo::Pointer & | modelFitInfo, |
mitk::ParameterFitImageGeneratorBase::Pointer & | generator | ||
) |
Definition at line 316 of file MRPerfusionMiniApp.cpp.
References brixInjectionTime(), mitk::CastToItkImage(), createDefaultFitFunctor(), mitk::modelFit::CreateFitInfoFromModelParameterizer(), mitk::EnsureModelFitUID(), mitk::ModelFitConstants::FIT_TYPE_VALUE_PIXELBASED(), getMask3D(), mitk::ImageTimeSelector::New(), mitk::DescriptivePharmacokineticBrixModelFactory::New(), mitk::DescriptivePharmacokineticBrixModelParameterizer::New(), and mitk::PixelBasedParameterFitImageGenerator::New().
Referenced by createFitGenerator().
void generateDescriptiveBrixModel_ROIBased | ( | mitk::modelFit::ModelFitInfo::Pointer & | modelFitInfo, |
mitk::ParameterFitImageGeneratorBase::Pointer & | generator | ||
) |
Definition at line 365 of file MRPerfusionMiniApp.cpp.
References brixInjectionTime(), createDefaultFitFunctor(), mitk::modelFit::CreateFitInfoFromModelParameterizer(), mitk::EnsureModelFitUID(), mitk::ExtractTimeGrid(), mitk::ModelFitConstants::FIT_TYPE_VALUE_ROIBASED(), getMask3D(), mitk::DescriptivePharmacokineticBrixModelFactory::New(), mitk::DescriptivePharmacokineticBrixModelValueBasedParameterizer::New(), mitk::MaskedDynamicImageStatisticsGenerator::New(), and mitk::ROIBasedParameterFitImageGenerator::New().
Referenced by createFitGenerator().
void getAIF | ( | mitk::AIFBasedModelBase::AterialInputFunctionType & | aif, |
mitk::AIFBasedModelBase::AterialInputFunctionType & | aifTimeGrid | ||
) |
Definition at line 267 of file MRPerfusionMiniApp.cpp.
References aifHematocritLevel(), aifImage, aifMask, image, MITK_INFO, mitkThrow, mitk::ImageTimeSelector::New(), and mitk::AterialInputFunctionGenerator::New().
Referenced by generateAIFbasedModelFit_PixelBased(), and generateAIFbasedModelFit_ROIBased().
mitk::Image::Pointer getMask3D | ( | ) |
Helper that ensures that the mask (if it exists) is always 3D image. If the mask is originally an 4D image, the first time step will be used.
Definition at line 243 of file MRPerfusionMiniApp.cpp.
References mask, MITK_INFO, and mitk::ImageTimeSelector::New().
Referenced by Generate3StepLinearModelFit_PixelBased(), Generate3StepLinearModelFit_ROIBased(), generateAIFbasedModelFit_PixelBased(), generateAIFbasedModelFit_ROIBased(), generateDescriptiveBrixModel_PixelBased(), and generateDescriptiveBrixModel_ROIBased().
int main | ( | int | argc, |
char * | argv[] | ||
) |
[do processing]
Definition at line 772 of file MRPerfusionMiniApp.cpp.
References aifImageFileName, aifMaskFileName, configureApplicationSettings(), doFitting(), doPreview(), mitkCommandLineParser::helpText(), inFilename, maskFileName, MITK_ERROR, mitkThrow, MODEL_NAME_3SL, MODEL_NAME_descriptive, modelName, mitkCommandLineParser::parseArguments(), preview(), roibased(), and setupParser().
void onFitEvent | ( | ::itk::Object * | caller, |
const itk::EventObject & | event, | ||
void * | |||
) |
Definition at line 77 of file MRPerfusionMiniApp.cpp.
References mitk::ParameterFitImageGeneratorBase::GetProgress().
Referenced by doFitting().
bool preview | ( | false | ) |
Referenced by configureApplicationSettings(), and main().
bool roibased | ( | false | ) |
Referenced by configureApplicationSettings(), createFitGenerator(), and main().
void setupParser | ( | mitkCommandLineParser & | parser | ) |
[create parser]
[add arguments]
[add arguments]
Definition at line 89 of file MRPerfusionMiniApp.cpp.
References mitkCommandLineParser::addArgument(), mitkCommandLineParser::beginGroup(), mitkCommandLineParser::Bool, mitkCommandLineParser::endGroup(), mitkCommandLineParser::File, mitkCommandLineParser::Float, mitkCommandLineParser::Input, MODEL_NAME_2CX, MODEL_NAME_3SL, MODEL_NAME_descriptive, MODEL_NAME_tofts, mitkCommandLineParser::Output, mitkCommandLineParser::setArgumentPrefix(), mitkCommandLineParser::setCategory(), mitkCommandLineParser::setContributor(), mitkCommandLineParser::setDescription(), mitkCommandLineParser::setTitle(), and mitkCommandLineParser::String.
Referenced by main().
void storeResultImage | ( | const std::string & | name, |
mitk::Image * | image, | ||
mitk::modelFit::Parameter::Type | nodeType, | ||
const mitk::modelFit::ModelFitInfo * | modelFitInfo | ||
) |
Definition at line 644 of file MRPerfusionMiniApp.cpp.
References outFileName, mitk::IOUtil::Save(), and mitk::modelFit::SetModelFitDataProperties().
bool useConstraints | ( | false | ) |
Referenced by configureApplicationSettings(), and createDefaultFitFunctor().
bool verbose | ( | false | ) |
Referenced by configureApplicationSettings().
mitk::Image::Pointer aifImage |
Definition at line 59 of file MRPerfusionMiniApp.cpp.
Referenced by getAIF().
std::string aifImageFileName |
Definition at line 55 of file MRPerfusionMiniApp.cpp.
Referenced by configureApplicationSettings(), and main().
mitk::Image::Pointer aifMask |
Definition at line 60 of file MRPerfusionMiniApp.cpp.
Referenced by getAIF().
std::string aifMaskFileName |
Definition at line 54 of file MRPerfusionMiniApp.cpp.
Referenced by configureApplicationSettings(), and main().
mitk::Image::Pointer image |
Definition at line 57 of file MRPerfusionMiniApp.cpp.
Referenced by getAIF().
std::string inFilename |
Definition at line 51 of file MRPerfusionMiniApp.cpp.
Referenced by configureApplicationSettings(), and main().
mitk::Image::Pointer mask |
Definition at line 58 of file MRPerfusionMiniApp.cpp.
Referenced by getMask3D().
std::string maskFileName |
Definition at line 53 of file MRPerfusionMiniApp.cpp.
Referenced by configureApplicationSettings(), and main().
const std::string MODEL_NAME_2CX |
Definition at line 75 of file MRPerfusionMiniApp.cpp.
Referenced by createFitGenerator(), and setupParser().
const std::string MODEL_NAME_3SL |
Definition at line 72 of file MRPerfusionMiniApp.cpp.
Referenced by createFitGenerator(), main(), and setupParser().
const std::string MODEL_NAME_descriptive |
Definition at line 73 of file MRPerfusionMiniApp.cpp.
Referenced by createFitGenerator(), main(), and setupParser().
const std::string MODEL_NAME_tofts |
Definition at line 74 of file MRPerfusionMiniApp.cpp.
Referenced by configureApplicationSettings(), createFitGenerator(), and setupParser().
std::string modelName |
Definition at line 67 of file MRPerfusionMiniApp.cpp.
Referenced by configureApplicationSettings(), createFitGenerator(), main(), and mitk::DICOMPMIO::Write().
std::string outFileName |
Definition at line 52 of file MRPerfusionMiniApp.cpp.
Referenced by configureApplicationSettings(), doFitting(), doPreview(), and storeResultImage().