[Rtk-users] Reconstruction Artifact

Benjamin W. Maloney Benjamin.W.Maloney.TH at dartmouth.edu
Wed Jun 3 13:58:58 EDT 2020


Thanks.

https://drive.google.com/drive/folders/1DTREuI80fWrIcBa5LIUfnAzsEPSRvhyZ?usp=sharing

At that link are a .tif file for my projections and the .cxx reconstruction file I have been using

Some notes about my system:
SID: 306.6 mm
SDD: 561.3 mm

The detector panel is:
230mm x 70mm with a pixel matrix of 3072 x 864
The projections are binned by 4 resulting in a pixel size of ~0.03mm-1 and a pixel array of 768 x 216
There are 720 projection angles with an angular step of 0.5 degrees

The system also has the sample on a turntable with a fixed source and detector but I believe that should be mathematically equivalent

Thanks again!
Ben
________________________________
From: Simon Rit <simon.rit at creatis.insa-lyon.fr>
Sent: Wednesday, June 3, 2020 1:04 PM
To: Benjamin W. Maloney <Benjamin.W.Maloney.TH at dartmouth.edu>
Cc: Chao Wu <wuchao04 at gmail.com>; Andreas Andersen <andreasga22 at gmail.com>; rtk-users at public.kitware.com <rtk-users at public.kitware.com>
Subject: Re: [Rtk-users] Reconstruction Artifact

Yes, that's allowed, other people did it before.

On Wed, Jun 3, 2020 at 6:28 PM Benjamin W. Maloney <Benjamin.W.Maloney.TH at dartmouth.edu<mailto:Benjamin.W.Maloney.TH at dartmouth.edu>> wrote:
Hi all,

Thanks for the help!
I'll be sure to make sure my preprocessed data is handled correctly.

The reconstruction is meant to be a square, it is of a CIRS ACR digital mammography phantom

I'm trying to send an example of my data but I can't get it under 147 MB data limit, is there a preferred method for sending this? I could send a google drive link if that is allowed

Thanks again!
Ben

________________________________
From: Chao Wu <wuchao04 at gmail.com<mailto:wuchao04 at gmail.com>>
Sent: Wednesday, June 3, 2020 11:20 AM
To: Simon Rit <simon.rit at creatis.insa-lyon.fr<mailto:simon.rit at creatis.insa-lyon.fr>>
Cc: Andreas Andersen <andreasga22 at gmail.com<mailto:andreasga22 at gmail.com>>; rtk-users at public.kitware.com<mailto:rtk-users at public.kitware.com> <rtk-users at public.kitware.com<mailto:rtk-users at public.kitware.com>>; Benjamin W. Maloney <Benjamin.W.Maloney.TH at dartmouth.edu<mailto:Benjamin.W.Maloney.TH at dartmouth.edu>>
Subject: Re: [Rtk-users] Reconstruction Artifact

If your projections record the number of X-ray photon counts instead of attenuation, an I0 must be set correctly and a logarithmic operation is needed before the projection data can be fed to the reconstruction loop. Both the I0 and the logarithmic operation can be handled by the RTK projection reader or manually, depending on your implementation. Zero and negative numbers must be coerced for the logarithmic operation by you if this is not the case in the RTK code you use.

Regards,
Chao

Simon Rit <simon.rit at creatis.insa-lyon.fr<mailto:simon.rit at creatis.insa-lyon.fr>> 于2020年6月3日周三 下午2:35写道:
Yes, there is no such limitation as far as I know, you can use negative numbers and value above 1.
Your result is really strange, it it supposed to be a square? I don't know what is the problem but that's clearly a geometry issue. We can always have a look if you're able to share some data.
Simon

On Wed, Jun 3, 2020 at 1:56 PM Andreas Andersen <andreasga22 at gmail.com<mailto:andreasga22 at gmail.com>> wrote:
I don't think there are any restrictions technically.
You should be able to use negative values, as the main arithmetic is just a sum<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSimonRit%2FRTK%2Fblob%2Fmaster%2Finclude%2FrtkBackProjectionImageFilter.hxx%23L106&data=02%7C01%7CBenjamin.W.Maloney.TH%40dartmouth.edu%7C7090376e438d462c76cf08d807dff9f4%7C995b093648d640e5a31ebf689ec9446f%7C0%7C0%7C637268005857264400&sdata=ta2wjTGRMl8MRkv5qeqUZDYED%2FD%2BNtzkFEMdIHp7YfA%3D&reserved=0> and a multiplication<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSimonRit%2FRTK%2Fblob%2Fmaster%2Finclude%2FrtkBackProjectionImageFilter.hxx%23L115&data=02%7C01%7CBenjamin.W.Maloney.TH%40dartmouth.edu%7C7090376e438d462c76cf08d807dff9f4%7C995b093648d640e5a31ebf689ec9446f%7C0%7C0%7C637268005857269384&sdata=pGY1uH5hjzUepFxR1AiDFKUFAxwNQM8mPIVDxwe%2B7N8%3D&reserved=0>.

The only restriction I can see is that this sum and multiplication should not overflow (or underflow for negative values) the underlying type of the output image, as that would be undefined behaviour. Over- and underflow is unlikely for float, unless you have extremely high values (see wikipedia for floating point range<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFloating-point_arithmetic%23Range_of_floating-point_numbers&data=02%7C01%7CBenjamin.W.Maloney.TH%40dartmouth.edu%7C7090376e438d462c76cf08d807dff9f4%7C995b093648d640e5a31ebf689ec9446f%7C0%7C0%7C637268005857274380&sdata=0wwsrWW8ELu0WjD5Ed9pJcKPFNI%2FNrSrIcGOV45jdgA%3D&reserved=0>).

