From simon.rit at creatis.insa-lyon.fr Mon Jul 4 06:08:22 2022 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 4 Jul 2022 08:08:22 +0200 Subject: [Rtk-users] projection normalization In-Reply-To: References: Message-ID: Hi, What I suggested / you're doing is what is called "flat field correction" in my experience. Rings typically appear due to noise in the flat/flood field image. I would suggest to use much better statistics to acquire the flood field image, e.g., by acquiring 10 or 100 and averaging them. This is what is often done in commercial scanners. For monochromatic x-ray, there is no beam hardening problem. For polychromatic x-ray, the rescaling is not obvious (HU is one solution) and there will still be beam hardening problems. Cheers, Simon On Thu, Jun 30, 2022 at 6:32 PM Howard wrote: > Hi Simon, > > Thanks very much for your help in answering my questions. I have further > follow up comments/questions (see below) and hope to understand the issues > I encountered better. I will also include the offline discussion with > another CBCT reconstruction expert. > > Regards, > Howard > > On Tue, Jun 28, 2022 at 5:41 PM Simon Rit > wrote: > >> Hi, >> 1) I think I would divide the measured projection by the flood field, no >> reason to limit it to one scalar. The rest seems correct. >> > > Yes, what I did before using the maximum intensity to scale the measured > projection was incorrect. However, there are ring artifacts on the > reconstructed images when using the flood field to do pixel by pixel > correction. I learned from the offline expert that to correct for the ring > artifacts I will need to do "flat field correction" or other techniques. > For the projection data acquired from GATE simulation, are there any > available RTK tools to do this correction? Any other suggestions would also > be appreciated. > > 2) yes! But with a spectrum, it's hard to anticipate the ref value due to >> beam hardening. >> > > For monochromatic X-ray, we know the linear attenuation for the known > materials at the given energy, therefore I should be able to rescale the > grayscale values on the reconstructed images. However, there will still be > beam hardening problems? > > >> 3) It's "normal" to have negative values due to scatter, not beam >> hardening. But one should try to correct for scatter. >> > > I see. This might be a bit tricky then. We'll have to explore the > correction methods. > > Simon >> >> >> >> On Tue, Jun 28, 2022, 05:50 Howard wrote: >> >>> Dear RTK Users, >>> >>> I am having some questions on the correct way of normalizing/calibrating >>> the projection images. My projections were generated using GATE (geant4 >>> simulation for those who may not know what GATE is) with cone beam X-ray >>> and flat panel detector. Here are the steps I followed. >>> >>> 1. generate projections (proj) with a full rotation (360 degree, say 1 >>> projection/degree) with the imaging object in the X-ray beam path >>> 2. remove the imaging object to generate an air projection (flood field) >>> 3. Get the maximum intensity (maxInt_air) of the air projection obtained >>> in step 2 >>> 4. Correct the projections obtained in step 1 with the formula proj_corr >>> = -log(proj / maxInt_air) (I did see before some discussions using the >>> maximum intensity to correct projection images.) >>> 5. Reconstruct the CBCT using rtkfdk with the corrected projections >>> obtained in step 4 >>> >>> So here are my questions: >>> >>> 1) Is the above procedure the correct way of reconstructing CBCT? >>> 2) Are the grayscale values in the reconstructed CBCT correspond to the >>> attenuation coefficients of those materials? >>> 3) There are some negative grayscale values in the reconstructed CBCT >>> due to artifacts such as the beam hardening. Is this normal? >>> >>> Many thanks for any feedback or suggestions. >>> >>> Howard >>> >>> >>> >>> _______________________________________________ >>> 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: From lomahu at gmail.com Tue Jul 5 20:00:31 2022 From: lomahu at gmail.com (Howard) Date: Tue, 5 Jul 2022 16:00:31 -0400 Subject: [Rtk-users] projection normalization In-Reply-To: References: Message-ID: Thank you Simon. Your suggestions are really helpful. With higher statistics, say,100 times more events in the flood image, the artefacts are substantially reduced. Regards, Howard On Mon, Jul 4, 2022 at 2:08 AM Simon Rit wrote: > Hi, > What I suggested / you're doing is what is called "flat field correction" > in my experience. Rings typically appear due to noise in the flat/flood > field image. I would suggest to use much better statistics to acquire the > flood field image, e.g., by acquiring 10 or 100 and averaging them. This is > what is often done in commercial scanners. > For monochromatic x-ray, there is no beam hardening problem. For > polychromatic x-ray, the rescaling is not obvious (HU is one solution) and > there will still be beam hardening problems. > Cheers, > Simon > > On Thu, Jun 30, 2022 at 6:32 PM Howard wrote: > >> Hi Simon, >> >> Thanks very much for your help in answering my questions. I have further >> follow up comments/questions (see below) and hope to understand the issues >> I encountered better. I will also include the offline discussion with >> another CBCT reconstruction expert. >> >> Regards, >> Howard >> >> On Tue, Jun 28, 2022 at 5:41 PM Simon Rit >> wrote: >> >>> Hi, >>> 1) I think I would divide the measured projection by the flood field, no >>> reason to limit it to one scalar. The rest seems correct. >>> >> >> Yes, what I did before using the maximum intensity to scale the measured >> projection was incorrect. However, there are ring artifacts on the >> reconstructed images when using the flood field to do pixel by pixel >> correction. I learned from the offline expert that to correct for the ring >> artifacts I will need to do "flat field correction" or other techniques. >> For the projection data acquired from GATE simulation, are there any >> available RTK tools to do this correction? Any other suggestions would also >> be appreciated. >> >> 2) yes! But with a spectrum, it's hard to anticipate the ref value due to >>> beam hardening. >>> >> >> For monochromatic X-ray, we know the linear attenuation for the known >> materials at the given energy, therefore I should be able to rescale the >> grayscale values on the reconstructed images. However, there will still be >> beam hardening problems? >> >> >>> 3) It's "normal" to have negative values due to scatter, not beam >>> hardening. But one should try to correct for scatter. >>> >> >> I see. This might be a bit tricky then. We'll have to explore the >> correction methods. >> >> Simon >>> >>> >>> >>> On Tue, Jun 28, 2022, 05:50 Howard wrote: >>> >>>> Dear RTK Users, >>>> >>>> I am having some questions on the correct way of >>>> normalizing/calibrating the projection images. My projections were >>>> generated using GATE (geant4 simulation for those who may not know what >>>> GATE is) with cone beam X-ray and flat panel detector. Here are the steps I >>>> followed. >>>> >>>> 1. generate projections (proj) with a full rotation (360 degree, say 1 >>>> projection/degree) with the imaging object in the X-ray beam path >>>> 2. remove the imaging object to generate an air projection (flood field) >>>> 3. Get the maximum intensity (maxInt_air) of the air projection >>>> obtained in step 2 >>>> 4. Correct the projections obtained in step 1 with the formula >>>> proj_corr = -log(proj / maxInt_air) (I did see before some discussions >>>> using the maximum intensity to correct projection images.) >>>> 5. Reconstruct the CBCT using rtkfdk with the corrected projections >>>> obtained in step 4 >>>> >>>> So here are my questions: >>>> >>>> 1) Is the above procedure the correct way of reconstructing CBCT? >>>> 2) Are the grayscale values in the reconstructed CBCT correspond to the >>>> attenuation coefficients of those materials? >>>> 3) There are some negative grayscale values in the reconstructed CBCT >>>> due to artifacts such as the beam hardening. Is this normal? >>>> >>>> Many thanks for any feedback or suggestions. >>>> >>>> Howard >>>> >>>> >>>> >>>> _______________________________________________ >>>> 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: From dongping.wang at simmhealthcare.com Sat Jul 9 14:20:04 2022 From: dongping.wang at simmhealthcare.com (dongping.wang at simmhealthcare.com) Date: Sat, 9 Jul 2022 22:20:04 +0800 Subject: [Rtk-users] scatter correction Message-ID: <003e01d8939e$fcb3d770$f61b8650$@simmhealthcare.com> Hi all I am trying to use the scattering correction. But I just found this filter in RTK: BoellaardScatterCorrectionImageFilter Where I can find the example for this filter? And who have ever tried this filter or have some better code for scattering correction for me to start from? Regards Wang Dongping -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Sun Jul 10 14:00:20 2022 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Sun, 10 Jul 2022 16:00:20 +0200 Subject: [Rtk-users] scatter correction In-Reply-To: <003e01d8939e$fcb3d770$f61b8650$@simmhealthcare.com> References: <003e01d8939e$fcb3d770$f61b8650$@simmhealthcare.com> Message-ID: Hi Wang Donging, Only an implementation of Boellaard's scatter correction is available and I'm not convinced that the implementation is correct (see here ). We have used other corrections which are not available in RTK such as Monte Carlo scatter correction (e.g. in Z?llner's work ) or an estimate from a prior estimate (e.g. in Kurz' work ). Simon On Sat, Jul 9, 2022 at 4:21 PM dongping.wang--- via Rtk-users < rtk-users at public.kitware.com> wrote: > Hi all > > > > I am trying to use the scattering correction. But I just found this filter > in RTK: > > > > BoellaardScatterCorrectionImageFilter > > > > Where I can find the example for this filter? And who have ever tried this > filter or have some better code for scattering correction for me to start > from? > > > > Regards > > > > Wang Dongping > _______________________________________________ > 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: From grupesh at umich.edu Thu Jul 14 19:34:16 2022 From: grupesh at umich.edu (Rupesh Gupta) Date: Thu, 14 Jul 2022 15:34:16 -0400 Subject: [Rtk-users] reading Elekta database projections Message-ID: Hi all, I want to be able to read the CBCT projection frames in .his format available on this page - https://wiki.openrtk.org/index.php/RTK/Examples/MCCBCTReconstruction#Projection_images How can I do this using RTK python code that reads the .his images and stores them into a numpy array? Best, Rupesh -- Rupesh Gupta Graduate Student Department of Electrical and Computer Engineering, University of Michigan-Ann Arbor -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Mon Jul 18 06:08:29 2022 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 18 Jul 2022 08:08:29 +0200 Subject: [Rtk-users] reading Elekta database projections In-Reply-To: References: Message-ID: Hi, To read in the projections, you should create an array with the filenames (name filenames below) and then ImageType = itk.Image[itk.F, 3] proj = rtk.ProjectionsReader[ImageType].New() proj.SetFileNames(filenames) proj.Update() nparray = itk.GetArrayFromImage(proj.GetOutput()) This should work. Simon On Thu, Jul 14, 2022 at 9:34 PM Rupesh Gupta wrote: > Hi all, > I want to be able to read the CBCT projection frames in .his format > available on this page - > https://wiki.openrtk.org/index.php/RTK/Examples/MCCBCTReconstruction#Projection_images > > How can I do this using RTK python code that reads the .his images and > stores them into a numpy array? > > > Best, > Rupesh > > -- > Rupesh Gupta > Graduate Student > Department of Electrical and Computer Engineering, > University of Michigan-Ann Arbor > _______________________________________________ > 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: From simon.rit at creatis.insa-lyon.fr Mon Jul 18 15:52:12 2022 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 18 Jul 2022 17:52:12 +0200 Subject: [Rtk-users] reading Elekta database projections In-Reply-To: References: Message-ID: Hi, Good! Please stay on the mailing list. This code should work: reader = rtk.ThreeDCircularProjectionGeometryXMLFileReader.New() reader.SetFilename('g') reader.GenerateOutputInformation() geometry = reader.GetOutputObject() Simon On Mon, Jul 18, 2022 at 5:48 PM Rupesh Gupta wrote: > Hi Simon, > Thanks, this works. Could you please also describe how to read geometry > from the xml file into a geometry variable? > Thanks a lot. > > > Best, > Rupesh > > > On Mon, Jul 18, 2022 at 2:08 AM Simon Rit > wrote: > >> Hi, >> To read in the projections, you should create an array with the filenames >> (name filenames below) and then >> ImageType = itk.Image[itk.F, 3] >> proj = rtk.ProjectionsReader[ImageType].New() >> proj.SetFileNames(filenames) >> proj.Update() >> nparray = itk.GetArrayFromImage(proj.GetOutput()) >> This should work. >> Simon >> >> On Thu, Jul 14, 2022 at 9:34 PM Rupesh Gupta wrote: >> >>> Hi all, >>> I want to be able to read the CBCT projection frames in .his format >>> available on this page - >>> https://wiki.openrtk.org/index.php/RTK/Examples/MCCBCTReconstruction#Projection_images >>> >>> How can I do this using RTK python code that reads the .his images and >>> stores them into a numpy array? >>> >>> >>> Best, >>> Rupesh >>> >>> -- >>> Rupesh Gupta >>> Graduate Student >>> Department of Electrical and Computer Engineering, >>> University of Michigan-Ann Arbor >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> https://public.kitware.com/cgi-bin/mailman/listinfo/rtk-users >>> >> > > -- > Rupesh Gupta > Graduate Student > Department of Electrical and Computer Engineering, > University of Michigan-Ann Arbor > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dongping.wang at simmhealthcare.com Tue Jul 19 03:29:13 2022 From: dongping.wang at simmhealthcare.com (dongping.wang at simmhealthcare.com) Date: Tue, 19 Jul 2022 11:29:13 +0800 Subject: [Rtk-users] scatterglarecorrection In-Reply-To: References: Message-ID: <000f01d89b1f$b9409ae0$2bc1d0a0$@simmhealthcare.com> Hi all I am trying to use ScatterGlareCorrectionImageFilter to do some scattering correction. From the test, we can see we just need to set the coef, then call the update(). ImageType::Pointer testImage = createInputImage(coef); SFilter->SetInput(testImage); TRY_AND_EXIT_ON_ITK_EXCEPTION(SFilter->Update()) The question is if we need to call the UpdateFFTProjectionsConvolutionKernel() to build the filter before we call update()? If we wanted to correct one 3D raw project data, how we do the correction slice by slice? Any example for it? Regards Wang Dongping -------------- next part -------------- An HTML attachment was scrubbed... URL: From vl at xris.eu Tue Jul 19 09:34:14 2022 From: vl at xris.eu (Vincent Libertiaux) Date: Tue, 19 Jul 2022 11:34:14 +0200 Subject: [Rtk-users] Lateral blur in a FDK reconstructed volume In-Reply-To: References: <63d808a9-fc02-beee-0a57-4f3f30fe84c9@xris.eu> <04c7c3ef-52f5-895a-4c5d-315b0824d741@xris.eu> <113ffa1e-1527-a2b1-84cb-970efe721af0@xris.eu> Message-ID: <3bd524e3-8d2a-ea36-0058-0e7e6aede5b2@xris.eu> On 11.05.22 15:20, Vincent Libertiaux wrote: > On 11.05.22 15:15, Simon Rit wrote: >> Hi, >> Yes, I think it's correct. To be sure you correctly understand it, >> you can always do test cases with the source and detector positions, >> u v vectors in the coordinate system of your object. >> http://www.openrtk.org/Doxygen/classrtk_1_1ThreeDCircularProjectionGeometry.html#a0fb1475ed76a28cde24fac85eae18e1e >> and then check the resulting angles and distances. >> Simon >> >> On Wed, May 11, 2022 at 2:15 PM Vincent Libertiaux wrote: >> >> On 10.05.22 22:54, Simon Rit wrote: >> > Hi Vincent, >> > RTK can parametrize any orientation of the detector with the three >> > angles GantryAngle, InPlaneAngle, OutOfPlaneAngle. 0.025? seems >> very >> > small indeed! I don't know how much you know about software B >> but the >> > easiest would be to have either the projection matrix or the >> source >> > position, detector position, u axis and v axis in patient/object >> > coordinates to derive the RTK parameters. >> > Good luck with this! >> > Simon >> >> Hi Simon ! >> >> Unfortunately, I don't have access to B projection matrices. >> >> As for the detector orientation in RTK, I have made this picture >> to make >> sure I understand properly how to use the gantry angle to achieve my >> desired geometry: >> >> https://ibb.co/J3H8z9M >> >> The cyan detector is the default configuration with a 0? gantry >> angle. >> The blue detector is at a gantry angle of alpha (largely >> exaggerated for >> the sake of clarity).? So in order to simulate an out-of-plane >> rotation >> of the detector around its vertical axis, I should translate this >> blue >> detector so that its center matches the coordinates of the cyan >> one, and >> translate the source accordingly (along the black vectors on the >> picture) ?? I assume that proj_iso_x/y and source_x/y are >> expressed in >> the gantry system of coordinates (local) ? >> >> >> Thank you again for your feedback, >> >> kindest regards, >> >> V. >> > Thanks Simon, > > I'll investigate more and let you know.? Hopefully, it might be useful > to someone else one day ! > > V. > Hi Simon, I finally got some time to investigate further this issue this week.? I managed to get sharp edges everywhere now and it was indeed the detector out-of-plane angle colinear with the gantry angle that was the cause.? The value given by the other software seems to have been in rad rather than degrees; the angle I found was 1.15?.? This makes me wonder what were the assumptions under which no effect was found for angles below 2?.? If you know the title of the seminal paper, I'd be interested to read it. As for the mean to include this angle in the geometry, no extra code was indeed needed.? If we call this extra angle "c", the following modifications have to be made in rtksimulatedgeometry: - first angle = c - sdd = sdd_0 * cos(c) - sid = sid_0 * cos(c) - source_x = source_x0 - sid*sin(c) - proj_iso_x = proj_iso_x0 + (sdd-sid)*sin(c) I can't really promise I'll find time to do it, but if it is the case, I'll submit a PR to include that in the matrices computation. Hopefully, it will help others on the list who encountered a similar issue. Best regards, Vincent -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Jul 19 16:23:15 2022 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 19 Jul 2022 18:23:15 +0200 Subject: [Rtk-users] Lateral blur in a FDK reconstructed volume In-Reply-To: <3bd524e3-8d2a-ea36-0058-0e7e6aede5b2@xris.eu> References: <63d808a9-fc02-beee-0a57-4f3f30fe84c9@xris.eu> <04c7c3ef-52f5-895a-4c5d-315b0824d741@xris.eu> <113ffa1e-1527-a2b1-84cb-970efe721af0@xris.eu> <3bd524e3-8d2a-ea36-0058-0e7e6aede5b2@xris.eu> Message-ID: Hi Vincent, Thanks for the report. I don't believe that there is need for a PR. It comes down to using a different parameterization which I think you can always go around with one of the different versions of AddProjection. Did I mention that the out of plane angle has no effect below 2?? If yes, I'm not sure you can trust this information... as I don't know where it comes from. Best regards, Simon On Tue, Jul 19, 2022 at 11:34 AM Vincent Libertiaux wrote: > On 11.05.22 15:20, Vincent Libertiaux wrote: > > On 11.05.22 15:15, Simon Rit wrote: > > Hi, > Yes, I think it's correct. To be sure you correctly understand it, you can > always do test cases with the source and detector positions, u v vectors in > the coordinate system of your object. > > http://www.openrtk.org/Doxygen/classrtk_1_1ThreeDCircularProjectionGeometry.html#a0fb1475ed76a28cde24fac85eae18e1e > and then check the resulting angles and distances. > Simon > > On Wed, May 11, 2022 at 2:15 PM Vincent Libertiaux wrote: > >> On 10.05.22 22:54, Simon Rit wrote: >> > Hi Vincent, >> > RTK can parametrize any orientation of the detector with the three >> > angles GantryAngle, InPlaneAngle, OutOfPlaneAngle. 0.025? seems very >> > small indeed! I don't know how much you know about software B but the >> > easiest would be to have either the projection matrix or the source >> > position, detector position, u axis and v axis in patient/object >> > coordinates to derive the RTK parameters. >> > Good luck with this! >> > Simon >> >> Hi Simon ! >> >> Unfortunately, I don't have access to B projection matrices. >> >> As for the detector orientation in RTK, I have made this picture to make >> sure I understand properly how to use the gantry angle to achieve my >> desired geometry: >> >> https://ibb.co/J3H8z9M >> >> The cyan detector is the default configuration with a 0? gantry angle. >> The blue detector is at a gantry angle of alpha (largely exaggerated for >> the sake of clarity). So in order to simulate an out-of-plane rotation >> of the detector around its vertical axis, I should translate this blue >> detector so that its center matches the coordinates of the cyan one, and >> translate the source accordingly (along the black vectors on the >> picture) ? I assume that proj_iso_x/y and source_x/y are expressed in >> the gantry system of coordinates (local) ? >> >> >> Thank you again for your feedback, >> >> kindest regards, >> >> V. >> >> Thanks Simon, > > I'll investigate more and let you know. Hopefully, it might be useful to > someone else one day ! > > V. > > Hi Simon, > > I finally got some time to investigate further this issue this week. I > managed to get sharp edges everywhere now and it was indeed the detector > out-of-plane angle colinear with the gantry angle that was the cause. The > value given by the other software seems to have been in rad rather than > degrees; the angle I found was 1.15?. This makes me wonder what were the > assumptions under which no effect was found for angles below 2?. If you > know the title of the seminal paper, I'd be interested to read it. > > > As for the mean to include this angle in the geometry, no extra code was > indeed needed. If we call this extra angle "c", the following > modifications have to be made in rtksimulatedgeometry: > > - first angle = c > > - sdd = sdd_0 * cos(c) > > - sid = sid_0 * cos(c) > > - source_x = source_x0 - sid*sin(c) > > - proj_iso_x = proj_iso_x0 + (sdd-sid)*sin(c) > > I can't really promise I'll find time to do it, but if it is the case, > I'll submit a PR to include that in the matrices computation. > > Hopefully, it will help others on the list who encountered a similar issue. > > Best regards, > > Vincent > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lesaint.jerome at gmail.com Tue Jul 19 17:21:16 2022 From: lesaint.jerome at gmail.com (Jerome Lesaint) Date: Tue, 19 Jul 2022 19:21:16 +0200 Subject: [Rtk-users] Lateral blur in a FDK reconstructed volume In-Reply-To: References: <63d808a9-fc02-beee-0a57-4f3f30fe84c9@xris.eu> <04c7c3ef-52f5-895a-4c5d-315b0824d741@xris.eu> <113ffa1e-1527-a2b1-84cb-970efe721af0@xris.eu> <3bd524e3-8d2a-ea36-0058-0e7e6aede5b2@xris.eu> Message-ID: Hello all, The question of neglecting out-of-plane offsets if less than 2 degrees is discussed in Yang et al, Med. Phys., 2006, section III.A. Regards, Jerome Le mar. 19 juil. 2022 ? 18:23, Simon Rit a ?crit : > Hi Vincent, > Thanks for the report. I don't believe that there is need for a PR. It > comes down to using a different parameterization which I think you can > always go around with one of the different versions of AddProjection. > Did I mention that the out of plane angle has no effect below 2?? If yes, > I'm not sure you can trust this information... as I don't know where it > comes from. > Best regards, > Simon > > On Tue, Jul 19, 2022 at 11:34 AM Vincent Libertiaux wrote: > >> On 11.05.22 15:20, Vincent Libertiaux wrote: >> >> On 11.05.22 15:15, Simon Rit wrote: >> >> Hi, >> Yes, I think it's correct. To be sure you correctly understand it, you >> can always do test cases with the source and detector positions, u v >> vectors in the coordinate system of your object. >> >> http://www.openrtk.org/Doxygen/classrtk_1_1ThreeDCircularProjectionGeometry.html#a0fb1475ed76a28cde24fac85eae18e1e >> and then check the resulting angles and distances. >> Simon >> >> On Wed, May 11, 2022 at 2:15 PM Vincent Libertiaux wrote: >> >>> On 10.05.22 22:54, Simon Rit wrote: >>> > Hi Vincent, >>> > RTK can parametrize any orientation of the detector with the three >>> > angles GantryAngle, InPlaneAngle, OutOfPlaneAngle. 0.025? seems very >>> > small indeed! I don't know how much you know about software B but the >>> > easiest would be to have either the projection matrix or the source >>> > position, detector position, u axis and v axis in patient/object >>> > coordinates to derive the RTK parameters. >>> > Good luck with this! >>> > Simon >>> >>> Hi Simon ! >>> >>> Unfortunately, I don't have access to B projection matrices. >>> >>> As for the detector orientation in RTK, I have made this picture to make >>> sure I understand properly how to use the gantry angle to achieve my >>> desired geometry: >>> >>> https://ibb.co/J3H8z9M >>> >>> The cyan detector is the default configuration with a 0? gantry angle. >>> The blue detector is at a gantry angle of alpha (largely exaggerated for >>> the sake of clarity). So in order to simulate an out-of-plane rotation >>> of the detector around its vertical axis, I should translate this blue >>> detector so that its center matches the coordinates of the cyan one, and >>> translate the source accordingly (along the black vectors on the >>> picture) ? I assume that proj_iso_x/y and source_x/y are expressed in >>> the gantry system of coordinates (local) ? >>> >>> >>> Thank you again for your feedback, >>> >>> kindest regards, >>> >>> V. >>> >>> Thanks Simon, >> >> I'll investigate more and let you know. Hopefully, it might be useful to >> someone else one day ! >> >> V. >> >> Hi Simon, >> >> I finally got some time to investigate further this issue this week. I >> managed to get sharp edges everywhere now and it was indeed the detector >> out-of-plane angle colinear with the gantry angle that was the cause. The >> value given by the other software seems to have been in rad rather than >> degrees; the angle I found was 1.15?. This makes me wonder what were the >> assumptions under which no effect was found for angles below 2?. If you >> know the title of the seminal paper, I'd be interested to read it. >> >> >> As for the mean to include this angle in the geometry, no extra code was >> indeed needed. If we call this extra angle "c", the following >> modifications have to be made in rtksimulatedgeometry: >> >> - first angle = c >> >> - sdd = sdd_0 * cos(c) >> >> - sid = sid_0 * cos(c) >> >> - source_x = source_x0 - sid*sin(c) >> >> - proj_iso_x = proj_iso_x0 + (sdd-sid)*sin(c) >> >> I can't really promise I'll find time to do it, but if it is the case, >> I'll submit a PR to include that in the matrices computation. >> >> Hopefully, it will help others on the list who encountered a similar >> issue. >> >> Best regards, >> >> Vincent >> > _______________________________________________ > 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: From vl at xris.eu Wed Jul 20 07:18:15 2022 From: vl at xris.eu (Vincent Libertiaux) Date: Wed, 20 Jul 2022 09:18:15 +0200 Subject: [Rtk-users] Lateral blur in a FDK reconstructed volume In-Reply-To: References: <63d808a9-fc02-beee-0a57-4f3f30fe84c9@xris.eu> <04c7c3ef-52f5-895a-4c5d-315b0824d741@xris.eu> <113ffa1e-1527-a2b1-84cb-970efe721af0@xris.eu> <3bd524e3-8d2a-ea36-0058-0e7e6aede5b2@xris.eu> Message-ID: <03853232-401c-8c89-05ea-6f6f95fd42db@xris.eu> On 19.07.22 18:23, Simon Rit wrote: > Hi Vincent, > Thanks for the report. I don't believe that there is need for a PR. It > comes down to using a different parameterization which I think you can > always go around with one of the different versions of AddProjection. > Did I mention that the out of plane angle has no effect below 2?? If > yes, I'm not sure you can trust this information... as I don't know > where it comes from. > Best regards, > Simon > > On Tue, Jul 19, 2022 at 11:34 AM Vincent Libertiaux wrote: > > On 11.05.22 15:20, Vincent Libertiaux wrote: >> On 11.05.22 15:15, Simon Rit wrote: >>> Hi, >>> Yes, I think it's correct. To be sure you correctly understand >>> it, you can always do test cases with the source and detector >>> positions, u v vectors in the coordinate system of your object. >>> http://www.openrtk.org/Doxygen/classrtk_1_1ThreeDCircularProjectionGeometry.html#a0fb1475ed76a28cde24fac85eae18e1e >>> and then check the resulting angles and distances. >>> Simon >>> >>> On Wed, May 11, 2022 at 2:15 PM Vincent Libertiaux >>> wrote: >>> >>> On 10.05.22 22:54, Simon Rit wrote: >>> > Hi Vincent, >>> > RTK can parametrize any orientation of the detector with >>> the three >>> > angles GantryAngle, InPlaneAngle, OutOfPlaneAngle. 0.025? >>> seems very >>> > small indeed! I don't know how much you know about >>> software B but the >>> > easiest would be to have either the projection matrix or >>> the source >>> > position, detector position, u axis and v axis in >>> patient/object >>> > coordinates to derive the RTK parameters. >>> > Good luck with this! >>> > Simon >>> >>> Hi Simon ! >>> >>> Unfortunately, I don't have access to B projection matrices. >>> >>> As for the detector orientation in RTK, I have made this >>> picture to make >>> sure I understand properly how to use the gantry angle to >>> achieve my >>> desired geometry: >>> >>> https://ibb.co/J3H8z9M >>> >>> The cyan detector is the default configuration with a 0? >>> gantry angle. >>> The blue detector is at a gantry angle of alpha (largely >>> exaggerated for >>> the sake of clarity).? So in order to simulate an >>> out-of-plane rotation >>> of the detector around its vertical axis, I should translate >>> this blue >>> detector so that its center matches the coordinates of the >>> cyan one, and >>> translate the source accordingly (along the black vectors on >>> the >>> picture) ?? I assume that proj_iso_x/y and source_x/y are >>> expressed in >>> the gantry system of coordinates (local) ? >>> >>> >>> Thank you again for your feedback, >>> >>> kindest regards, >>> >>> V. >>> >> Thanks Simon, >> >> I'll investigate more and let you know.? Hopefully, it might be >> useful to someone else one day ! >> >> V. >> > Hi Simon, > > I finally got some time to investigate further this issue this > week.? I managed to get sharp edges everywhere now and it was > indeed the detector out-of-plane angle colinear with the gantry > angle that was the cause.? The value given by the other software > seems to have been in rad rather than degrees; the angle I found > was 1.15?.? This makes me wonder what were the assumptions under > which no effect was found for angles below 2?.? If you know the > title of the seminal paper, I'd be interested to read it. > > > As for the mean to include this angle in the geometry, no extra > code was indeed needed.? If we call this extra angle "c", the > following modifications have to be made in rtksimulatedgeometry: > > - first angle = c > > - sdd = sdd_0 * cos(c) > > - sid = sid_0 * cos(c) > > - source_x = source_x0 - sid*sin(c) > > - proj_iso_x = proj_iso_x0 + (sdd-sid)*sin(c) > > I can't really promise I'll find time to do it, but if it is the > case, I'll submit a PR to include that in the matrices computation. > > Hopefully, it will help others on the list who encountered a > similar issue. > > Best regards, > > Vincent > Hi Simon, you didn't mention that the out of plane angle has no effect below 2?.? I have read that in several papers about CT geometric calibration.? To be honest, I am glad that no PR is needed, I have a lot on my plate at work these days :). Best regards, V. -------------- next part -------------- An HTML attachment was scrubbed... URL: From vl at xris.eu Wed Jul 20 07:18:40 2022 From: vl at xris.eu (Vincent Libertiaux) Date: Wed, 20 Jul 2022 09:18:40 +0200 Subject: [Rtk-users] Lateral blur in a FDK reconstructed volume In-Reply-To: References: <63d808a9-fc02-beee-0a57-4f3f30fe84c9@xris.eu> <04c7c3ef-52f5-895a-4c5d-315b0824d741@xris.eu> <113ffa1e-1527-a2b1-84cb-970efe721af0@xris.eu> <3bd524e3-8d2a-ea36-0058-0e7e6aede5b2@xris.eu> Message-ID: <50262fbd-a2ba-9589-05fb-d834fd2a5328@xris.eu> On 19.07.22 19:21, Jerome Lesaint wrote: > Hello all, > > The question of neglecting out-of-plane offsets if less than 2 degrees > is discussed in Yang et al, Med. Phys., 2006, section III.A. > Regards, > Jerome > > Le?mar. 19 juil. 2022 ??18:23, Simon Rit > a ?crit?: > > Hi Vincent, > Thanks for the report. I don't believe that there is need for a > PR. It comes down to using a different parameterization which I > think you can always go around with one of the different versions > of AddProjection. > Did I mention that the out of plane angle has no effect below 2?? > If yes, I'm not sure you can trust this information... as I don't > know where it comes from. > Best regards, > Simon > > On Tue, Jul 19, 2022 at 11:34 AM Vincent Libertiaux > wrote: > > On 11.05.22 15:20, Vincent Libertiaux wrote: >> On 11.05.22 15:15, Simon Rit wrote: >>> Hi, >>> Yes, I think it's correct. To be sure you correctly >>> understand it, you can always do test cases with the source >>> and detector positions, u v vectors in the coordinate system >>> of your object. >>> http://www.openrtk.org/Doxygen/classrtk_1_1ThreeDCircularProjectionGeometry.html#a0fb1475ed76a28cde24fac85eae18e1e >>> and then check the resulting angles and distances. >>> Simon >>> >>> On Wed, May 11, 2022 at 2:15 PM Vincent Libertiaux >>> wrote: >>> >>> On 10.05.22 22:54, Simon Rit wrote: >>> > Hi Vincent, >>> > RTK can parametrize any orientation of the detector >>> with the three >>> > angles GantryAngle, InPlaneAngle, OutOfPlaneAngle. >>> 0.025? seems very >>> > small indeed! I don't know how much you know about >>> software B but the >>> > easiest would be to have either the projection matrix >>> or the source >>> > position, detector position, u axis and v axis in >>> patient/object >>> > coordinates to derive the RTK parameters. >>> > Good luck with this! >>> > Simon >>> >>> Hi Simon ! >>> >>> Unfortunately, I don't have access to B projection matrices. >>> >>> As for the detector orientation in RTK, I have made this >>> picture to make >>> sure I understand properly how to use the gantry angle >>> to achieve my >>> desired geometry: >>> >>> https://ibb.co/J3H8z9M >>> >>> The cyan detector is the default configuration with a 0? >>> gantry angle. >>> The blue detector is at a gantry angle of alpha (largely >>> exaggerated for >>> the sake of clarity).? So in order to simulate an >>> out-of-plane rotation >>> of the detector around its vertical axis, I should >>> translate this blue >>> detector so that its center matches the coordinates of >>> the cyan one, and >>> translate the source accordingly (along the black >>> vectors on the >>> picture) ?? I assume that proj_iso_x/y and source_x/y >>> are expressed in >>> the gantry system of coordinates (local) ? >>> >>> >>> Thank you again for your feedback, >>> >>> kindest regards, >>> >>> V. >>> >> Thanks Simon, >> >> I'll investigate more and let you know.? Hopefully, it might >> be useful to someone else one day ! >> >> V. >> > Hi Simon, > > I finally got some time to investigate further this issue this > week.? I managed to get sharp edges everywhere now and it was > indeed the detector out-of-plane angle colinear with the > gantry angle that was the cause.? The value given by the other > software seems to have been in rad rather than degrees; the > angle I found was 1.15?.? This makes me wonder what were the > assumptions under which no effect was found for angles below > 2?.? If you know the title of the seminal paper, I'd be > interested to read it. > > > As for the mean to include this angle in the geometry, no > extra code was indeed needed.? If we call this extra angle > "c", the following modifications have to be made in > rtksimulatedgeometry: > > - first angle = c > > - sdd = sdd_0 * cos(c) > > - sid = sid_0 * cos(c) > > - source_x = source_x0 - sid*sin(c) > > - proj_iso_x = proj_iso_x0 + (sdd-sid)*sin(c) > > I can't really promise I'll find time to do it, but if it is > the case, I'll submit a PR to include that in the matrices > computation. > > Hopefully, it will help others on the list who encountered a > similar issue. > > Best regards, > > Vincent > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > https://public.kitware.com/cgi-bin/mailman/listinfo/rtk-users > Thank you very much for the reference J?r?me ! Best regards, Vincent -------------- next part -------------- An HTML attachment was scrubbed... URL: From dongping.wang at simmhealthcare.com Fri Jul 22 03:29:55 2022 From: dongping.wang at simmhealthcare.com (dongping.wang at simmhealthcare.com) Date: Fri, 22 Jul 2022 11:29:55 +0800 Subject: [Rtk-users] CG recon References: Message-ID: <000201d89d7b$50da6d60$f28f4820$@simmhealthcare.com> Hi all I made a CG recon, but found it looks there are much brighter around the outer. If I made a FDK with TruncationCorrection(0.9), it looks good. Anybody know the possible reason? Regards Wang Dongping -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 112384 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.png Type: image/png Size: 105383 bytes Desc: not available URL: From simon.rit at creatis.insa-lyon.fr Fri Jul 22 04:51:51 2022 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 22 Jul 2022 06:51:51 +0200 Subject: [Rtk-users] CG recon In-Reply-To: <000201d89d7b$50da6d60$f28f4820$@simmhealthcare.com> References: <000201d89d7b$50da6d60$f28f4820$@simmhealthcare.com> Message-ID: Dear Wang Dongping, When doing an iterative reconstruction from truncated data, the reconstructed image should be large enough to contain the whole patient, even if part of it is outside the field-of-view. You can for example check figure 15 of doi.org/10.1109/TRPMS.2017.2706196. I'm guessing that this is the issue here. Simon On Fri, Jul 22, 2022 at 5:31 AM dongping.wang--- via Rtk-users < rtk-users at public.kitware.com> wrote: > Hi all > > > > I made a CG recon, but found it looks there are much brighter around the > outer. > > > > If I made a FDK with TruncationCorrection(0.9), it looks good. > > > > > > Anybody know the possible reason? > > > > Regards > > > > Wang Dongping > _______________________________________________ > 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 112384 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.png Type: image/png Size: 105383 bytes Desc: not available URL: From dongping.wang at simmhealthcare.com Mon Jul 25 04:32:57 2022 From: dongping.wang at simmhealthcare.com (dongping.wang at simmhealthcare.com) Date: Mon, 25 Jul 2022 12:32:57 +0800 Subject: [Rtk-users] =?utf-8?b?5Zue5aSNOiBzY2F0dGVyZ2xhcmVjb3JyZWN0aW9u?= References: Message-ID: <000001d89fdf$9ec40700$dc4c1500$@simmhealthcare.com> Hi all I have a 3d raw data which has a size of 512*512*1012. When I use the following code: inputImage=ROIRegionFilter.GetOutput() SGFilterType=rtk.ScatterGlareCorrectionImageFilter[ImageType,ImageType,itk.F] SGFilter=SGFilterType.New() SGFilter.SetInput(ROIRegionFilter.GetOutput()) SGFilter.SetCoefficients([0.0787,10.6244]) SGFilter.SetTruncationCorrection(0.5) And Extract a full size: I got one error said: RuntimeError: C:\P\IPP\ITK-source\ITK\Modules\Filtering\FFT\include\itkVnlRealToHalfHermitianForwardFFTImageFilter.hxx:58: ITK ERROR: VnlRealToHalfHermitianForwardFFTImageFilter(000002AD61E8C4E0): Cannot compute FFT of image with size [1024, 1024, 1012]. VnlRealToHalfHermitianForwardFFTImageFilter operates only on images whose size in each dimension has a prime factorization consisting of only 2s, 3s, or 5s. When I extract the slices upto 512 or 2, then the python hung up. If I just extracted one of the slices, it is ok. So my question is: ScatterGlareCorrectionImageFilter is only working with a slice (for example 512X512X1)? If I wanted to use this filter, I have to walk through the raw data slice by slice? Thanks! Regards Wang Dongping ???: dongping.wang at simmhealthcare.com ????: 2022?7?19? 11:29 ???: 'rtk-users at openrtk.org' ??: scatterglarecorrection Hi all I am trying to use ScatterGlareCorrectionImageFilter to do some scattering correction. From the test, we can see we just need to set the coef, then call the update(). ImageType::Pointer testImage = createInputImage(coef); SFilter->SetInput(testImage); TRY_AND_EXIT_ON_ITK_EXCEPTION(SFilter->Update()) The question is if we need to call the UpdateFFTProjectionsConvolutionKernel() to build the filter before we call update()? If we wanted to correct one 3D raw project data, how we do the correction slice by slice? Any example for it? Regards Wang Dongping -------------- next part -------------- An HTML attachment was scrubbed... URL: From dongping.wang at simmhealthcare.com Fri Jul 29 05:52:05 2022 From: dongping.wang at simmhealthcare.com (dongping.wang at simmhealthcare.com) Date: Fri, 29 Jul 2022 13:52:05 +0800 Subject: [Rtk-users] rtk has no attribute "Reg1DextractShroudSignalImageFilter" In-Reply-To: <000001d89fdf$9ec40700$dc4c1500$@simmhealthcare.com> References: <000001d89fdf$9ec40700$dc4c1500$@simmhealthcare.com> Message-ID: <001e01d8a30f$55a037f0$00e0a7d0$@simmhealthcare.com> Hi all I am trying to use Reg1DExtractShroudSignalImageFilter with python. But I met one error as the following: Please help me check what this problem may be? Regards Wang Dongping ???: dongping.wang at simmhealthcare.com ????: 2022?7?25? 12:33 ???: rtk-users at openrtk.org ??: ??: scatterglarecorrection Hi all I have a 3d raw data which has a size of 512*512*1012. When I use the following code: inputImage=ROIRegionFilter.GetOutput() SGFilterType=rtk.ScatterGlareCorrectionImageFilter[ImageType,ImageType,itk.F] SGFilter=SGFilterType.New() SGFilter.SetInput(ROIRegionFilter.GetOutput()) SGFilter.SetCoefficients([0.0787,10.6244]) SGFilter.SetTruncationCorrection(0.5) And Extract a full size: I got one error said: RuntimeError: C:\P\IPP\ITK-source\ITK\Modules\Filtering\FFT\include\itkVnlRealToHalfHermitianForwardFFTImageFilter.hxx:58: ITK ERROR: VnlRealToHalfHermitianForwardFFTImageFilter(000002AD61E8C4E0): Cannot compute FFT of image with size [1024, 1024, 1012]. VnlRealToHalfHermitianForwardFFTImageFilter operates only on images whose size in each dimension has a prime factorization consisting of only 2s, 3s, or 5s. When I extract the slices upto 512 or 2, then the python hung up. If I just extracted one of the slices, it is ok. So my question is: ScatterGlareCorrectionImageFilter is only working with a slice (for example 512X512X1)? If I wanted to use this filter, I have to walk through the raw data slice by slice? Thanks! Regards Wang Dongping ???: dongping.wang at simmhealthcare.com > ????: 2022?7?19? 11:29 ???: 'rtk-users at openrtk.org' > ??: scatterglarecorrection Hi all I am trying to use ScatterGlareCorrectionImageFilter to do some scattering correction. From the test, we can see we just need to set the coef, then call the update(). ImageType::Pointer testImage = createInputImage(coef); SFilter->SetInput(testImage); TRY_AND_EXIT_ON_ITK_EXCEPTION(SFilter->Update()) The question is if we need to call the UpdateFFTProjectionsConvolutionKernel() to build the filter before we call update()? If we wanted to correct one 3D raw project data, how we do the correction slice by slice? Any example for it? Regards Wang Dongping -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image003.png Type: image/png Size: 134807 bytes Desc: not available URL: From simon.rit at creatis.insa-lyon.fr Fri Jul 29 06:31:48 2022 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 29 Jul 2022 08:31:48 +0200 Subject: [Rtk-users] rtk has no attribute "Reg1DextractShroudSignalImageFilter" In-Reply-To: <001e01d8a30f$55a037f0$00e0a7d0$@simmhealthcare.com> References: <000001d89fdf$9ec40700$dc4c1500$@simmhealthcare.com> <001e01d8a30f$55a037f0$00e0a7d0$@simmhealthcare.com> Message-ID: Hi, This filter is indeed not wrapped currently due to the notwrap extension: https://github.com/SimonRit/RTK/blob/master/wrapping/rtkReg1DExtractShroudSignalImageFilter.notwrap I have opened an issue to track this down in the future: https://github.com/SimonRit/RTK/issues/506 Simon On Fri, Jul 29, 2022 at 8:01 AM dongping.wang--- via Rtk-users < rtk-users at public.kitware.com> wrote: > Hi all > > > > I am trying to use Reg1DExtractShroudSignalImageFilter with python. But I > met one error as the following: > > Please help me check what this problem may be? > > > > Regards > > Wang Dongping > > > > *???:* dongping.wang at simmhealthcare.com > > *????:* 2022?7?25? 12:33 > *???:* rtk-users at openrtk.org > *??:* ??: scatterglarecorrection > > > > Hi all > > > > I have a 3d raw data which has a size of 512*512*1012. > > When I use the following code: > > > > inputImage=ROIRegionFilter.GetOutput() > > > SGFilterType=rtk.ScatterGlareCorrectionImageFilter[ImageType,ImageType,itk.F] > > SGFilter=SGFilterType.New() > > SGFilter.SetInput(ROIRegionFilter.GetOutput()) > > SGFilter.SetCoefficients([0.0787,10.6244]) > > SGFilter.SetTruncationCorrection(0.5) > > > > And Extract a full size: > > I got one error said: > > > > *RuntimeError*: > C:\P\IPP\ITK-source\ITK\Modules\Filtering\FFT\include\itkVnlRealToHalfHermitianForwardFFTImageFilter.hxx:58: > > ITK ERROR: VnlRealToHalfHermitianForwardFFTImageFilter(000002AD61E8C4E0): > Cannot compute FFT of image with size [1024, 1024, 1012]. > VnlRealToHalfHermitianForwardFFTImageFilter operates only on images whose > size in each dimension has a prime factorization consisting of only 2s, 3s, > or 5s. > > > > When I extract the slices upto 512 or 2, then the python hung up. > > > > If I just extracted one of the slices, it is ok. > > > > So my question is: > > ScatterGlareCorrectionImageFilter is only working with a slice (for > example 512X512X1)? > > If I wanted to use this filter, I have to walk through the raw data slice > by slice? Thanks! > > > > Regards > > > > Wang Dongping > > > > > > *???:* dongping.wang at simmhealthcare.com > > *????:* 2022?7?19? 11:29 > *???:* 'rtk-users at openrtk.org' > *??:* scatterglarecorrection > > > > Hi all > > > > I am trying to use ScatterGlareCorrectionImageFilter to do some scattering > correction. From the test, we can see we just need to set the coef, then > call the update(). > > > > ImageType::Pointer testImage = createInputImage(coef); > > SFilter->SetInput(testImage); > > TRY_AND_EXIT_ON_ITK_EXCEPTION(SFilter->Update()) > > > The question is if we need to call the > UpdateFFTProjectionsConvolutionKernel() to build the filter before we call > update()?If we wanted to correct one 3D raw project data, how we do the > correction slice by slice? Any example for it? RegardsWang Dongping > _______________________________________________ > 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: image003.png Type: image/png Size: 134807 bytes Desc: not available URL: