template/nonrigidregister.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_internal_nonrigidregister_hh
#define mia_internal_nonrigidregister_hh
#include <mia/core/minimizer.hh>
#include <mia/template/multicost.hh>
#include <mia/template/transformfactory.hh>
#include <mia/template/dimtrait.hh>
#include <mia/core/import_handler.hh>
NS_MIA_BEGIN
template <int dim>
struct TNonrigidRegisterImpl;
template <int dim>
class EXPORT_HANDLER TNonrigidRegister
{
public:
typedef dimension_traits<dim> this_dim_traits;
typedef typename this_dim_traits::PTransformation PTransformation;
typedef typename this_dim_traits::Image Image;
typedef typename this_dim_traits::PImage PImage;
typedef typename this_dim_traits::PTransformationFactory PTransformationFactory;
typedef typename this_dim_traits::FullCostList FullCostList;
typedef typename this_dim_traits::Filter Filter;
typedef typename this_dim_traits::FilterPluginHandler FilterPluginHandler;
TNonrigidRegister(FullCostList& costs, PMinimizer minimizer,
PTransformationFactory transform_creation,
size_t mg_levels, int idx = -1);
~TNonrigidRegister();
void set_refinement_minimizer(PMinimizer minimizer);
PTransformation run(PImage src, PImage ref) const;
PTransformation run() const;
private:
struct TNonrigidRegisterImpl<dim> *impl;
};
NS_MIA_END
#endif
TNonrigidRegister::set_refinement_minimizer
void set_refinement_minimizer(PMinimizer minimizer)
TNonrigidRegister::FullCostList
this_dim_traits::FullCostList FullCostList
the type of the cost function list
Definition template/nonrigidregister.hh:70
TNonrigidRegister::this_dim_traits
dimension_traits< dim > this_dim_traits
the trait to handle dimension based typedefs
Definition template/nonrigidregister.hh:55
TNonrigidRegister::PTransformationFactory
this_dim_traits::PTransformationFactory PTransformationFactory
the pointer type of the transformation creation factory
Definition template/nonrigidregister.hh:67
TNonrigidRegister::~TNonrigidRegister
~TNonrigidRegister()
TNonrigidRegister::FilterPluginHandler
this_dim_traits::FilterPluginHandler FilterPluginHandler
the plug-in handler for the filters of the used dimensionality
Definition template/nonrigidregister.hh:76
TNonrigidRegister::TNonrigidRegister
TNonrigidRegister(FullCostList &costs, PMinimizer minimizer, PTransformationFactory transform_creation, size_t mg_levels, int idx=-1)
TNonrigidRegister::PImage
this_dim_traits::PImage PImage
the pointer type of the image data
Definition template/nonrigidregister.hh:64
TNonrigidRegister::PTransformation
this_dim_traits::PTransformation PTransformation
the pointer type of the transformation
Definition template/nonrigidregister.hh:58
TNonrigidRegister::run
PTransformation run() const
TNonrigidRegister::Image
this_dim_traits::Image Image
the type of the image data
Definition template/nonrigidregister.hh:61
TNonrigidRegister::Filter
this_dim_traits::Filter Filter
filter type for the image data used in this non-rigid registration algorithm
Definition template/nonrigidregister.hh:73
TNonrigidRegister::run
PTransformation run(PImage src, PImage ref) const
EXPORT_HANDLER
#define EXPORT_HANDLER
Definition core/cost.hh:32
NS_MIA_BEGIN
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
Definition defines.hh:33
NS_MIA_END
#define NS_MIA_END
conveniance define to end the mia namespace
Definition defines.hh:36
dimtrait.hh
import_handler.hh
minimizer.hh
PMinimizer
CMinimizer::Pointer PMinimizer
Pointer type for the CMinimizer class.
Definition minimizer.hh:221
TNonrigidRegisterImpl
Definition template/nonrigidregister.hh:33
multicost.hh
transformfactory.hh