Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
mia
3d
3d/register.hh
Go to the documentation of this file.
1
/* -*- mia-c++ -*-
2
*
3
* This file is part of MIA - a toolbox for medical image analysis
4
* Copyright (c) Leipzig, Madrid 1999-2013 Gert Wollny
5
*
6
* MIA is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with MIA; if not, see <http://www.gnu.org/licenses/>.
18
*
19
*/
20
21
#ifndef reg3d_register_hh
22
#define reg3d_register_hh
23
24
#include <
mia/3d/deformer.hh
>
25
#include <
mia/3d/model.hh
>
26
#include <
mia/3d/timestep.hh
>
27
#include <
mia/3d/cost.hh
>
28
29
30
NS_MIA_BEGIN
31
32
typedef
std::shared_ptr< C3DFVectorfield >
P3DFVectorfield
;
33
44
typedef
std::shared_ptr<C3DImageCost >
P3DImageCost
;
45
46
class
EXPORT_3D
C3DImageRegister
{
47
public
:
62
C3DImageRegister
(
size_t
start_size,
C3DImageCost
& cost,
size_t
max_iter,
63
C3DRegModel& model,
C3DRegTimeStep
& time_step,
64
const
C3DInterpolatorFactory
& ipf,
float
outer_epsilon,
bool
save_steps);
65
72
P3DFVectorfield
operator () (
const
C3DImage
& source,
const
C3DImage
& reference);
73
private
:
74
void
reg_level(
const
C3DImage
& source,
const
C3DImage
& reference,
C3DFVectorfield
& result);
75
void
reg_level_regrid(
const
C3DImage
& source,
const
C3DImage
& reference,
C3DFVectorfield
& result);
76
void
reg_level_regrid_opt(
const
C3DImage
& source,
const
C3DImage
& reference,
C3DFVectorfield
& result);
77
size_t
m_start_size;
78
C3DImageCost
& m_cost;
79
size_t
m_max_iter;
80
C3DRegModel& m_model;
81
C3DRegTimeStep
& m_time_step;
82
const
C3DInterpolatorFactory
& m_ipf;
83
float
m_outer_epsilon;
84
bool
m_save_steps;
85
size_t
m_mnum;
86
};
87
88
typedef
std::shared_ptr<C3DRegModel >
P3DRegModel
;
89
90
NS_MIA_END
91
92
#endif
Generated on Tue Oct 15 2013 13:56:37 by
1.8.4