itk registration - udgeia.udg.edu/.../intensityregistrationpresentation.pdf · summary 1- getting...

27
ITK REGISTRATION

Upload: others

Post on 11-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

ITK REGISTRATION

Page 2: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .
Page 3: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .
Page 4: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

SUMMARY

1- GETTING STARTED

2- WHAT DOES THE CODE DO?

3- FOR / AGAINST

4- APPLICATIONS

5- . . .

Page 5: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

SUMMARY

1- GETTING STARTED

2- WHAT DOES THE CODE DO?

3- FOR / AGAINST

4- APPLICATIONS

5- . . .

Page 6: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

1- GETTING STARTED

itk: http://itk.org/- Download: http://itk.org/ITK/resources/software.html (InsightToolkit-versionNumber.tar.gz)- installation tutorial: http://itk.org/ITK/help/tutorials.html (Getting Started I: Introduction to ITK.)

Page 7: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

1- GETTING STARTED

itk: http://itk.org/- Download: http://itk.org/ITK/resources/software.html (InsightToolkit-versionNumber.tar.gz)- installation tutorial: http://itk.org/ITK/help/tutorials.html (Getting Started I: Introduction to ITK.)

Cmake: (www.cmake.org/)- also included in most linux distributions.

Page 8: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

1- GETTING STARTED

itk: http://itk.org/- Download: http://itk.org/ITK/resources/software.html (InsightToolkit-versionNumber.tar.gz)- installation tutorial: http://itk.org/ITK/help/tutorials.html (Getting Started I: Introduction to ITK.)

Cmake: (www.cmake.org/)- also included in most linux distributions.

The code comes from:- Software Guide: http://itk.org/ITK/resources/software.html (ITK Software Guide 2.4.0 PDF)

Page 9: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

1- GETTING STARTED

itk: http://itk.org/- Download: http://itk.org/ITK/resources/software.html (InsightToolkit-versionNumber.tar.gz)- installation tutorial: http://itk.org/ITK/help/tutorials.html (Getting Started I: Introduction to ITK.)

Cmake: (www.cmake.org/)- also included in most linux distributions.

The code comes from:- Software Guide: http://itk.org/ITK/resources/software.html (ITK Software Guide 2.4.0 PDF)

Where to get help:- itk mailing list: http://itk.org/ITK/help/mailing.html

Page 10: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

SUMMARY

1- GETTING STARTED

2- WHAT DOES THE CODE DO?

3- FOR / AGAINST

4- APPLICATIONS

5- . . .

Page 11: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

2- WHAT DOES THE CODE DO?

- Extend some of the registration examples in itk programming guide.- Unified format.- Combination of examples- Correction of some errors

C++ / ITK

Page 12: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

2- WHAT DOES THE CODE DO?

- Extend some of the registration examples in itk programming guide.- Unified format.- Combination of examples- Correction of some errors

- Registration methods:- RIGID- AFFINE- BSPLINES (Flexible)- DEMONS- POLIRIGID

C++ / ITK

Page 13: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

2- WHAT DOES THE CODE DO?

- Extend some of the registration examples in itk programming guide.- Unified format.- Combination of examples- Correction of some errors

- Registration methods:- RIGID- AFFINE- BSPLINES (Flexible)- DEMONS- POLIRIGID

- Advanced “methods”- Multiresolution

- MR Affine- MR Bsplines

- Method combination (via scripts, not C++)- Affine + Bsplines- MR AFFINE + MR Bsplines

C++ / ITK

Page 14: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

2- WHAT DOES THE CODE DO?

Code example (RegistreFlexible.cxx):

- Two possible Distances.

- Registration Structure (Images, parameters, registration Optimizer, Observer)

- Output- Output image- Difference images- Checkerboard images- ...

C++ / ITK

Page 15: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .
Page 16: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

2- WHAT DOES THE CODE DO?

- Test bash scripts:- Call Registration Methods.- “Black-Box-wise”- Allows for (limited) parameter combination

