<div>And i forgot to mention. The image is of the format analyze, consisting of 182 slices, where slice nr. 160-182 is really actually static. But the rest of the slices, meaning slice 1 to 160 has data which is real, and not noise.
</div>
<div>Could this have something to do with it?</div>
<div>Regards<br><br> </div>
<div><span class="gmail_quote">2006/10/11, Prename Surname <<a href="mailto:bsd.diverse@gmail.com">bsd.diverse@gmail.com</a>>:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>Hello again.</div>
<div>I managed to compile and run the program. But there seems to be a problem. The output just shows static noise, it can be seen here: <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.coachkontakt.dk/rendered.jpg" target="_blank">
http://www.coachkontakt.dk/rendered.jpg </a></div>
<div> </div>
<div>A cube of green static noise. The image should be okay since i have seen it in other programs where it looks just fine. So i suspect something has gone wrong in the conversion.</div>
<div>I am a bit lost here, I hope you have some suggestions as of what is wrong.</div>
<div> </div>
<div>Thank you very much.</div>
<div> </div>
<div>My code looks like this :</div>
<div> </div>
<div><span class="q">//Used for the analyze reader<br></span>#include "itkImage.h"<span class="q"><br>#include "itkImageFileReader.h"<br>#include "itkImageFileWriter.h"//</span></div>
<div>
<p>#include "itkImageToVTKImageFilter.h"//Makes ITK->VTK pipeline (remember to set path in CMakeLists.txt firs)</p>
<p>#include "vtkImageViewer.h"//Makes 2D images in VTK</p>
<p>//Use for volumerendering<br>#include "vtkStructuredPointsReader.h"<br>#include "vtkPiecewiseFunction.h"<br>#include "vtkColorTransferFunction.h"<br>#include "vtkVolumeProperty.h"
<br>#include "vtkVolumeRayCastCompositeFunction.h"<br>#include "vtkVolumeRayCastMapper.h"<br>#include "vtkVolume.h"</p><span class="q">
<p><br>//Used for the vtk examples<br>#include "vtkSphereSource.h"<br>#include "vtkPolyDataMapper.h"<br>#include "vtkActor.h"<br>#include "vtkRenderWindow.h"<br>#include "vtkRenderer.h
"<br>#include "vtkRenderWindowInteractor.h"</p>
<p>#include "itkVTKImageExport.h"<br>#include "vtkImageImport.h"</p></span>
<p>//Used for string manipulation in c++<br>#include <strstream><br>#include <string><br>#include <iostream></p>
<p>void showSphere();<br>void readAFile();</p>
<div><span class="e" id="q_10e386850b948526_7">
<p>int main( int , char * argv[])<br>{<br> typedef unsigned char PixelType;<br> const unsigned int Dimension=3;<br> <br> typedef itk::Image<PixelType,Dimension> ImageType;<br> typedef itk::ImageFileReader<ImageType> ReaderType;
<br> typedef itk::ImageToVTKImageFilter<ImageType> ConnectorType;</p>
<p> ReaderType::Pointer reader = ReaderType::New();<br> ConnectorType::Pointer connector = ConnectorType::New();<br> <br> reader->SetFileName("D:\\skole\\thesis\\Data\\KDIGWKFN\\ANALYZE\\KDIGWKFN_mpr_pip.img");
<br> connector->SetInput(reader->GetOutput());//In connector lies now the imagedata. Retrieve it by calling GetOutput()<br> <br> vtkStructuredPointsReader *vtkReader=vtkStructuredPointsReader::New();<br> </p>
<p> //Create transfer mapping scalar value to color<br> vtkPiecewiseFunction *opacityTransferfunction=vtkPiecewiseFunction::New();<br> opacityTransferfunction->AddPoint(20.,0.0);<br> opacityTransferfunction->AddPoint(255.,
0.2);</p>
<p> vtkColorTransferFunction *colorTransferFunction=vtkColorTransferFunction::New();<br> colorTransferFunction->AddRGBPoint(0.0,0.0,0.0,0.0);<br> colorTransferFunction->AddRGBPoint(64.0,1.0,0.0,0.0);<br> colorTransferFunction->AddRGBPoint(
128.0,0.0,0.0,1.0);<br> colorTransferFunction->AddRGBPoint(192.0,0.0,1.0,0.0);<br> colorTransferFunction->AddRGBPoint(255.0,0.0,0.2,0.0);</p>
<p> vtkVolumeProperty *volumeProperty=vtkVolumeProperty::New();<br> volumeProperty->SetColor(colorTransferFunction);<br> volumeProperty->SetScalarOpacity(opacityTransferfunction);</p></span></div>
<p>
<div><span class="e" id="q_10e386850b948526_9"> vtkVolumeRayCastCompositeFunction *compositeFunction = vtkVolumeRayCastCompositeFunction::New();<br> vtkVolumeRayCastMapper *volumeMapper=vtkVolumeRayCastMapper::New();<br>
volumeMapper->SetVolumeRayCastFunction(compositeFunction); <br></span></div> volumeMapper->SetInput(connector->GetOutput());<br> <br> vtkVolume *volume=vtkVolume::New();<br> volume->SetMapper(volumeMapper);<br>
volume->SetProperty(volumeProperty);
<p></p>
<p> // A renderer and render window<br> vtkRenderer *ren1 = vtkRenderer::New();<br> vtkRenderWindow *renWin = vtkRenderWindow::New();<br> <br> vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();<br> iren->SetRenderWindow(renWin);
</p>
<p> </p>
<p> // Add the actor to the scene<br> ren1->AddProp(volume);<br> <br> renWin->AddRenderer(ren1);</p>
<p> //Render an image(lights and camera are created automatically)<br> renWin->Render();</p>
<p> //Begin mouse interaction<br> iren->Start();</p>
<p> return 0;<br>}<br></p><br><br> </p></div>
<div><span class="gmail_quote">2006/10/11, Kevin H. Hobbs <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:hobbsk@ohiou.edu" target="_blank">hobbsk@ohiou.edu</a>>:</span>
<div><span class="e" id="q_10e386850b948526_11">
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">On Wed, 2006-10-11 at 16:07 +0200, Prename Surname wrote:<br>> Hello Brian.<br>> I have tried to do what you said, and it makes good sense. I think i
<br>> almost got i working, but i still have a doubt about how exactly i can<br>> connect the<br>> itk::ImageToVTKImageFilter to the vtkVolumeRayCastMapper.<br>> It seems that ImageToVTKImageFilter->GetOutput(...) returns a
<br>> vtkImageData, and<br>> vtkVolumeRayCastMapper->SetInputConnection(...) only accepts a<br>> vtkAlgorithmOutput object.<br>><br>><br><br>I do VTK -> ITK -> VTK to stream through ITK filters in the attached
<br>file. I want the pieces in a specific order so I mess with them. You can<br>ignore that part.<br><br><br></blockquote></span></div></div><br></blockquote></div><br>