close

Вход

Забыли?

вход по аккаунту

?

Demons Registration

код для вставкиСкачать
CSci 6971: Image Registration
Lecture 20: Demons Registration
April 16, 2004
Prof. Chuck Stewart, RPI
Dr. Luis Ibanez, Kitware
Deformable Registration
Deformable Registration
Image Registration
Lecture 20
2
Deformable Transforms
Deformable Transforms
Image Registration
Lecture 20
3
Deformable Transformation
y
y
Transform
x
x
Fixed Image
Image Registration
Moving Image
Lecture 20
4
Deformable Transformation
y
y
Transform
x
x
Fixed Image
Image Registration
Moving Image
Lecture 20
5
Deformable Transformation
y
y
Transform
x
x
Fixed Image
Image Registration
Moving Image
Lecture 20
6
Image Resampling
Interpolator
Fixed
Image
Moving
Image
Resample
Image
Filter
Transform
Image Registration
Lecture 20
Deformed
Image
7
Image Resampling
Interpolator
Fixed
Image
Moving
Image
Resample
Image
Filter
High Order
Explicit
Orthogonal
Vector
Splines
Transform
Polynomials
Basis
Field
Image Registration
Lecture 20
Deformed
Image
8
Kernel Splines Transforms
Target
Landmarks
Source
Landmarks
Interpolated
Values
Image Registration
Displacement
Vectors
Lecture 20
9
Kernel Spline Transforms
• Thin Plates
• Thin Plates R2 log R
• Elastic Body
• Elastic Body Reciprocal
• Volume
Image Registration
Lecture 20
10
Kernel Spline Transforms
InsightApplications / ThinPlateSplines
Image Registration
Lecture 20
11
Resampling: Kernel Spline Transform
#include
#include
#include
#include
"itkImage.h"
"itkResampleImageFilter.h"
"itkLinearInterpolateImageFunction.h"
"itkElasticBodySplineKernelTransform.h"
typedef itk::Image< char, 2 >
ImageType;
ImageType::ConstPointer fixedImage = GetFixedImage();
ImageType::ConstPointer movingImage = GetMovingImage();
typedef itk::LinearInterpolateImageFunction<
ImageType,
double >
InterpolatorType;
InterpolatorType::Pointer interpolator = InterpolatorType::New();
typedef itk::ResampleImageFilter< ImageType,
ImageType >
FilterType;
FilterType::Pointer resampler = FilterType::New();
Image Registration
Lecture 20
12
Resampling: Kernel Spline Transform
typedef itk::ElasticBodySplineKernelTransform<
double, 2 >
TransformType;
TransformType::Pointer transform = TransformType::New();
resampler->SetInterpolator( interpolator );
resampler->SetInput( movingImage );
ImageType::RegionType region = fixedImage->GetBufferedRegion();
resampler->SetSize( region->GetSize() );
resampler->SetOutputStartIndex( region->GetIndex() );
resampler->SetOutputSpacing( fixedImage->GetSpacing() );
resampler->SetOutputOrigin( fixedImage->GetOrigin() );
Image Registration
Lecture 20
13
Resampling: Kernel Spline Transform
resampler->SetTransform( transform );
typedef TransformType::PointSetType
PointSetType;
PointSetType::Pointer sourceLandmarks = PointSetType::New();
PointSetType::Pointer targetLandmarks = PointSetType::New();
transform->SetSourceLandmarks( sourceLandmarks );
transform->SetTargetLandmarks( targetLandmarks );
typedef PointSetType::PointsContainer
PointsContainer;
PointsContainer::Pointer sources = sourceLandmarks->GetPoints();
PointsContainer::Pointer targets = targetLandmarks->GetPoints();
Image Registration
Lecture 20
14
Resampling: Kernel Spline Transform
sources->Reserve( numberOfLandmarks );
targets->Reserve( numberOfLandmarks );
typedef PointSetType::PointType
PointType source;
PointType target;
PointType;
for( int i = 0; i < numberOfLandmarks; i++ )
{
inputFile >> source;
inputFile >> target;
sources->InsertElement( i, source );
targets->InsertElement( i, target );
}
transform->ComputeWMatrix();
resampler->Update();
// Finally !!
ImageType::ConstPointer deformedImage = resampler->GetOutput();
Image Registration
Lecture 20
15
Kernel Spline Transforms
VolView : ITK Plugin
Image Registration
Lecture 20
16
Kernel Spline Transforms
VolView : ITK Plugin
Image Registration
Lecture 20
17
Deformable Transforms
Deformation Fields
Image Registration
Lecture 20
18
Deformation Vector Field
ParaView: http://www.paraview.org
Image Registration
Lecture 20
19
Warp Image Filter
#include "itkImage.h"
#include "itkWarpImageFilter.h"
#include "itkLinearInterpolateImageFunction.h"
typedef itk::Image< char, 2 >
ImageType;
ImageType::ConstPointer fixedImage = GetFixedImage();
ImageType::ConstPointer movingImage = GetMovingImage();
typedef itk::LinearInterpolateImageFunction<
ImageType,
double >
InterpolatorType;
InterpolatorType::Pointer interpolator = InterpolatorType::New();
typedef itk::Vector< float, 2 > VectorType;
typedef itk::Image< VectorType , 2 > VectorFieldType;
VectorFieldType::Pointer vectorField = GetVectorField();
Image Registration
Lecture 20
20
Warp Image Filter
typedef itk::WarpImageFilter< ImageType,
ImageType,
VectorFieldType >
WarpFilterType;
WarpFilterType::Pointer warpFilter = WarpFilterType::New();
warpFilter->SetInterpolator( interpolator );
warpFilter->SetInput( movingImage );
warpFilter->SetOutputSpacing( fixedImage->GetSpacing() );
warpFilter->SetOutputOrigin( fixedImage->GetOrigin() );
warpFilter->SetDeformationField( vectorField );
warpFilter->Update();
ImageType::ConstPointer deformedImage = warpFilter->GetOutput();
Image Registration
Lecture 20
21
Demons Registration
Demons Registration
Image Registration
Lecture 20
22
Demons Registration
Demons is a Family
of Algorithms
Image Registration
Lecture 20
23
Demons Registration
Demons Type 0
Image Registration
Lecture 20
24
Demons Registration: Type 0
Transform
Scene
Model
Image Registration
Lecture 20
25
Demons Registration: Type 0
Transform
Scene
Gradients
Image Registration
Model
Lecture 20
26
Demons Registration: Type 0
Transform
Scene
Forces
Image Registration
Model
Lecture 20
27
Demons Registration
Demons Type 1
Image Registration
Lecture 20
28
Demons Registration: Type 1
Transform
Scene
Image Registration
Vector Field
Lecture 20
Model
29
Demons Registration: Type 1
Transform
Scene
Image Registration
Vector Field
Lecture 20
Model
30
Demons Registration: Type 1
Transform
Scene
Image Registration
Vector Field
Lecture 20
Model
31
Demons Registration: Type 1
Transform
Scene
Image Registration
Vector Field
Lecture 20
Model
32
Demons Registration: Type 1
Gradient
Scene
Image Registration
Lecture 20
33
Demons Registration: Type 1
Current
Estimation
Intensity
Space
Gradient
Desired
Displacement
Scene
Image Registration
Lecture 20
34
Demons Registration: Type 1
Transform
Scene
Image Registration
Vector Field
Lecture 20
Model
35
Demons Registration: Type 1
Scene
Image Registration
Lecture 20
36
Demons Registration: Type 1
Iterations
Previous Field
Incremental Field
Next Field
Gaussian
Smoothin
g
Image Registration
Lecture 20
37
Demons Registration: Type 1
V=
( s – m ) . Grad(s)
Grad(s)2
V=
( s – m ) . Grad(s)
Grad(s)2 + (s-m)2 K
Image Registration
Lecture 20
38
Image Registration Framework
Fixed
Image
Increment
Computation
Moving
Image
Interpolator
Transform
Image Registration
Lecture 20
PDE
Solver
Deformation
Field
39
Demons Registration: Type 1
#include "itkImage.h"
#include "itkDemonsRegistrationFilter.h"
typedef itk::Image< char, 2 >
ImageType;
ImageType::ConstPointer fixedImage = GetFixedImage();
ImageType::ConstPointer movingImage = GetMovingImage();
typedef itk::Vector< float, 2 > VectorType;
typedef itk::Image< VectorType , 2 > VectorFieldType;
typedef itk::DemonsRegistrationFilter<
ImageType,
ImageType,
VectorFieldType >
DemonsType;
DemonsType::Pointer demons = DemonsType::New();
Image Registration
Lecture 20
40
Demons Registration: Type 1
demons->SetFixedImage( fixedImage );
demons->SetMovingImage( movingImage );
demons->SetNumberOfIterations( 200 );
demons->SetStandardDeviations( 1.0 );
demons->Update();
ImageType::ConstPointer vectorField = demons->GetOutput();
Image Registration
Lecture 20
41
Demons Registration: Type 1
Scene
Image Registration
Lecture 20
42
Demons Registration: Type 1
Model
Image Registration
Lecture 20
43
Demons Registration: Type 1
After
Registration
Image Registration
Lecture 20
44
Demons Registration: Type 1
Scene
Image Registration
Lecture 20
45
Demons Registration: Type 1
Scene
Image Registration
Lecture 20
46
Requirements
Fixed and Moving
images should have
the same
intensity distribution !
Image Registration
Lecture 20
47
Eventual Preprocessing
- Histogram Matching Filter
- Anisotropic Diffusion Filtering
Image Registration
Lecture 20
48
Image Registration Framework
Fixed
Image
Moving
Image
Increment
Computation
PDE
Solver
Interpolator
Transform
Deformation
Field
Resampler
Moving
Registered
Image Registration
Lecture 20
49
End
Enjoy ITK !
Image Registration
Lecture 20
50
Документ
Категория
Презентации
Просмотров
11
Размер файла
6 946 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа