<div>Hi,</div>
<div> </div>
<div> I am having problems, applying FFT then RFFT to image. The image is created using dicom reader and there are no problems with the original data. But in the result of RFFT I get some intensities as -1.#QNAN00 over the image. I am trying to find out why that is but cannot find what could be wrong. Anyone had issues with this already?</div>
<div> </div>
<div>Thanks for helping, I've been having this problem for while now and can't find the problem,</div>
<div>Pascale</div>
<div> </div>
<div> </div>
<div><br>Here is the code:</div>
<div><br>// cast to floating type, vtk fft only works with floats - was unsigned short before<br>vtkImageCast * ImCast1 = vtkImageCast::New();<br>ImCast1->SetInput(VtkImage);<br>ImCast1->SetOutputScalarTypeToFloat();<br>
ImCast1->Modified();<br>ImCast1->Update();<br> </div>
<div>// convert using FFT<br>vtkImageFFT * FFT = vtkImageFFT::New();<br>FFT->SetDimensionality(3);<br>FFT->SetInput(ImCast1->GetOutput());<br>FFT->Modified();<br>FFT->Update();<br><br>// come back to spatial domain<br>
vtkImageRFFT * RFFT = vtkImageRFFT::New();<br>RFFT->SetDimensionality(3);<br>RFFT->SetInputConnection(FFT->GetOutputPort());<br>RFFT->Modified();<br>RFFT->Update(); <br><br>vtkImageExtractComponents * RealComponents = vtkImageExtractComponents::New();<br>
RealComponents->SetInputConnection(RFFT->GetOutputPort());<br>RealComponents->SetComponents(0); // to fetch the real part of the image, the imaginary is in component 1<br>RealComponents->Update(); </div>
<div> </div>
<div>// Here: RealComponents contain -1.#QNAN00 </div>
<div><br>vtkImageCast * ImCast = vtkImageCast::New();<br>ImCast->SetInput(RealComponents->GetOutput());<br>ImCast->SetOutputScalarTypeToUnsignedShort();<br>ImCast->Modified();<br>ImCast->Update();<br><br>// vtk viewer<br>
vtkImageViewer * viewer = vtkImageViewer::New();<br>viewer->SetInput(ImCast->GetOutput());<br>viewer->SetColorWindow(256);<br>viewer->SetColorLevel(50);<br>vtkRenderWindowInteractor * viewInt = vtkRenderWindowInteractor::New();<br>
viewer->SetupInteractor(viewInt);<br>viewer->Render();</div>
<div> </div>
<div> </div>