Loading...
Searching...
No Matches
elxElastixBase.h
Go to the documentation of this file.
/*=========================================================================
*
* Copyright UMC Utrecht and contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*=========================================================================*/
#ifndef elxElastixBase_h
#define elxElastixBase_h
#include "elxBaseComponent.h"
#include "elxComponentDatabase.h"
#include "elxConfiguration.h"
#include "elxIterationInfo.h"
#include "elxMacro.h"
#include "elxlog.h"
// ITK header files:
#include <itkChangeInformationImageFilter.h>
#include <itkDataObject.h>
#include <itkImageFileReader.h>
#include <itkObject.h>
#include <itkTimeProbe.h>
#include <itkVectorContainer.h>
#include <fstream>
#include <iomanip>
#define elxGetObjectMacro(_name, _type) \
_type * Get##_name() const { return m_##_name.GetPointer(); }
// end elxGetObjectMacro
#define elxSetObjectMacro(_name, _type) \
void Set##_name(_type * _arg) \
{ \
if (m_##_name != _arg) \
{ \
m_##_name = _arg; \
this->itk::Object::Modified(); \
} \
}
// end elxSetObjectMacro
#define elxGetNumberOfMacro(_name) \
unsigned int GetNumberOf##_name##s() const \
{ \
if (m_##_name##Container != nullptr) \
{ \
return m_##_name##Container->Size(); \
} \
return 0; \
}
// end elxGetNumberOfMacro
namespace elastix
{
class ElastixBase
: public itk::Object
, public BaseComponent
{
public:
ITK_DISALLOW_COPY_AND_MOVE(ElastixBase);
using Self = ElastixBase;
using Superclass = BaseComponent;
using ObjectPointer = itk::Object::Pointer;
using DataObjectPointer = itk::DataObject::Pointer; // for the images
using ObjectContainerType = itk::VectorContainer<unsigned int, ObjectPointer>;
using ObjectContainerPointer = ObjectContainerType::Pointer;
using DataObjectContainerType = itk::VectorContainer<unsigned int, DataObjectPointer>;
using DataObjectContainerPointer = DataObjectContainerType::Pointer;
using FileNameContainerType = itk::VectorContainer<unsigned int, std::string>;
using FileNameContainerPointer = FileNameContainerType::Pointer;
using ResultImageType = itk::DataObject;
using ResultDeformationFieldType = itk::DataObject;
using ComponentDatabasePointer = ComponentDatabase::Pointer;
using DBIndexType = ComponentDatabase::IndexType;
using FlatDirectionCosinesType = std::vector<double>;
using CoordRepType = double; // itk::CostFunction::ParametersValueType
using ParameterMapType = itk::ParameterMapInterface::ParameterMapType;
elxGetObjectMacro(Configuration, Configuration);
elxSetObjectMacro(Configuration, Configuration);
void
SetDBIndex(DBIndexType _arg);
DBIndexType
GetDBIndex()
{
return m_DBIndex;
}
elxGetObjectMacro(RegistrationContainer, ObjectContainerType);
elxGetObjectMacro(FixedImagePyramidContainer, ObjectContainerType);
elxGetObjectMacro(MovingImagePyramidContainer, ObjectContainerType);
elxGetObjectMacro(InterpolatorContainer, ObjectContainerType);
elxGetObjectMacro(ImageSamplerContainer, ObjectContainerType);
elxGetObjectMacro(MetricContainer, ObjectContainerType);
elxGetObjectMacro(OptimizerContainer, ObjectContainerType);
elxGetObjectMacro(ResamplerContainer, ObjectContainerType);
elxGetObjectMacro(ResampleInterpolatorContainer, ObjectContainerType);
elxGetObjectMacro(TransformContainer, ObjectContainerType);
elxSetObjectMacro(RegistrationContainer, ObjectContainerType);
elxSetObjectMacro(FixedImagePyramidContainer, ObjectContainerType);
elxSetObjectMacro(MovingImagePyramidContainer, ObjectContainerType);
elxSetObjectMacro(InterpolatorContainer, ObjectContainerType);
elxSetObjectMacro(ImageSamplerContainer, ObjectContainerType);
elxSetObjectMacro(MetricContainer, ObjectContainerType);
elxSetObjectMacro(OptimizerContainer, ObjectContainerType);
elxSetObjectMacro(ResamplerContainer, ObjectContainerType);
elxSetObjectMacro(ResampleInterpolatorContainer, ObjectContainerType);
elxSetObjectMacro(TransformContainer, ObjectContainerType);
elxGetObjectMacro(FixedImageContainer, DataObjectContainerType);
elxGetObjectMacro(MovingImageContainer, DataObjectContainerType);
elxSetObjectMacro(FixedImageContainer, DataObjectContainerType);
elxSetObjectMacro(MovingImageContainer, DataObjectContainerType);
elxGetObjectMacro(FixedMaskContainer, DataObjectContainerType);
elxGetObjectMacro(MovingMaskContainer, DataObjectContainerType);
elxSetObjectMacro(FixedMaskContainer, DataObjectContainerType);
elxSetObjectMacro(MovingMaskContainer, DataObjectContainerType);
elxGetObjectMacro(ResultImageContainer, DataObjectContainerType);
elxSetObjectMacro(ResultImageContainer, DataObjectContainerType);
elxGetObjectMacro(ResultDeformationFieldContainer, DataObjectContainerType);
elxSetObjectMacro(ResultDeformationFieldContainer, DataObjectContainerType);
elxGetObjectMacro(FixedImageFileNameContainer, FileNameContainerType);
elxGetObjectMacro(MovingImageFileNameContainer, FileNameContainerType);
elxSetObjectMacro(FixedImageFileNameContainer, FileNameContainerType);
elxSetObjectMacro(MovingImageFileNameContainer, FileNameContainerType);
elxGetObjectMacro(FixedMaskFileNameContainer, FileNameContainerType);
elxGetObjectMacro(MovingMaskFileNameContainer, FileNameContainerType);
elxSetObjectMacro(FixedMaskFileNameContainer, FileNameContainerType);
elxSetObjectMacro(MovingMaskFileNameContainer, FileNameContainerType);
elxGetNumberOfMacro(Registration);
elxGetNumberOfMacro(FixedImagePyramid);
elxGetNumberOfMacro(MovingImagePyramid);
elxGetNumberOfMacro(Interpolator);
elxGetNumberOfMacro(ImageSampler);
elxGetNumberOfMacro(Metric);
elxGetNumberOfMacro(Optimizer);
elxGetNumberOfMacro(Resampler);
elxGetNumberOfMacro(ResampleInterpolator);
elxGetNumberOfMacro(Transform);
elxGetNumberOfMacro(FixedImage);
elxGetNumberOfMacro(MovingImage);
elxGetNumberOfMacro(FixedImageFileName);
elxGetNumberOfMacro(MovingImageFileName);
elxGetNumberOfMacro(FixedMask);
elxGetNumberOfMacro(MovingMask);
elxGetNumberOfMacro(FixedMaskFileName);
elxGetNumberOfMacro(MovingMaskFileName);
elxGetNumberOfMacro(ResultImage);
elxGetNumberOfMacro(ResultDeformationField);
elxSetObjectMacro(InitialTransform, itk::Object);
elxGetObjectMacro(InitialTransform, itk::Object);
elxSetObjectMacro(FinalTransform, itk::Object);
elxGetObjectMacro(FinalTransform, itk::Object);
virtual int
Run() = 0;
virtual int
ApplyTransform(bool doReadTransform) = 0;
int
BeforeAllBase() override;
int
BeforeAllTransformixBase();
ResultImageType *
GetResultImage(const unsigned int idx = 0) const;
void
SetResultImage(DataObjectPointer result_image);
ResultDeformationFieldType *
GetResultDeformationField(unsigned int idx = 0) const;
void
SetResultDeformationField(DataObjectPointer result_deformationfield);
bool
GetUseDirectionCosines() const;
void
SetOriginalFixedImageDirectionFlat(const FlatDirectionCosinesType & arg);
const FlatDirectionCosinesType &
GetOriginalFixedImageDirectionFlat() const;
virtual void
CreateTransformParameterMap() = 0;
ParameterMapType
GetTransformParameterMap() const;
void
SetTransformConfigurations(const std::vector<Configuration::ConstPointer> & configurations);
Configuration::ConstPointer
GetTransformConfiguration(const size_t index) const;
Configuration::ConstPointer
GetPreviousTransformConfiguration(const Configuration & configuration) const;
size_t
GetNumberOfTransformConfigurations() const;
IterationInfo &
GetIterationInfo()
{
return m_IterationInfo;
}
std::ostream &
GetIterationInfoAt(const char * const name)
{
return m_IterationInfo[name];
}
void
AddTargetCellToIterationInfo(const char * const name)
{
m_IterationInfo.AddNewTargetCell(name);
}
protected:
ElastixBase();
~ElastixBase() override = default;
DBIndexType m_DBIndex{ 0 };
FlatDirectionCosinesType m_OriginalFixedImageDirection;
itk::TimeProbe m_Timer0{};
itk::TimeProbe m_IterationTimer{};
itk::TimeProbe m_ResolutionTimer{};
std::string m_CurrentTransformParameterFileName;
unsigned int m_IterationCounter{};
ParameterMapType m_TransformParameterMap;
std::ofstream m_IterationInfoFile;
template <class TImage>
class ITK_TEMPLATE_EXPORT MultipleImageLoader
{
public:
using DirectionType = typename TImage::DirectionType;
static DataObjectContainerPointer
GenerateImageContainer(const FileNameContainerType * const fileNameContainer,
const std::string & imageDescription,
bool useDirectionCosines,
DirectionType * originalDirectionCosines = nullptr)
{
const auto imageContainer = DataObjectContainerType::New();
for (const auto & fileName : *fileNameContainer)
{
const auto infoChanger = itk::ChangeInformationImageFilter<TImage>::New();
infoChanger->SetChangeDirection(!useDirectionCosines);
try
{
const auto image = itk::ReadImage<TImage>(fileName);
infoChanger->SetInput(image);
infoChanger->Update();
if (originalDirectionCosines != nullptr)
{
*originalDirectionCosines = image->GetDirection();
}
}
catch (itk::ExceptionObject & excp)
{
std::string err_str = excp.GetDescription();
err_str += "\nError occurred while reading the image described as " + imageDescription + ", with file name " +
fileName + "\n";
excp.SetDescription(err_str);
throw;
}
imageContainer->push_back(infoChanger->GetOutput());
} // end for
return imageContainer;
} // end static method GenerateImageContainer
MultipleImageLoader() = default;
~MultipleImageLoader() = default;
};
static DataObjectContainerPointer
GenerateDataObjectContainer(DataObjectPointer dataObject);
private:
Configuration::Pointer m_Configuration{ nullptr };
std::vector<Configuration::ConstPointer> m_TransformConfigurations;
IterationInfo m_IterationInfo;
ObjectContainerPointer m_FixedImagePyramidContainer{ ObjectContainerType::New() };
ObjectContainerPointer m_MovingImagePyramidContainer{ ObjectContainerType::New() };
ObjectContainerPointer m_InterpolatorContainer{ ObjectContainerType::New() };
ObjectContainerPointer m_ImageSamplerContainer{ ObjectContainerType::New() };
ObjectContainerPointer m_MetricContainer{ ObjectContainerType::New() };
ObjectContainerPointer m_OptimizerContainer{ ObjectContainerType::New() };
ObjectContainerPointer m_RegistrationContainer{ ObjectContainerType::New() };
ObjectContainerPointer m_ResamplerContainer{ ObjectContainerType::New() };
ObjectContainerPointer m_ResampleInterpolatorContainer{ ObjectContainerType::New() };
ObjectContainerPointer m_TransformContainer{ ObjectContainerType::New() };
DataObjectContainerPointer m_FixedImageContainer{ DataObjectContainerType::New() };
DataObjectContainerPointer m_MovingImageContainer{ DataObjectContainerType::New() };
DataObjectContainerPointer m_FixedMaskContainer{ DataObjectContainerType::New() };
DataObjectContainerPointer m_MovingMaskContainer{ DataObjectContainerType::New() };
DataObjectContainerPointer m_ResultImageContainer{ DataObjectContainerType::New() };
DataObjectContainerPointer m_ResultDeformationFieldContainer;
FileNameContainerPointer m_FixedImageFileNameContainer{ FileNameContainerType::New() };
FileNameContainerPointer m_MovingImageFileNameContainer{ FileNameContainerType::New() };
FileNameContainerPointer m_FixedMaskFileNameContainer{ FileNameContainerType::New() };
FileNameContainerPointer m_MovingMaskFileNameContainer{ FileNameContainerType::New() };
ObjectPointer m_InitialTransform{ nullptr };
ObjectPointer m_FinalTransform{ nullptr };
bool m_UseDirectionCosines{ true };
};
} // end namespace elastix
#undef elxGetObjectMacro
#undef elxSetObjectMacro
#undef elxGetNumberOfMacro
#endif // end #ifndef elxElastixBase_h
double
elastix::BaseComponent::BaseComponent
BaseComponent()=default
elastix::ComponentDatabase::Pointer
itk::SmartPointer< Self > Pointer
Definition elxComponentDatabase.h:60
elastix::ComponentDatabase::IndexType
unsigned int IndexType
Definition elxComponentDatabase.h:67
elastix::Configuration
A class that deals with user given parameters and command line arguments.
Definition elxConfiguration.h:53
elastix::Configuration::Pointer
itk::SmartPointer< Self > Pointer
Definition elxConfiguration.h:61
elastix::Configuration::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition elxConfiguration.h:62
elastix::ElastixBase::MultipleImageLoader::~MultipleImageLoader
~MultipleImageLoader()=default
elastix::ElastixBase::MultipleImageLoader::MultipleImageLoader
MultipleImageLoader()=default
elastix::ElastixBase::MultipleImageLoader::DirectionType
typename TImage::DirectionType DirectionType
Definition elxElastixBase.h:426
elastix::ElastixBase::MultipleImageLoader::GenerateImageContainer
static DataObjectContainerPointer GenerateImageContainer(const FileNameContainerType *const fileNameContainer, const std::string &imageDescription, bool useDirectionCosines, DirectionType *originalDirectionCosines=nullptr)
Definition elxElastixBase.h:429
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(FixedImageContainer, DataObjectContainerType)
elastix::ElastixBase::m_ResolutionTimer
itk::TimeProbe m_ResolutionTimer
Definition elxElastixBase.h:397
elastix::ElastixBase::m_IterationTimer
itk::TimeProbe m_IterationTimer
Definition elxElastixBase.h:396
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(MetricContainer, ObjectContainerType)
elastix::ElastixBase::DataObjectContainerType
itk::VectorContainer< unsigned int, DataObjectPointer > DataObjectContainerType
Definition elxElastixBase.h:156
elastix::ElastixBase::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(ElastixBase)
elastix::ElastixBase::GetDBIndex
DBIndexType GetDBIndex()
Definition elxElastixBase.h:187
elastix::ElastixBase::m_FixedImageContainer
DataObjectContainerPointer m_FixedImageContainer
Definition elxElastixBase.h:508
elastix::ElastixBase::AddTargetCellToIterationInfo
void AddTargetCellToIterationInfo(const char *const name)
Definition elxElastixBase.h:381
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(MovingImageFileNameContainer, FileNameContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(InitialTransform, itk::Object)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(Metric)
elastix::ElastixBase::m_MovingImageContainer
DataObjectContainerPointer m_MovingImageContainer
Definition elxElastixBase.h:509
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(FinalTransform, itk::Object)
elastix::ElastixBase::m_RegistrationContainer
ObjectContainerPointer m_RegistrationContainer
Definition elxElastixBase.h:502
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(MovingMaskFileName)
elastix::ElastixBase::m_MovingMaskFileNameContainer
FileNameContainerPointer m_MovingMaskFileNameContainer
Definition elxElastixBase.h:523
elastix::ElastixBase::DataObjectPointer
itk::DataObject::Pointer DataObjectPointer
Definition elxElastixBase.h:153
elastix::ElastixBase::CoordRepType
double CoordRepType
Definition elxElastixBase.h:173
elastix::ElastixBase::GenerateDataObjectContainer
static DataObjectContainerPointer GenerateDataObjectContainer(DataObjectPointer dataObject)
elastix::ElastixBase::m_Configuration
Configuration::Pointer m_Configuration
Definition elxElastixBase.h:486
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(ResultImageContainer, DataObjectContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(OptimizerContainer, ObjectContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(RegistrationContainer, ObjectContainerType)
elastix::ElastixBase::FileNameContainerType
itk::VectorContainer< unsigned int, std::string > FileNameContainerType
Definition elxElastixBase.h:158
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(FixedImagePyramidContainer, ObjectContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(FixedMaskFileNameContainer, FileNameContainerType)
elastix::ElastixBase::ResultImageType
itk::DataObject ResultImageType
Definition elxElastixBase.h:162
elastix::ElastixBase::m_OptimizerContainer
ObjectContainerPointer m_OptimizerContainer
Definition elxElastixBase.h:501
elastix::ElastixBase::m_ResampleInterpolatorContainer
ObjectContainerPointer m_ResampleInterpolatorContainer
Definition elxElastixBase.h:504
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(Transform)
elastix::ElastixBase::m_FixedImageFileNameContainer
FileNameContainerPointer m_FixedImageFileNameContainer
Definition elxElastixBase.h:520
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(FixedImage)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(ResamplerContainer, ObjectContainerType)
elastix::ElastixBase::FlatDirectionCosinesType
std::vector< double > FlatDirectionCosinesType
Definition elxElastixBase.h:170
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(MovingImageContainer, DataObjectContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(TransformContainer, ObjectContainerType)
elastix::ElastixBase::m_IterationCounter
unsigned int m_IterationCounter
Definition elxElastixBase.h:403
elastix::ElastixBase::GetNumberOfTransformConfigurations
vcl_size_t GetNumberOfTransformConfigurations() const
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(MovingMask)
elastix::ElastixBase::m_UseDirectionCosines
bool m_UseDirectionCosines
Definition elxElastixBase.h:532
elastix::ElastixBase::ObjectContainerType
itk::VectorContainer< unsigned int, ObjectPointer > ObjectContainerType
Definition elxElastixBase.h:154
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(MovingImage)
elastix::ElastixBase::m_FixedMaskContainer
DataObjectContainerPointer m_FixedMaskContainer
Definition elxElastixBase.h:510
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(MovingImageContainer, DataObjectContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(Configuration, Configuration)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(FixedImagePyramid)
elastix::ElastixBase::GetTransformConfiguration
Configuration::ConstPointer GetTransformConfiguration(const vcl_size_t index) const
elastix::ElastixBase::Run
virtual int Run()=0
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(MovingImagePyramidContainer, ObjectContainerType)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(FixedMaskFileName)
elastix::ElastixBase::ElastixBase
ElastixBase()
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(OptimizerContainer, ObjectContainerType)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(FixedMask)
elastix::ElastixBase::ObjectPointer
itk::Object::Pointer ObjectPointer
Definition elxElastixBase.h:152
elastix::ElastixBase::DataObjectContainerPointer
DataObjectContainerType::Pointer DataObjectContainerPointer
Definition elxElastixBase.h:157
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(ImageSamplerContainer, ObjectContainerType)
elastix::ElastixBase::SetOriginalFixedImageDirectionFlat
void SetOriginalFixedImageDirectionFlat(const FlatDirectionCosinesType &arg)
elastix::ElastixBase::m_ResamplerContainer
ObjectContainerPointer m_ResamplerContainer
Definition elxElastixBase.h:503
elastix::ElastixBase::SetResultDeformationField
void SetResultDeformationField(DataObjectPointer result_deformationfield)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(MovingMaskContainer, DataObjectContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(FixedImageContainer, DataObjectContainerType)
elastix::ElastixBase::m_InterpolatorContainer
ObjectContainerPointer m_InterpolatorContainer
Definition elxElastixBase.h:498
elastix::ElastixBase::GetUseDirectionCosines
bool GetUseDirectionCosines() const
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(ResampleInterpolatorContainer, ObjectContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(InitialTransform, itk::Object)
elastix::ElastixBase::m_OriginalFixedImageDirection
FlatDirectionCosinesType m_OriginalFixedImageDirection
Definition elxElastixBase.h:392
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(FixedImageFileNameContainer, FileNameContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(FixedImagePyramidContainer, ObjectContainerType)
elastix::ElastixBase::m_ResultImageContainer
DataObjectContainerPointer m_ResultImageContainer
Definition elxElastixBase.h:514
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(MovingMaskContainer, DataObjectContainerType)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(ResultImage)
elastix::ElastixBase::DBIndexType
ComponentDatabase::IndexType DBIndexType
Definition elxElastixBase.h:169
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(ResultDeformationField)
elastix::ElastixBase::m_MovingMaskContainer
DataObjectContainerPointer m_MovingMaskContainer
Definition elxElastixBase.h:511
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(ResampleInterpolator)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(RegistrationContainer, ObjectContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(ResampleInterpolatorContainer, ObjectContainerType)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(Interpolator)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(FinalTransform, itk::Object)
elastix::ElastixBase::GetOriginalFixedImageDirectionFlat
const FlatDirectionCosinesType & GetOriginalFixedImageDirectionFlat() const
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(MovingImageFileName)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(ImageSamplerContainer, ObjectContainerType)
elastix::ElastixBase::SetDBIndex
void SetDBIndex(DBIndexType _arg)
elastix::ElastixBase::m_CurrentTransformParameterFileName
std::string m_CurrentTransformParameterFileName
Definition elxElastixBase.h:400
elastix::ElastixBase::GetResultDeformationField
ResultDeformationFieldType * GetResultDeformationField(unsigned int idx=0) const
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(MovingMaskFileNameContainer, FileNameContainerType)
elastix::ElastixBase::GetResultImage
ResultImageType * GetResultImage(const unsigned int idx=0) const
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(MovingImageFileNameContainer, FileNameContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(InterpolatorContainer, ObjectContainerType)
elastix::ElastixBase::m_FixedImagePyramidContainer
ObjectContainerPointer m_FixedImagePyramidContainer
Definition elxElastixBase.h:496
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(MetricContainer, ObjectContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(Configuration, Configuration)
elastix::ElastixBase::BeforeAllBase
int BeforeAllBase() override
elastix::ElastixBase::ApplyTransform
virtual int ApplyTransform(bool doReadTransform)=0
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(Resampler)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(InterpolatorContainer, ObjectContainerType)
elastix::ElastixBase::m_InitialTransform
ObjectPointer m_InitialTransform
Definition elxElastixBase.h:526
elastix::ElastixBase::m_TransformConfigurations
std::vector< Configuration::ConstPointer > m_TransformConfigurations
Definition elxElastixBase.h:489
elastix::ElastixBase::GetPreviousTransformConfiguration
Configuration::ConstPointer GetPreviousTransformConfiguration(const Configuration &configuration) const
elastix::ElastixBase::Superclass
BaseComponent Superclass
Definition elxElastixBase.h:149
elastix::ElastixBase::m_MovingImagePyramidContainer
ObjectContainerPointer m_MovingImagePyramidContainer
Definition elxElastixBase.h:497
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(ResamplerContainer, ObjectContainerType)
elastix::ElastixBase::m_DBIndex
DBIndexType m_DBIndex
Definition elxElastixBase.h:390
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(ResultDeformationFieldContainer, DataObjectContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(FixedMaskFileNameContainer, FileNameContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(FixedMaskContainer, DataObjectContainerType)
elastix::ElastixBase::m_IterationInfoFile
std::ofstream m_IterationInfoFile
Definition elxElastixBase.h:408
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(Optimizer)
elastix::ElastixBase::ResultDeformationFieldType
itk::DataObject ResultDeformationFieldType
Definition elxElastixBase.h:165
elastix::ElastixBase::CreateTransformParameterMap
virtual void CreateTransformParameterMap()=0
elastix::ElastixBase::m_TransformContainer
ObjectContainerPointer m_TransformContainer
Definition elxElastixBase.h:505
elastix::ElastixBase::m_MetricContainer
ObjectContainerPointer m_MetricContainer
Definition elxElastixBase.h:500
elastix::ElastixBase::m_IterationInfo
IterationInfo m_IterationInfo
Definition elxElastixBase.h:491
elastix::ElastixBase::m_ImageSamplerContainer
ObjectContainerPointer m_ImageSamplerContainer
Definition elxElastixBase.h:499
elastix::ElastixBase::GetTransformParameterMap
ParameterMapType GetTransformParameterMap() const
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(Registration)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(TransformContainer, ObjectContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(FixedImageFileNameContainer, FileNameContainerType)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(MovingImagePyramid)
elastix::ElastixBase::BeforeAllTransformixBase
int BeforeAllTransformixBase()
elastix::ElastixBase::ParameterMapType
itk::ParameterMapInterface::ParameterMapType ParameterMapType
Definition elxElastixBase.h:176
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(ImageSampler)
elastix::ElastixBase::SetResultImage
void SetResultImage(DataObjectPointer result_image)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(ResultImageContainer, DataObjectContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(ResultDeformationFieldContainer, DataObjectContainerType)
elastix::ElastixBase::~ElastixBase
~ElastixBase() override=default
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(MovingMaskFileNameContainer, FileNameContainerType)
elastix::ElastixBase::m_FinalTransform
ObjectPointer m_FinalTransform
Definition elxElastixBase.h:527
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(MovingImagePyramidContainer, ObjectContainerType)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(FixedImageFileName)
elastix::ElastixBase::FileNameContainerPointer
FileNameContainerType::Pointer FileNameContainerPointer
Definition elxElastixBase.h:159
elastix::ElastixBase::SetTransformConfigurations
void SetTransformConfigurations(const std::vector< Configuration::ConstPointer > &configurations)
elastix::ElastixBase::ObjectContainerPointer
ObjectContainerType::Pointer ObjectContainerPointer
Definition elxElastixBase.h:155
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(FixedMaskContainer, DataObjectContainerType)
elastix::ElastixBase::Self
ElastixBase Self
Definition elxElastixBase.h:148
elastix::ElastixBase::m_FixedMaskFileNameContainer
FileNameContainerPointer m_FixedMaskFileNameContainer
Definition elxElastixBase.h:522
elastix::ElastixBase::m_Timer0
itk::TimeProbe m_Timer0
Definition elxElastixBase.h:395
elastix::ElastixBase::m_TransformParameterMap
ParameterMapType m_TransformParameterMap
Definition elxElastixBase.h:406
elastix::ElastixBase::m_MovingImageFileNameContainer
FileNameContainerPointer m_MovingImageFileNameContainer
Definition elxElastixBase.h:521
elastix::ElastixBase::GetIterationInfoAt
std::ostream & GetIterationInfoAt(const char *const name)
Definition elxElastixBase.h:375
elastix::ElastixBase::GetIterationInfo
IterationInfo & GetIterationInfo()
Definition elxElastixBase.h:369
elastix::ElastixBase::m_ResultDeformationFieldContainer
DataObjectContainerPointer m_ResultDeformationFieldContainer
Definition elxElastixBase.h:517
elastix::ElastixBase::ComponentDatabasePointer
ComponentDatabase::Pointer ComponentDatabasePointer
Definition elxElastixBase.h:168
elastix::IterationInfo
Definition elxIterationInfo.h:31
itk::ParameterMapInterface::ParameterMapType
ParameterFileParser::ParameterMapType ParameterMapType
Definition itkParameterMapInterface.h:97
elxBaseComponent.h
elxComponentDatabase.h
elxConfiguration.h
elxIterationInfo.h
elxMacro.h
elxlog.h
elastix
Definition elxDefaultConstruct.h:25

Generated on 1768596610 for elastix by 1.15.0 |