[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
>