SimpleITK/Advisory Review Board: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
 
(18 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
 
==== 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>
 
==== 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>
 
==== 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() );
 
// Execute 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>
 
==== Procedural with parameter setting ====
<pre>
// Open the fixed and moving images
itk::simple::ImageFileReader reader;
reader.SetFilename( "path/to/fixed.jpg" );
itk::simple::Image::Pointer fixedImage = reader.execute();
reader.SetFilename( "path/to/moving.jpg" );
itk::simple::Image::Pointer movingImage = reader.execute();
 
// Register the moving image to the fixed image
itk::simple::AffineRegistrator registrator;
registrator.SetFixedImage( fixedImage );
registrator.SetMovingImage( movingImage );
itk::simple::AffineTransform transform;
transform = registrator.execute();
 
// Resample the moving image
itk::simple::Resampler resampler;
resampler.SetTransform( transform );
movingImage = resampler.execute( movingImage );
 
// Write out the resampled image
itk::simple::ImageFileWriter writer;
writer.SetFilename( "path/to/output.png" );
writer.ececute( movingImage );
</pre>
 
==== Pipeline ====
<pre>
// Open the fixed and moving images
itk::simple::ImageFileReader reader1;
itk::simple::ImageFileReader reader2;
reader1.SetFilename( "path/to/fixed.jpg" );
reader2.SetFilename( "path/to/moving.jpg" );
 
// Register the moving image to the fixed image
itk::simple::AffineRegistrator registrator;
registrator.SetFixedImage( reader1.GetOutput() );
registrator.SetMovingImage( reader2.GetOutput() );
 
// Resample the moving image
itk::simple::Resampler resampler;
resampler.SetInput( reader2.GetOutput() );
resampler.SetTransform( registrator.GetOutput() );
 
// Write out the resampled image
itk::simple::ImageFileWriter writer;
writer.SetFilename( "path/to/output.png" );
writer.SetInput( movingImage );
 
// Execute the pipeline
writer.Update();
</pre>
 
== Level Set ==
 
== Region Growing ==
 
== Watershed ==


== QuadEdgeMesh ==
* [[ITK_Release_4/SimpleITK/Advisory Review Board/Prototype Code Discussions|Prototype Code Discussions]]

Latest revision as of 17:51, 13 February 2013

Board Members

  • Harvey Cline, Kitware Inc.
  • Raghu Machiraju, The Ohio State University
  • John Galeotti, CMU
  • Hans Johnson, University of Iowa
  • Fabrice de Chaumont, Pasteur Institute
  • New students in the UNC CISMM project (taylorr@cs.unc.edu)
  • Jesus Caban, NLM-NIH
  • Manuel Grizzonet, Orfeo Toolbox, CNES - France
  • Julien Michel, Orfeo Toolbox, CNES - France

Prototype Code for Discussions