/Andreas

__________________________________

Andreas Gravgaard Andersen

Danish Center for Particle Therapy,

Aarhus University Hospital

Palle Juul-Jensens Blvd. 99,

8200, Aarhus

Mail:     agravgaard at protonmail.com<mailto:agravgaard at protonmail.com>

Cell:      +45 3165 8140


On Wed, 3 Jun 2020 at 03:34, Benjamin W. Maloney <Benjamin.W.Maloney.TH at dartmouth.edu<mailto:Benjamin.W.Maloney.TH at dartmouth.edu>> wrote:
Hi,

I thought the same in regards to trying to rotating in the other direction. Unfortunately, that has a similar artifact but with the reconstruction flipped.
Interestingly the overlap happens in a similar place but the internal structures are flipped

​1. Thanks!
2. I should have worded that better. My projection images will be preprocessed in a float format. I wanted to check if there were restrictions on these float values. Can input image data have negative values or high values? Or are they expected to have values between 0 and 1? I ask because some of the tools I have used to do this preprocessing (outside of RTK) have given negative values or 'stretched' the data from 0 to 255 before saving.

Ben

________________________________
From: Simon Rit <simon.rit at creatis.insa-lyon.fr<mailto:simon.rit at creatis.insa-lyon.fr>>
Sent: Tuesday, June 2, 2020 5:28 PM
To: Benjamin W. Maloney <Benjamin.W.Maloney.TH at dartmouth.edu<mailto:Benjamin.W.Maloney.TH at dartmouth.edu>>
Cc: rtk-users at public.kitware.com<mailto:rtk-users at public.kitware.com> <rtk-users at public.kitware.com<mailto:rtk-users at public.kitware.com>>
Subject: Re: [Rtk-users] Reconstruction Artifact

Hi,
Sometimes rotating in the wrong direction gives this kind of artefacts. It's quite possible that we don't use the same convention as other toolkits regarding this.
For other questions:
1. Yes, you can use pixel as the unit. Then the image spacing should be 1 obviously and indeed, sdd and sid should be in pixels.
2. I don't fully understand. If your data is the output of a count detector, then you either rely on RTK to guess the counts without object to compute the line integral, or your preprocess your projections to pass line integrals in a float format.
Simon

On Tue, Jun 2, 2020 at 4:51 PM Benjamin W. Maloney <Benjamin.W.Maloney.TH at dartmouth.edu<mailto:Benjamin.W.Maloney.TH at dartmouth.edu>> wrote:
Hi all,

Not sure if this is the right group to post to but here's my question:

I have a code that pulls in my own projection images and uses the FDKConeBeamReconstructionFilter for reconstruction

The reconstruction I am getting has an artifact where it looks like there are two overlapping objects rotated.
I have used other reconstruction toolboxes (mainly TIGRE in MATLAB) with the similar geometry inputs and not had this issue. I suspect the difference is in the parts of the geometry that are set by default. My question is if anyone has seen this before and what input I should look into?

I have a few more questions I may or may not be related:
1. I assume that since I set the origin etc of my images in pixel, sid and sdd should be in pixels as well?
2. Are there restrictions related the scalar values of the projection data? My data will be in detector counts rather than linear attenuation coefficients, is that okay?
I have attached an image to show this issue. It is supposed to be a rectangular mammography phantom. It is a slice in XZ plane

Thanks for the help!
Ben



_______________________________________________
Rtk-users mailing list
Rtk-users at public.kitware.com<mailto:Rtk-users at public.kitware.com>
https://public.kitware.com/mailman/listinfo/rtk-users<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Frtk-users&data=02%7C01%7CBenjamin.W.Maloney.TH%40dartmouth.edu%7C7090376e438d462c76cf08d807dff9f4%7C995b093648d640e5a31ebf689ec9446f%7C0%7C0%7C637268005857279367&sdata=rN0WtXgPU48YJ%2BDkxnnx2StLGljd1AGBRX6IaXgRaY0%3D&reserved=0>
_______________________________________________
Rtk-users mailing list
Rtk-users at public.kitware.com<mailto:Rtk-users at public.kitware.com>
https://public.kitware.com/mailman/listinfo/rtk-users<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Frtk-users&data=02%7C01%7CBenjamin.W.Maloney.TH%40dartmouth.edu%7C7090376e438d462c76cf08d807dff9f4%7C995b093648d640e5a31ebf689ec9446f%7C0%7C0%7C637268005857284358&sdata=cbP3Anssi1CsT65ReQWUQACc4nprtjW%2Bx%2F279Q0GH1k%3D&reserved=0>
_______________________________________________
Rtk-users mailing list
Rtk-users at public.kitware.com<mailto:Rtk-users at public.kitware.com>
https://public.kitware.com/mailman/listinfo/rtk-users<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Frtk-users&data=02%7C01%7CBenjamin.W.Maloney.TH%40dartmouth.edu%7C7090376e438d462c76cf08d807dff9f4%7C995b093648d640e5a31ebf689ec9446f%7C0%7C0%7C637268005857289350&sdata=L%2FfRy4pSoo7gTUgVUPupSI3gwHIV%2FAlDyTSTqVfPzIg%3D&reserved=0>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/rtk-users/attachments/20200603/3e1f7362/attachment-0001.htm>


More information about the Rtk-users mailing list