🗊Презентация ITK Lecture 6 - The Pipeline

Нажмите для полного просмотра!
ITK Lecture 6 - The Pipeline, слайд №1ITK Lecture 6 - The Pipeline, слайд №2ITK Lecture 6 - The Pipeline, слайд №3ITK Lecture 6 - The Pipeline, слайд №4ITK Lecture 6 - The Pipeline, слайд №5ITK Lecture 6 - The Pipeline, слайд №6ITK Lecture 6 - The Pipeline, слайд №7ITK Lecture 6 - The Pipeline, слайд №8ITK Lecture 6 - The Pipeline, слайд №9ITK Lecture 6 - The Pipeline, слайд №10ITK Lecture 6 - The Pipeline, слайд №11ITK Lecture 6 - The Pipeline, слайд №12ITK Lecture 6 - The Pipeline, слайд №13ITK Lecture 6 - The Pipeline, слайд №14ITK Lecture 6 - The Pipeline, слайд №15ITK Lecture 6 - The Pipeline, слайд №16ITK Lecture 6 - The Pipeline, слайд №17ITK Lecture 6 - The Pipeline, слайд №18ITK Lecture 6 - The Pipeline, слайд №19ITK Lecture 6 - The Pipeline, слайд №20ITK Lecture 6 - The Pipeline, слайд №21ITK Lecture 6 - The Pipeline, слайд №22ITK Lecture 6 - The Pipeline, слайд №23ITK Lecture 6 - The Pipeline, слайд №24ITK Lecture 6 - The Pipeline, слайд №25ITK Lecture 6 - The Pipeline, слайд №26ITK Lecture 6 - The Pipeline, слайд №27ITK Lecture 6 - The Pipeline, слайд №28

Вы можете ознакомиться и скачать презентацию на тему ITK Lecture 6 - The Pipeline. Доклад-сообщение содержит 28 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





ITK Lecture 6 - The Pipeline
Methods in Image Analysis
CMU Robotics Institute 16-725
U. Pitt Bioengineering 2630
Spring Term, 2006
Описание слайда:
ITK Lecture 6 - The Pipeline Methods in Image Analysis CMU Robotics Institute 16-725 U. Pitt Bioengineering 2630 Spring Term, 2006

Слайд 2





What’s a pipeline?
You may recall that ITK is organized around data objects and process objects
You should now be somewhat familiar with the primary data object, itk::Image
Today we’ll talk about how to do cool things to images, using process objects
Описание слайда:
What’s a pipeline? You may recall that ITK is organized around data objects and process objects You should now be somewhat familiar with the primary data object, itk::Image Today we’ll talk about how to do cool things to images, using process objects

Слайд 3





The pipeline idea
Описание слайда:
The pipeline idea

Слайд 4





Image sources
Описание слайда:
Image sources

Слайд 5





Image to image filters
Описание слайда:
Image to image filters

Слайд 6





Input and output
ImageSource’s do not require input, so they have only a GetOutput() function
ImageToImageFilter’s have both SetInput() and GetOutput() functions
Описание слайда:
Input and output ImageSource’s do not require input, so they have only a GetOutput() function ImageToImageFilter’s have both SetInput() and GetOutput() functions

Слайд 7





Ignoring intermediate images
Описание слайда:
Ignoring intermediate images

Слайд 8





How this looks in code
SrcType::Pointer src = SrcType::New();
FilAType::Pointer filterA = FilAType::New();
FilBType::Pointer filterB = FilBType::New();

src->SetupTheSource();
filterA->SetInput( src->GetOutput() );
filterB->SetInput( filterA->GetOutput() );

ImageType::Pointer im = filterB->GetOutput();
Описание слайда:
How this looks in code SrcType::Pointer src = SrcType::New(); FilAType::Pointer filterA = FilAType::New(); FilBType::Pointer filterB = FilBType::New(); src->SetupTheSource(); filterA->SetInput( src->GetOutput() ); filterB->SetInput( filterA->GetOutput() ); ImageType::Pointer im = filterB->GetOutput();

Слайд 9





When execution occurs
The previous page of code only sets up the pipeline - i.e., what connects to what
This does not cause the pipeline to execute
In order to “run” the pipeline, you must call Update() on the last filter in the pipeline
Описание слайда:
When execution occurs The previous page of code only sets up the pipeline - i.e., what connects to what This does not cause the pipeline to execute In order to “run” the pipeline, you must call Update() on the last filter in the pipeline

Слайд 10





Propagation of Update()
When Update() is called on a filter, the update propagates back “up” the pipeline until it reaches a process object that does not need to be updated, or the start of the pipeline
Описание слайда:
Propagation of Update() When Update() is called on a filter, the update propagates back “up” the pipeline until it reaches a process object that does not need to be updated, or the start of the pipeline

Слайд 11





When are process objects updated? 
If the input to the process object has changed
If the process object itself has been modified - e.g., I change the radius of a Gaussian blur filter
Описание слайда:
When are process objects updated? If the input to the process object has changed If the process object itself has been modified - e.g., I change the radius of a Gaussian blur filter

