|
|
Line 1: |
Line 1: |
| ==DeepCopy.cxx== | | {{warning|1=The media wiki content on this page is no longer maintained. The examples presented on the https://itk.org/Wiki/* pages likely require ITK version 4.13 or earlier releases. In many cases, the examples on this page no longer conform to the best practices for modern ITK versions.}} |
| <source lang="cpp">
| |
| #include "itkImage.h"
| |
| #include "itkImageRegionIterator.h"
| |
| | |
| template<typename TImage>
| |
| void DeepCopy(typename TImage::Pointer input, typename TImage::Pointer output)
| |
| {
| |
| output->SetRegions(input->GetLargestPossibleRegion());
| |
| output->Allocate();
| |
| | |
| itk::ImageRegionConstIterator<TImage> inputIterator(input, input->GetLargestPossibleRegion());
| |
| itk::ImageRegionIterator<TImage> outputIterator(output, output->GetLargestPossibleRegion());
| |
| | |
| while(!inputIterator.IsAtEnd())
| |
| {
| |
| outputIterator.Set(inputIterator.Get());
| |
| ++inputIterator;
| |
| ++outputIterator;
| |
| }
| |
| }
| |
| | |
| int main(int, char *[])
| |
| {
| |
| typedef itk::Image<unsigned char, 2> ImageType; | |
| ImageType::Pointer image1 = ImageType::New();
| |
| ImageType::Pointer image2 = ImageType::New();
| |
| | |
| DeepCopy<ImageType>(image1, image2);
| |
|
| |
| | |
| return 0;
| |
| }
| |
| </source>
| |
| | |
| {{ITKCMakeLists|{{SUBPAGENAME}}}}
| |