<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello RTK users,</p>
<p>I am a totally newbie here, and wanted to ask for some help.</p>
<p>I have a dataset of 360 raw images, each corresponding to an X-ray of an object in steps of 1 degree (rotating around origin). They correspond to a flat panel detector and a microfocus X-ray source. I would be interested in reconstructing the 3D geometry using FDK backprojection. (I also have all the information about detector and source distance, etc.)</p>
<p>I was able to follow the FirstReconstruction.cxx example on GitHub to create my geometry object.
</p>
<pre>
using GeometryType = rtk::ThreeDCircularProjectionGeometry;
GeometryType::Pointer geometry = GeometryType::New();
for (size_t i = 0; i < 360; i++)
{
geometry->AddProjection(168, 271, i);
}<style type="text/css">p, li { white-space: pre-wrap; }</style></pre>
<p></p>
<p>I was also able to correctly load the 360x 2D images (a binary array of signed shorts) using ITK:</p>
<pre>using ImageIOType = itk::RawImageIO<short, 2>;
using ImageType = itk::Image<short, 2>;
ImageIOType::Pointer io = ImageIOType::New();
io->SetDimensions(0,768);
io->SetDimensions(1,486);
io->SetByteOrderToLittleEndian();
itk::ImageFileReader<ImageType>::Pointer reader = itk::ImageFileReader<ImageType>::New();
reader->SetImageIO(io);
for (size_t i = 0; i < 360; i++)
{
reader->SetFileName(std::to_string(i)+".raw");
reader->Update();
}</pre>
<p>However, now I am struggling with the next step. I am not sure how to convert all these 360 imageIO projections to a constant image source, as in the FirstReconstruction example.</p>
<p>Or is there a more appropriate way to connect the loaded images to the FDKConeBeamReconstructionFilter ?</p>
<p>
</p>
<pre>using FDKCPUType = rtk::FDKConeBeamReconstructionFilter<ImageType>;
FDKCPUType::Pointer feldkamp = FDKCPUType::New();
feldkamp->SetGeometry(geometry);
???
</pre>
<p>
</p>
<p>Thanks in advance,</p>
<p>Fernando.
</p>
<p>
</p>
<p>
</p>
<p><style type="text/css">p, li { white-space: pre-wrap; }</style></p>
</body>
</html>