[Rtk-users] How to use RTK to reconstruction 2D X- ray Scan projection images into 2D CT Slice image?
Simon Rit
simon.rit at creatis.insa-lyon.fr
Thu Jan 5 09:32:40 UTC 2023
Hi,
1. Try to catch the exception on Update to know what is the problem.
2. In RTK, the default rotation axis is Y so I meant Y. See the doc
<http://www.openrtk.org/Doxygen/DocGeo3D.html>.
Simon
On Thu, Jan 5, 2023 at 10:27 AM 何明哲 <m10512067 at yuntech.org.tw> wrote:
>
> Hello Simon
>
> Thanks for your reply,
>
> I also have some question to ask ,
>
> 1. I just tried your suggested code to implement projectionreader API ,
> in C++ version and use CUDA too,
> but is will be crash on update parameters function , What steps am I
> doing wrong?
>
> here is my code :
> ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
> using ImageIOType = itk::RawImageIO<unsigned short, 2>; //unsigned short
> using IutputImageType = itk::CudaImage<float, 3>; //float
>
> ImageIOType::Pointer io = ImageIOType::New();
> io->SetHeaderSize(2048);
> io->SetNumberOfDimensions(2);
> io->SetPixelType(itk::CommonEnums::IOPixel::SCALAR);
> io->SetDimensions(0, 1152);
> io->SetDimensions(1, 1152);
> io->SetByteOrderToLittleEndian();
> io->SetSpacing(0, 0.25);
> io->SetSpacing(1, 0.25);
>
> string nametostring = "";
> std::vector<std::string> newfilename(272);
> for (int fna = 1; fna < 273; fna++)
> {
> nametostring = std::to_string(fna);
> newfilename.push_back(subfolder);
> newfilename.push_back("\\");
> newfilename.push_back(nametostring + ".raw");
> }
>
> using ReaderType = rtk::ProjectionsReader<IutputImageType>;
> //OutputImageType CPUimagetype
> ReaderType::Pointer reader = ReaderType::New();
>
> reader->SetFileNames(newfilename);
>
> reader->SetImageIO(io);
>
> reader->Update(); <- Crash on here
> ---------
>
> 2. You can reconstruct one 3D slice by using a size of 1 in the axial
> direction
> --> Do you mean Set Z in the size parameter to 1 ?
> for example --> Size (XYZ)=>(1024,1024,1)
> then I get the reconstruct image like this ?
>
> [image: 250.jpg]
>
>
> Thanks again in advance for your reply.
>
> BR
>
>
>
>
>
>
>
> Simon Rit <simon.rit at creatis.insa-lyon.fr> 於 2023年1月4日 週三 下午8:23寫道:
>
>> Hello,
>> 1/ Yes, you can read images in raw format but you need to specify the
>> meta information for example in python
>> rawio = itk.RawImageIO.New()
>> rawio.SetNumberOfDimensions(2)
>> rawio.SetPixelType(itk.CommonEnums.IOPixel_SCALAR)
>> rawio.SetComponentType(itk.CommonEnums.IOComponent_FLOAT)
>> rawio.SetDimensions(0, 256)
>> rawio.SetDimensions(1, 256)
>> rawio.SetSpacing(0, 1)
>> rawio.SetSpacing(1, 1)
>> rawio.SetByteOrderToLittleEndian()
>>
>> # List of filenames
>> fileNames = []
>> for i in range(100):
>> fileNames.append(f'{i}.raw')
>>
>> # Read projections
>> CPUImageType = itk.Image[itk.F,3]
>> proj = rtk.projections_reader(ttype=CPUImageType, file_names=fileNames,
>> ImageIO=rawio)
>>
>> 2/ We only work in 3D. You can reconstruct one 3D slice by using a size
>> of 1 in the axial direction.
>> Simon
>>
>> On Mon, Dec 26, 2022 at 10:40 AM 何明哲 via Rtk-users <
>> rtk-users at public.kitware.com> wrote:
>>
>>>
>>> Hello everyone
>>>
>>> I am a newbie in using RTK
>>>
>>> I have two question to ask,
>>> 1. Can the projectionreader API read images in RAW format data set?
>>> 2. Which API or method does RTK provide to reconstruct the 2D X-ray scan
>>> data set projection image into a 2D CT Slice image ?Or is there any other
>>> reference document that can help me reconstruct CT slices in RTK?
>>>
>>> thanks for reply ,BR
>>> _______________________________________________
>>> Rtk-users mailing list
>>> Rtk-users at public.kitware.com
>>> https://public.kitware.com/cgi-bin/mailman/listinfo/rtk-users
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20230105/a23523cc/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 250.jpg
Type: image/jpeg
Size: 72845 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20230105/a23523cc/attachment-0001.jpg>
More information about the Rtk-users
mailing list