ITK/Examples/ImageProcessing/IntensityWindowingImageFilter: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
Daviddoria (talk | contribs) (Created page with "==IntensityWindowingImageFilter.cxx== <source lang="cpp"> </source> ==CMakeLists.txt== <source lang="cmake"> </source>") |
Daviddoria (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
==IntensityWindowingImageFilter.cxx== | ==IntensityWindowingImageFilter.cxx== | ||
<source lang="cpp"> | <source lang="cpp"> | ||
#include "itkImage.h" | |||
#include "itkImageFileWriter.h" | |||
#include "itkIntensityWindowingImageFilter.h" | |||
#include "itkImageRegionIterator.h" | |||
typedef itk::Image<unsigned char, 2> ImageType; | |||
void CreateImage(ImageType::Pointer image); | |||
int main(int, char *[]) | |||
{ | |||
ImageType::Pointer image = ImageType::New(); | |||
CreateImage(image); | |||
typedef itk::IntensityWindowingImageFilter <ImageType, ImageType> IntensityWindowingImageFilterType; | |||
IntensityWindowingImageFilterType::Pointer filter = IntensityWindowingImageFilterType::New(); | |||
filter->SetInput(image); | |||
filter->SetWindowMinimum(0); | |||
filter->SetWindowMaximum(100); | |||
filter->SetOutputMinimum(0); | |||
filter->SetOutputMaximum(255); | |||
filter->Update(); | |||
typedef itk::ImageFileWriter< ImageType > WriterType; | |||
WriterType::Pointer writer = WriterType::New(); | |||
writer->SetFileName("output.png"); | |||
writer->SetInput(image); | |||
writer->Update(); | |||
return EXIT_SUCCESS; | |||
} | |||
void CreateImage(ImageType::Pointer image) | |||
{ | |||
ImageType::IndexType start; | |||
start.Fill(0); | |||
ImageType::SizeType size; | |||
size.Fill(100); | |||
ImageType::RegionType region(start,size); | |||
image->SetRegions(region); | |||
image->Allocate(); | |||
image->FillBuffer(10); | |||
itk::ImageRegionIterator<ImageType> imageIterator(image,region); | |||
while(!imageIterator.IsAtEnd()) | |||
{ | |||
if(imageIterator.GetIndex()[0] > 30) | |||
{ | |||
imageIterator.Set(0); | |||
} | |||
++imageIterator; | |||
} | |||
} | |||
</source> | </source> | ||
==CMakeLists.txt== | ==CMakeLists.txt== | ||
<source lang="cmake"> | <source lang="cmake"> | ||
cmake_minimum_required(VERSION 2.6) | |||
PROJECT(IntensityWindowingImageFilter) | |||
FIND_PACKAGE(ITK REQUIRED) | |||
INCLUDE(${ITK_USE_FILE}) | |||
ADD_EXECUTABLE(IntensityWindowingImageFilter IntensityWindowingImageFilter.cxx) | |||
TARGET_LINK_LIBRARIES(IntensityWindowingImageFilter | |||
ITKBasicFilters ITKCommon ITKIO) | |||
</source> | </source> |
Revision as of 17:39, 24 February 2011
IntensityWindowingImageFilter.cxx
<source lang="cpp">
- include "itkImage.h"
- include "itkImageFileWriter.h"
- include "itkIntensityWindowingImageFilter.h"
- include "itkImageRegionIterator.h"
typedef itk::Image<unsigned char, 2> ImageType;
void CreateImage(ImageType::Pointer image);
int main(int, char *[]) {
ImageType::Pointer image = ImageType::New(); CreateImage(image);
typedef itk::IntensityWindowingImageFilter <ImageType, ImageType> IntensityWindowingImageFilterType;
IntensityWindowingImageFilterType::Pointer filter = IntensityWindowingImageFilterType::New(); filter->SetInput(image); filter->SetWindowMinimum(0); filter->SetWindowMaximum(100); filter->SetOutputMinimum(0); filter->SetOutputMaximum(255); filter->Update();
typedef itk::ImageFileWriter< ImageType > WriterType; WriterType::Pointer writer = WriterType::New(); writer->SetFileName("output.png"); writer->SetInput(image); writer->Update(); return EXIT_SUCCESS;
}
void CreateImage(ImageType::Pointer image) {
ImageType::IndexType start; start.Fill(0);
ImageType::SizeType size; size.Fill(100);
ImageType::RegionType region(start,size);
image->SetRegions(region); image->Allocate(); image->FillBuffer(10);
itk::ImageRegionIterator<ImageType> imageIterator(image,region);
while(!imageIterator.IsAtEnd()) { if(imageIterator.GetIndex()[0] > 30) { imageIterator.Set(0); }
++imageIterator; }
} </source>
CMakeLists.txt
<source lang="cmake"> cmake_minimum_required(VERSION 2.6)
PROJECT(IntensityWindowingImageFilter)
FIND_PACKAGE(ITK REQUIRED) INCLUDE(${ITK_USE_FILE})
ADD_EXECUTABLE(IntensityWindowingImageFilter IntensityWindowingImageFilter.cxx) TARGET_LINK_LIBRARIES(IntensityWindowingImageFilter ITKBasicFilters ITKCommon ITKIO)
</source>