Bash shell scripts

Page 17: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

2- WHAT DOES THE CODE DO?

- Test bash scripts:- Call Registration Methods.- “Black-Box-wise”- Allows for (limited) parameter combination

Bash shell scripts

# exemple d'execució:

./testadorAfi ~/principal/codi/c++/mamo/arpons/MOCKUPF027140/7.dcm ~/principal/codi/c++/mamo/arpons/MOCKUPF027140/8.dcm ./ 100

#definim parametres:fixed=$1moving=$2 outputDir=$3iterations=$4

numberOfMetrics=2

Page 18: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

2- WHAT DOES THE CODE DO?

- Test bash scripts:- Call Registration Methods.- “Black-Box-wise”- Allows for (limited) parameter combination

Bash shell scripts

for(( i=0 ; i<numberOfMetrics ;i=i+1 )) do

echo " " echo " ************************************************************************************** " echo " PROVANT metrica de tipus: $i " echo " ./registreAfi $fixed $moving ./sortidaAfi$i.dcm $i $iterations > sortidaAfi$i.txt "echo " *************************************************************************************** "

./registreAfi $fixed $moving ./sortidaAfi$i.dcm $i $iterations > sortidaAfi$i.txt mkdir arxiusAfi\_$outputDir\_$i

mv *.dcm arxiusAfi\_$outputDir\_$imv sortidaAfi$i.txt arxiusAfi\_$outputDir\_$i

done

Page 19: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

2- WHAT DOES THE CODE DO?

- Test bash scripts:- Call Registration Methods.- “Black-Box-wise”- Allows for (limited) parameter combination

- Traverse sub-directory structure (speciffic one!)- Execute test bash scripts- Organize information (sort results for different methods randomly)- Delete intermediate files.

Bash shell scripts

Page 20: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

2- WHAT DOES THE CODE DO?

- Test bash scripts:- Call Registration Methods.- “Black-Box-wise”- Allows for (limited) parameter combination

- Traverse sub-directory structure (speciffic one!)- Execute test bash scripts- Organize information (sort results for different methods randomly)- Delete intermediate files.

- Modify Dicom Tags (uses dcmtk, dcmodify)

- Create DicomDirs (uses dcmtk, dcmmkdir)

- Send “progres” e-mail (need exim4)

- ...

Bash shell scripts

Page 21: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

SUMMARY

1- GETTING STARTED

2- WHAT DOES THE CODE DO?

3- FOR / AGAINST

4- APPLICATIONS

5- . . .

Page 22: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

3- FOR / AGAINST

- Easy to use (I hope)- Many methods, general purpose problem- Possibility to extend / touch anything- Accepts many image formats- It actually works!- Some working experience- Possibility to incorporate more methods.

Page 23: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

3- FOR / AGAINST

- Easy to use (I hope)- Many methods, general purpose problem- Possibility to extend / touch anything- Accepts many image formats- It actually works!- Some working experience- Possibility to incorporate more methods.

- Function names and notation!- Not the best programming ever (by far)← Not easy!

← (not ALL? Sik?)← … most of the time!

Page 24: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

SUMMARY

1- GETTING STARTED

2- WHAT DOES THE CODE DO?

3- FOR / AGAINST

4- APPLICATIONS

5- . . .

Page 25: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

4- APPLICATIONS (SO FAR)

- MAMMOGRAPHIC REGISTRATION (some written results and conclusions).

-

Page 26: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

SUMMARY

1- GETTING STARTED

2- WHAT DOES THE CODE DO?

3- FOR / AGAINST

4- APPLICATIONS

5- . . .

Page 27: ITK REGISTRATION - UdGeia.udg.edu/.../intensityRegistrationPresentation.pdf · summary 1- getting started 2- what does the code do? 3- for / against 4- applications 5- .

5- . . .

- Free support!

- Contact: [email protected]

- Future Work

- Questions?