[Insight-users] Re: From Vtk To Itk Run Time Error!

Luis Ibanez luis.ibanez at kitware.com
Tue, 10 Feb 2004 13:25:00 -0500


Hi Yasser,


Could you please share with us the
run time error message that you get  ?


That will help us a lot   :-)


Thanks


    Luis



---------------------
yasser salman wrote:

> hi Luis..,
> the same Runtime  Error Message Appeared,, the first
> part working good (displayed the dicom files found in
> ../../Nesma1)
> at the second part  the vtk Renderwindow initialized
> to display the output files after volume processed by
> itk filters but the run
> time error message occured,, what i did..,
> 1- update my itk to ver 1.6.0 . run Cmake and complie
> a new itk.dsw (no problem)
> 2- update my itkApplication to ver1.6.0 ..
> 3- minimize my code to avoid itk filters in order to 
> Detect where the problem is ,I found that the same 
> run time Error message occured , i excepect that the
> error in  VTK2ITKconnector->SetInput( Reader
> ->GetOutput() );
> so i check out the itkVTKImageToImageFilter.h and
> found that 
>   void SetInput( vtkImageData * );
> and also itkVTKImageToImageFilter.txx found that
>  
> VTKImageToImageFilter<TOutputImage>
> ::SetInput( vtkImageData * inputImage )
> 
> does it mean any thing about the error.., here is the
> mini code that i did..,
> thanx Luis and waiting ur suggestion about that ..,
> yasser ..,
>  
>   
> 
> 
> int main( int argc, char ** argv )
> {
> 
> 
>   typedef unsigned char   InputPixelType;
>   typedef unsigned char        InternalPixelType;
>   typedef unsigned char   SegmentedPixelType;
> 
>   typedef itk::Image< InputPixelType, 3 >        
> InputImageType;
>   typedef itk::Image< InternalPixelType, 3>      
> InternalImageType;
>   typedef itk::Image< SegmentedPixelType, 3 >    
> SegmentedImageType;
> 
> 
>   typedef   itk::CastImageFilter< 
>                  InputImageType, 
>                  InternalImageType >    
> CastImageFilterType;
> 
> 
>   typedef itk::ImageToVTKImageFilter<
> SegmentedImageType >  
> ITK2VTKConnectorFilterType;
> 
>   typedef itk::VTKImageToImageFilter< InputImageType  
>   >  
> VTK2ITKConnectorFilterType;
> 
> 
> 
> 
>     vtkDICOMImageReader
> *Reader=vtkDICOMImageReader::New(); 
> 	vtkImageViewer2 *viewer = vtkImageViewer2::New();    
> 
> 	argv[1]="E:/imagedata/Dicom/1Nesma";              
> 	Reader->SetDirectoryName(argv[1]);
>     Reader->Update();										  
> 		vtkImageFlip *flipY = vtkImageFlip::New();
> flipY->SetInput (Reader->GetOutput());
> flipY->SetFilteredAxis (1);
> 
> 	viewer->SetInput(flipY->GetOutput());				  
> int VolData_Images = viewer->GetWholeZMax ();			  
> 
> 
> for (int i=1;i<VolData_Images;i++)
> {
> 	
> 	viewer->SetZSlice(i);		  
>     viewer->SetSize(512,512);
> 	viewer->SetPosition(500,0);
> 	viewer->SetColorWindow(512);
> 	viewer->SetColorLevel(256);
> 	viewer->Render();
> 
> // TODO: Add your command handler code here
> }		
> 
>   //----------------------------------
>   //           ITK Pipeline
>   //----------------------------------
> 
> 
>   CastImageFilterType::Pointer cast =
> CastImageFilterType::New();
> 
>   VTK2ITKConnectorFilterType::Pointer VTK2ITKconnector
> = 
> VTK2ITKConnectorFilterType::New();
> 
>   VTK2ITKconnector->SetInput( Reader ->GetOutput() );
> 
>   cast->SetInput( VTK2ITKconnector->GetOutput() );
> 
> 
> 
>   ITK2VTKConnectorFilterType::Pointer ITK2VTKconnector
> = 
> ITK2VTKConnectorFilterType::New();
> 
>   ITK2VTKconnector->SetInput(cast ->GetOutput());
>  
> ITK2VTKconnector->GetImporter()->SetDataScalarTypeToUnsignedChar();
>   
>   //----------------------------------
>   //           VTK Pipeline
>   //----------------------------------
> 
>   vtkRenderer               * renderer               =
> 
> vtkRenderer::New();
>   vtkRenderWindow           * renderWindow           =
> 
> vtkRenderWindow::New();
>   vtkRenderWindowInteractor * renderWindowInteractor =
> 
> vtkRenderWindowInteractor::New();
> vtkImageActor* imageactor = vtkImageActor::New();
>   renderWindow->AddRenderer( renderer );
>   renderWindow->SetInteractor( renderWindowInteractor
> );
>  vtkMarchingCubes *mc = vtkMarchingCubes::New();
> 
> 	mc->SetInput( ITK2VTKconnector->GetOutput() );  
> 	mc->SetValue(0,127);
> 
> 	vtkPolyDataMapper* mcmap=vtkPolyDataMapper::New();
> 	mcmap->SetInput(mc->GetOutput());
> 	mcmap->ScalarVisibilityOff();
> 	vtkActor* mcactor=vtkActor::New();
> 	mcactor->SetMapper(mcmap); 
> 	renderer->AddActor(mcactor);
>   renderer->SetBackground( 0.1, 0.2, 0.4 );
> 
>   renderWindow->Render();
>  renderWindowInteractor->Start();
>   
>   return 0;
> 
> }
> 
> 
> 
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Finance: Get your refund fast by filing online.
> http://taxes.yahoo.com/filing.html
>