itk registration - udgeia.udg.edu/.../intensityregistrationpresentation.pdf · summary 1- getting...
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/1.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/2.jpg)
![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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/3.jpg)
![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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/4.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/5.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/6.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/7.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/8.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/9.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/10.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/11.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/12.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/13.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/14.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/15.jpg)
![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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/16.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/17.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/18.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/19.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/20.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/21.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/22.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/23.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/24.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/25.jpg)
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- .](https://reader034.vdocument.in/reader034/viewer/2022050601/5fa81f15a16c2e73b62d0c65/html5/thumbnails/26.jpg)
SUMMARY
1- GETTING STARTED
2- WHAT DOES THE CODE DO?
3- FOR / AGAINST
4- APPLICATIONS
5- . . .