Слайд 12





Detecting process object modification
The easy way is to use
	itkSetMacro(MemberName, type); 
which produces the function
	void SetMemberName(type);
that calls Modified() for you when a new value is set in the class.
For example:
	itkSetMacro(DistanceMin, double);
sets member variable m_DistanceMin
Описание слайда:
Detecting process object modification The easy way is to use itkSetMacro(MemberName, type); which produces the function void SetMemberName(type); that calls Modified() for you when a new value is set in the class. For example: itkSetMacro(DistanceMin, double); sets member variable m_DistanceMin

Слайд 13





Process object modification, cont.
The other way is to call Modified() from within a process object function when you know something has changed
		this->Modified();
You can call Modified() from outside the class as well, to force an update
Using the macros is a better idea though...
Описание слайда:
Process object modification, cont. The other way is to call Modified() from within a process object function when you know something has changed this->Modified(); You can call Modified() from outside the class as well, to force an update Using the macros is a better idea though...

Слайд 14





Running the pipeline - Step 1
Описание слайда:
Running the pipeline - Step 1

Слайд 15





Running the pipeline - Step 2
Описание слайда:
Running the pipeline - Step 2

Слайд 16





Running the pipeline - Step 3
Описание слайда:
Running the pipeline - Step 3

Слайд 17





Running the pipeline - Step 4
Описание слайда:
Running the pipeline - Step 4

Слайд 18





Modifying the pipeline - Step 1
Описание слайда:
Modifying the pipeline - Step 1

Слайд 19





Modifying the pipeline - Step 2
Описание слайда:
Modifying the pipeline - Step 2

Слайд 20





Modifying the pipeline - Step 3
Описание слайда:
Modifying the pipeline - Step 3

Слайд 21





Thoughts on pipeline modification
Note that in the previous example the source never re-executed; it had no input and it was never modified, so the output cannot have changed
This is good! We can change things at the end of the pipeline without wasting time recomputing things at the beginning
Описание слайда:
Thoughts on pipeline modification Note that in the previous example the source never re-executed; it had no input and it was never modified, so the output cannot have changed This is good! We can change things at the end of the pipeline without wasting time recomputing things at the beginning

Слайд 22





It’s easy in practice
Build a pipeline
Call Update() on the last filter - get the output
Tweak some of the filters
Call Update() on the last filter - get the output
...ad nauseam
Описание слайда:
It’s easy in practice Build a pipeline Call Update() on the last filter - get the output Tweak some of the filters Call Update() on the last filter - get the output ...ad nauseam

Слайд 23





Reading & writing
You will often begin and end pipelines with readers and writers
Fortunately, ITK knows how to read a wide variety of image types!
Описание слайда:
Reading & writing You will often begin and end pipelines with readers and writers Fortunately, ITK knows how to read a wide variety of image types!

Слайд 24





Reading and writing images
Use itk::ImageFileReader<ImageType> to read images
Use itk::ImageFileWriter<ImageType> to write images
Both classes have a SetImageIO(ImageIOBase*) function used to specify a particular type of image to read or write
Описание слайда:
Reading and writing images Use itk::ImageFileReader<ImageType> to read images Use itk::ImageFileWriter<ImageType> to write images Both classes have a SetImageIO(ImageIOBase*) function used to specify a particular type of image to read or write

Слайд 25





Reading an image (4.1.2)
Create a reader
Create an instance of an ImageIOBase derived class (e.g. PNGImageIO)
Pass the IO object to the reader
Set the file name of the reader
Update the reader
Описание слайда:
Reading an image (4.1.2) Create a reader Create an instance of an ImageIOBase derived class (e.g. PNGImageIO) Pass the IO object to the reader Set the file name of the reader Update the reader

Слайд 26





Reader notes
The ImageType template parameter is the type of image you want to convert the stored image to, not necessarily the type of image stored in the file
ITK assumes a valid conversion exists between the stored pixel type and the target pixel type
Описание слайда:
Reader notes The ImageType template parameter is the type of image you want to convert the stored image to, not necessarily the type of image stored in the file ITK assumes a valid conversion exists between the stored pixel type and the target pixel type

Слайд 27





Writing an image
Almost identical to the reader case, but you use an ImageFileWriter instead of a reader
If you’ve already created an IO object during the read stage, you can recycle it for use with the writer
Описание слайда:
Writing an image Almost identical to the reader case, but you use an ImageFileWriter instead of a reader If you’ve already created an IO object during the read stage, you can recycle it for use with the writer

Слайд 28





More read/write notes
ITK actually has several different ways of reading files - what I’ve presented is the simplest conceptually
Other methods exist to let you read files without knowing their format
Описание слайда:
More read/write notes ITK actually has several different ways of reading files - what I’ve presented is the simplest conceptually Other methods exist to let you read files without knowing their format



Теги ITK Lecture 6 - The Pipeline
Похожие презентации
Mypresentation.ru
Загрузить презентацию