<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle18
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-CA" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">FYI, recently extensive transformation visualization capabilities have been added to 3D Slicer (available in recent nightly releases), see some screenshots at:
<a href="http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Transforms">
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Transforms</a>
<br>
<br>
Slicer’s transformation visualization feature is not as generic as in Paraview, but specifically developed for medical image computing and we solved many of Paraview’s limitations (you can load arbitrarily oriented volumes and transforms; you can load transforms
form ITK tfm files, etc).<br>
<br>
In Slicer you can also combine, invert, modify transforms and see the results immediately in 2d and 3d, applied to volumes, points, surface meshes, etc. You can also process and visualize transform time sequences (applied dynamically on all kinds of objects
in real-time), using the Multidimensional data extension.<br>
<br>
Andras<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif""> Community [mailto:community-bounces@itk.org]
<b>On Behalf Of </b>Nicolas Gallego<br>
<b>Sent:</b> May 13, 2014 3:50 AM<br>
<b>To:</b> Jose Ignacio Prieto<br>
<b>Cc:</b> Insight-users User; VTK Users<br>
<b>Subject:</b> Re: [ITK] [ITK-users] Vector field not shown correctly on VTK<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">Hi Jose Ignacio<o:p></o:p></p>
</div>
<p class="MsoNormal">Have you visualized your data on paraview for example?<o:p></o:p></p>
</div>
<p class="MsoNormal">hope that helps<o:p></o:p></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">-- <br>
Nicolás Gallego Ortiz<o:p></o:p></p>
<div>
<p class="MsoNormal">2014-05-12 21:50 GMT+02:00 Jose Ignacio Prieto <<a href="mailto:joseignacio.prieto@gmail.com" target="_blank">joseignacio.prieto@gmail.com</a>>:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal">Hi all, I am sending this to both lists, ITK and VTK. I have trouble loading three velocity dicom images (X, Y and Z axis). The problem is that when displaying the vector field as a Glyph3D, the arrows are aligned only in one axis. I have
tried to check through iterators after the itk to vtk filter and the output shows the vector is fine. Then I don't know if the problem is in the glyph3d config or in the vtk data type. I attach all my code if someone could give me a hand.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thank you very much.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">typedef short ShortPixelType;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">typedef itk::Image<ShortPixelType, 4> ImageType4D; // ITK Image<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">typedef itk::Image<ShortPixelType, 3> ImageType3D; // ITK Image<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">typedef itk::Image< itk::CovariantVector< ShortPixelType, 3>, 4 > VectorImageType4D;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">typedef itk::Image< itk::CovariantVector< ShortPixelType, 3>, 3 > VectorImageType3D;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">typedef itk::itkImageSeriesReader< ImageType4D> ReaderType;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">typedef itk::ImageFileWriter< VectorImageType3D> WriterType3D;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">typedef itk::ImageFileWriter< VectorImageType4D> WriterType4D;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">typedef itk::ExtractImageFilter<VectorImageType4D, VectorImageType3D> ReductorType;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">typedef itk::ImageToVTKImageFilter<VectorImageType3D> ConnectorType;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">typedef itk::ComposeImageFilter< ImageType4D, VectorImageType4D > Vector4DComposer;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">typedef itk::ImageFileReader< VectorImageType4D> ReaderType4D;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> std::vector< ReaderType::Pointer > reader;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> std::vector< NamesGeneratorType::Pointer > nameGenerator;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> std::vector< ImageIOType::Pointer > dicomIO;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> reader.resize(3);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> nameGenerator.resize(3);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> dicomIO.resize(3);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> Vector4DComposer::Pointer vecComposer = Vector4DComposer::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> VectorImageType4D::Pointer m_vectorImage;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> for (int i = 0 ; i < 3 ; i++)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> reader[i] = ReaderType::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> nameGenerator[i] = NamesGeneratorType::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> dicomIO[i] = ImageIOType::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> nameGenerator[i]->SetDirectory( argv[i + 1]);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> reader[i]->SetFileNames(nameGenerator[i]->GetInputFileNames());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> reader[i]->SetImageIO( dicomIO[i] );<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> reader[i]->Update();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> vecComposer->SetInput(i,reader[i]->GetOutput());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> vecComposer->UpdateLargestPossibleRegion();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> ImageType4D::SizeType size = vecComposer->GetOutput()->GetLargestPossibleRegion().GetSize();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> int nframes = vecComposer->GetOutput()->GetLargestPossibleRegion().GetSize()[3];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> int dim_eliminada=3;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> size[dim_eliminada]=0;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> VectorImageType4D::IndexType start = vecComposer->GetOutput()->GetLargestPossibleRegion().GetIndex();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> start[dim_eliminada] = 30;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> VectorImageType4D::RegionType desiredRegion;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> desiredRegion.SetSize( size );<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> desiredRegion.SetIndex( start );<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> ReductorType::Pointer reductor = ReductorType::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> reductor->InPlaceOn();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> reductor->SetDirectionCollapseToSubmatrix();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> reductor->SetExtractionRegion( desiredRegion );<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> reductor->SetInput(vecComposer->GetOutput());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> reductor->Update();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> ConnectorType::Pointer m_connector = ConnectorType::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_connector->SetInput(reductor->GetOutput());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_connector->UpdateLargestPossibleRegion();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_connector->Update();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"> std::cout << "image start " << std::endl;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> for (int i = 0; i < m_connector->GetOutput()->GetDimensions()[0]; i++)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> for (int j = 0; j < m_connector->GetOutput()->GetDimensions()[1]; j++)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> for (int k = 0; k < m_connector->GetOutput()->GetDimensions()[2]; k++)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> myfile<< "On point " << "i, j, k: " << i<<", "<< j<<", "<< k<<<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> " Component 0: "<< m_connector->GetOutput()->GetScalarComponentAsDouble(i, j, k, 0) <<<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> " Component 1: "<< m_connector->GetOutput()->GetScalarComponentAsDouble(i, j, k, 1) <<<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> " Component 2: "<< m_connector->GetOutput()->GetScalarComponentAsDouble(i, j, k, 2) <<<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> "\n";<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> }<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> }<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> vtkSmartPointer< vtkImageDataGeometryFilter > vtkConverter = vtkSmartPointer< vtkImageDataGeometryFilter >::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> vtkConverter->SetInput(m_connector->GetOutput());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> vtkConverter->UpdateWholeExtent();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> vtkSmartPointer< vtkArrowSource > m_arrows = vtkSmartPointer< vtkArrowSource >::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_arrows->SetTipLength(.1);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_arrows->SetTipResolution(5);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_arrows->SetTipRadius(.05);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_arrows->SetShaftResolution(5);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_arrows->SetShaftRadius(.015);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_arrows->Update();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> vtkSmartPointer< vtkGlyph3D > m_glyphs = vtkSmartPointer< vtkGlyph3D >::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetSourceConnection(m_connector->GetOutput());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetInput(m_connector->GetOutput());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetInputConnection(m_connector->GetOutput() ());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_glyphs->SetInputConnection(vtkConverter->GetOutputPort());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetSource(m_arrows->GetOutput());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_glyphs->SetSourceConnection(m_arrows->GetOutputPort());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_glyphs->OrientOn();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->OrientOff();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetVectorModeToVectorRotationOff();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_glyphs->SetVectorModeToUseVector();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetVectorModeToUseNormal();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetScaleModeToDataScalingOn();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetScaleModeToDataScalingOff();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetColorModeToColorByVector();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetScaleModeToScaleByVector();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetColorModeToColorByScalar();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_glyphs->SetColorModeToColorByScale();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_glyphs->SetScaleFactor(0.2);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetIndexModeToVector();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetScaleModeToDataScalingOff();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">// m_glyphs->SetScaleFactor(.5);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> m_glyphs->Update();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> vtkSmartPointer< vtkOpenGLPolyDataMapper > glyphPolyData = vtkSmartPointer< vtkOpenGLPolyDataMapper >::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> glyphPolyData->SetInputConnection(m_glyphs->GetOutputPort());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> vtkSmartPointer< vtkOpenGLActor > glyphActor = vtkSmartPointer< vtkOpenGLActor >::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> glyphActor->SetMapper(glyphPolyData);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> vtkSmartPointer< vtkWin32OpenGLRenderWindow > renWin = vtkSmartPointer< vtkWin32OpenGLRenderWindow>::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> vtkSmartPointer< vtkOpenGLRenderer> ren1 = vtkSmartPointer< vtkOpenGLRenderer> ::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> renWin->AddRenderer(ren1);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> ren1->AddActor(glyphActor);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> vtkSmartPointer< vtkRenderWindowInteractor > rwi = vtkSmartPointer< vtkRenderWindowInteractor >::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> vtkSmartPointer<MouseInteractorStyle> styleActor = vtkSmartPointer<MouseInteractorStyle>::New();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> rwi->SetInteractorStyle(styleActor);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> rwi->SetRenderWindow(renWin);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> rwi->SetSize(640, 480);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> rwi->Initialize();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> renWin->Render();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> rwi->Start();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#888888"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#888888"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span style="color:#888888">-- <br>
José Ignacio Prieto <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:#888888">Software developer<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#888888">Biomedical Imaging Center<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#888888">Pontificia Universidad Catolica de Chile<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
_____________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br>
_______________________________________________<br>
Community mailing list<br>
<a href="mailto:Community@itk.org">Community@itk.org</a><br>
<a href="http://public.kitware.com/cgi-bin/mailman/listinfo/community" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/community</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>