MeVisLab Toolbox Reference
mlITKCommonWrappers.h
Go to the documentation of this file.
1/*************************************************************************************
2**
3** Copyright 2007, MeVis Medical Solutions AG
4**
5** The user may use this file in accordance with the license agreement provided with
6** the Software or, alternatively, in accordance with the terms contained in a
7** written agreement between the user and MeVis Medical Solutions AG.
8**
9** For further information use the contact form at https://www.mevislab.de/contact
10**
11**************************************************************************************/
12
13#pragma once
14
15#include "mlITKMLBaseWrapper.h"
16#include <itkPointSet.h>
17#include <itkPointSetToImageMetric.h>
18#include <itkImageToImageMetric.h>
19#include <itkTransform.h>
20#include <itkVector.h>
21#include <itkFiniteDifferenceFunction.h>
22#include <itkInterpolateImageFunction.h>
23#include <itkVectorInterpolateImageFunction.h>
24#include <itkCostFunction.h>
25#include <itkSingleValuedCostFunction.h>
26#include <itkMultipleValuedCostFunction.h>
27
29typedef itk::CostFunction CostFunctionType;
30
32typedef itk::SingleValuedCostFunction SingleValuedCostFunctionType;
33
35typedef itk::MultipleValuedCostFunction MultipleValuedCostFunctionType;
36
37
39typedef itk::Image<float,3> MetricImage3DType;
40
42typedef itk::Image<float,2> MetricImage2DType;
43
44
46typedef itk::Vector<float,3> MetricVector3DType;
47
49typedef itk::Image<MetricVector3DType,3> MetricVectorImage3DType;
50
51
53typedef itk::Vector<float,2> MetricVector2DType;
54
56typedef itk::Image<MetricVector2DType,2> MetricVectorImage2DType;
57
58
60typedef itk::PointSet<double,3> MetricPointSet3DType;
61
63typedef itk::PointSetToImageMetric<MetricPointSet3DType, MetricImage3DType> PointSetToImageMetric3DType;
64
65
67typedef itk::ImageToImageMetric<MetricImage3DType, MetricImage3DType> ImageToImageMetric3DType;
68
70typedef itk::ImageToImageMetric<MetricImage2DType, MetricImage2DType> ImageToImageMetric2DType;
71
72
74typedef itk::Transform<double,3,3> Transform3DType; // Transforms should be double
75
77typedef itk::Transform<double,2,2> Transform2DType; // Transforms should be double
78
79
81typedef itk::FiniteDifferenceFunction<MetricImage3DType> FiniteDifferenceFunction3DType;
82
84typedef itk::FiniteDifferenceFunction<MetricImage2DType> FiniteDifferenceFunction2DType;
85
86
88typedef itk::InterpolateImageFunction<MetricImage3DType,double> ImageInterpolator3DType;
89
91typedef itk::InterpolateImageFunction<MetricImage2DType,double> ImageInterpolator2DType;
92
93
95typedef itk::VectorInterpolateImageFunction<MetricVectorImage3DType,double> VectorImageInterpolator3DType;
96
98typedef itk::VectorInterpolateImageFunction<MetricVectorImage2DType,double> VectorImageInterpolator2DType;
99
100
102
103// Termination criterion must be set correctly in Base classes
104// by specifying class name == super class name as 3rd macro parameter!
105// Otherwise checks for inheritance and base classes will not terminate!
106
107// Type to be wrapped | Pointer to wrapped type | Class name of Base wrapper | Superclass wrapped type | dll-Export macro
111
114
116
119
122
125
128
129
130
131MLITK_SUPPORT_EXPORT int ITKCommonTypesAndWrappersInit();
132
itk::Image< float, 2 > MetricImage2DType
Standard 2D itk image type used to be passed by wrappers.
itk::Transform< double, 2, 2 > Transform2DType
Standard 2D itk transform type used to be passed by wrappers.
itk::Image< MetricVector2DType, 2 > MetricVectorImage2DType
Standard 2D itk vector image type used to be passed by wrappers.
itk::VectorInterpolateImageFunction< MetricVectorImage2DType, double > VectorImageInterpolator2DType
Standard 2D itk interpolator function for vector type used to be passed by wrappers.
itk::FiniteDifferenceFunction< MetricImage2DType > FiniteDifferenceFunction2DType
Standard 2D itk finite difference function type used to be passed by wrappers.
itk::PointSetToImageMetric< MetricPointSet3DType, MetricImage3DType > PointSetToImageMetric3DType
Standard itk image metric type used to be passed by wrappers.
itk::Transform< double, 3, 3 > Transform3DType
Standard 3D itk transform type used to be passed by wrappers.
itk::Image< float, 3 > MetricImage3DType
Standard 3D itk image type used to be passed by wrappers.
itk::CostFunction CostFunctionType
Basic CostFunction type.
itk::FiniteDifferenceFunction< MetricImage3DType > FiniteDifferenceFunction3DType
Standard 3D itk finite difference function type used to be passed by wrappers.
itk::VectorInterpolateImageFunction< MetricVectorImage3DType, double > VectorImageInterpolator3DType
Standard 3D itk interpolator function for vector type used to be passed by wrappers.
itk::InterpolateImageFunction< MetricImage3DType, double > ImageInterpolator3DType
Standard 3D itk interpolator function type used to be passed by wrappers.
itk::PointSet< double, 3 > MetricPointSet3DType
Standard 3D itk point set type used to be passed by wrappers.
itk::ImageToImageMetric< MetricImage2DType, MetricImage2DType > ImageToImageMetric2DType
Standard itk image metric type used to be passed by wrappers.
itk::Vector< float, 2 > MetricVector2DType
Standard 2D vector image type used to be passed by wrappers.
itk::InterpolateImageFunction< MetricImage2DType, double > ImageInterpolator2DType
Standard 2D itk interpolator function type used to be passed by wrappers.
itk::ImageToImageMetric< MetricImage3DType, MetricImage3DType > ImageToImageMetric3DType
Standard itk image metric type used to be passed by wrappers.
itk::Image< MetricVector3DType, 3 > MetricVectorImage3DType
Standard 3D itk vector image type used to be passed by wrappers.
itk::MultipleValuedCostFunction MultipleValuedCostFunctionType
Basic MultipleValuedCostFunction type.
itk::Vector< float, 3 > MetricVector3DType
Standard 3D vector image type used to be passed by wrappers.
itk::SingleValuedCostFunction SingleValuedCostFunctionType
Basic SingleValuedCostFunction type.
#define ML_CREATE_BASE_WRAPPER_FOR_OBJECT_H(CLASS_NAME, CLASS_NAME_POINTER, WRAPPER_CLASS_NAME, PARENT_CLASS_NAME, ML_EXPORT_MACRO)
Macro to create a wrapper class for an object.
#define MLITK_SUPPORT_EXPORT
When included by other libraries MLITK_SUPPORT_EXPORT is compiled as import symbol.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.