|
|
(26 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
| | = Board Members = |
| | |
| * Harvey Cline, Kitware Inc. | | * Harvey Cline, Kitware Inc. |
| * Raghu Machiraju, The State University of Ohio | | * Raghu Machiraju, The Ohio State University |
| * John Galeotti, CMU | | * John Galeotti, CMU |
| * Hans Johnson, University of Iowa | | * Hans Johnson, University of Iowa |
Line 6: |
Line 8: |
| * New students in the UNC CISMM project (taylorr@cs.unc.edu) | | * New students in the UNC CISMM project (taylorr@cs.unc.edu) |
| * Jesus Caban, NLM-NIH | | * Jesus Caban, NLM-NIH |
| | * Manuel Grizzonet, Orfeo Toolbox, CNES - France |
| | * Julien Michel, Orfeo Toolbox, CNES - France |
|
| |
|
| = ARB Prototype Code = | | = Prototype Code for Discussions = |
| | |
| == Gaussian Blur ==
| |
| * Open an image
| |
| * Filter the image with a Gaussian blur using sigma = 2
| |
| * Write the image back out
| |
| | |
| === Fully procedural ===
| |
| <pre>
| |
| // Read the image
| |
| itk::simple::ImageFileReader reader;
| |
| itk::simple::Image::Pointer im = reader.execute( "sample/path/to/image.jpg" );
| |
| | |
| // Apply Gaussian with sigma = 2
| |
| itk::simple::Gaussian filter;
| |
| im = filter.execute( im, 2 );
| |
| | |
| // Write out the image
| |
| itk::simple::ImageFileWriter writer;
| |
| writer.execute( im, "sample/path/to/output.png" );
| |
| </pre>
| |
| | |
| === Option 2 - Procedural with parameter setting ===
| |
| <pre>
| |
| // Read the image
| |
| itk::simple::ImageFileReader reader;
| |
| reader.SetFilename( "sample/path/to/image.jpg" );
| |
| itk::simple::Image::Pointer im = reader.execute();
| |
| | |
| // Apply Gaussian with sigma = 2
| |
| itk::simple::Gaussian filter;
| |
| filter.SetSigma( 2 );
| |
| im = filter.execute( im );
| |
| | |
| // Write out the image
| |
| itk::simple::ImageFileWriter writer;
| |
| writer.SetFilename( "sample/path/to/output.png" );
| |
| writer.execute( im );
| |
| </pre>
| |
| | |
| === Option 3 - Pipelined ===
| |
| <pre>
| |
| // Read the image
| |
| itk::simple::ImageFileReader reader;
| |
| reader.SetFilename( "sample/path/to/image.jpg" );
| |
| | |
| // Apply Gaussian with sigma = 2
| |
| itk::simple::Gaussian filter;
| |
| filter.SetSigma( 2 );
| |
| filter.SetInput( reader.getOutput() );
| |
| | |
| // Write out the image
| |
| itk::simple::ImageFileWriter writer;
| |
| writer.SetFilename( "sample/path/to/output.png" );
| |
| writer.SetInput( filter->GetOutput() );
| |
| | |
| // Update the pipieline
| |
| writer.Update();
| |
| </pre>
| |
| | |
| == Image Registration ==
| |
| * Open two images (one fixed, one moving)
| |
| * Register the moving image to the fixed image using affine registration
| |
| * Resample the moving image using the computed transform
| |
| * Write the resampled image out
| |
| | |
| === Procedural ===
| |
| <pre>
| |
| // Open the fixed and moving images
| |
| itk::simple::ImageFileReader reader;
| |
| itk::simple::Image::Pointer fixedImage = reader.execute( "path/to/fixed.jpg" );
| |
| itk::simple::Image::Pointer movingImage = reader.execute( "path/to/moving.jpg" );
| |
| | |
| // Register the moving image to the fixed image
| |
| itk::simple::AffineRegistrator registrator;
| |
| itk::simple::AffineTransform transform;
| |
| transform = registrator.execute( fixedImage, movingImage );
| |
| | |
| // Resample the moving image
| |
| itk::simple::Resampler resampler;
| |
| movingImage = resampler.execute( movingImage, transform );
| |
| | |
| // Write out the resampled image
| |
| itk::simple::ImageFileWriter writer;
| |
| writer.ececute( movingImage, "path/to/output.png" );
| |
| </pre>
| |
| | |
| == Level Set ==
| |
| | |
| == Region Growing ==
| |
| | |
| == Watershed ==
| |
|
| |
|
| == QuadEdgeMesh ==
| | * [[ITK_Release_4/SimpleITK/Advisory Review Board/Prototype Code Discussions|Prototype Code Discussions]] |