From cyril.mory at uclouvain.be Wed Jun 1 03:34:20 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:34:20 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> Message-ID: <574E8FFC.3010903@uclouvain.be> Hi Guillaume, Can you also tell how many iterations you have performed (main loop, conjugate gradient, and TV) ? If you are performing 30 iterations of the main loop, with 4 CG iterations, then considering the size of your data I do not think anything is wrong. Reconstructing a smaller volume will give you a large speedup (time is almost linear with number of voxels), so I would recommend that you try again with the smallest possible volume, i.e. the bounding box of your patient. Are you running the release 1.2.0 version ? If so, note that on the master branch of the git repository, I am adding optimizations for the 4D reconstructions. It is not fully functional at the moment, but I'm currently working 100% of my time on it. I will let you know about the next updates. Regards, Cyril On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: > > Hi Simon, > > Thanks for mailing list suggestion. My initial question was about > typical reconstruction times for rtkfourdrooster. What I tried is > summarized below: > > -Volume size was 410 410 264 and could be easily reduced by a good > margin. > > -The GPU is quadro M4000 with 8GB > > -about 2300 256x256 projections with shifted elekta panel (so called M20) > > -10 phases > > -for the motion mask at the moment I just used the FOV mask for first > try. > > --gamma_time 0.0001 > --gamma_space 0.0001 > - spacing 1 1 1 > --niter 30 > --cgiter 4 > --tviter 10 > > > Recon time was about 5-6 hours. I saw about 4 Gb used on the card. > > The image looked nice, albeit with the TV "feel/plastic-y". > > Thanks for your feedback > Guillaume > > > > > Quoting Simon Rit : > >> Hi Guillaume, >> I'm adding RTK user list to this conversation, it's better to have >> these conversations on the mailing list IMO. Can you tell us what's >> the volume size and the GPU? >> Cyril is ROOSTER's dev, maybe he could comment on recon times. >> Simon >> >> On Tue, May 31, 2016 at 5:29 PM, >> wrote: >>> Hi Simon, >>> >>> I tried the rooster recon. I used the parameters from the example >>> page. The results looks rather nice but it took several hours to run >>> (5-6). Its a big dataset of about 2000 256x256 projections. >>> >>> Guillaume From g.landry at physik.uni-muenchen.de Wed Jun 1 03:39:47 2016 From: g.landry at physik.uni-muenchen.de (Guillaume Landry) Date: Wed, 1 Jun 2016 09:39:47 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E8FFC.3010903@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> Message-ID: <574E9143.8080002@physik.uni-muenchen.de> Good morning Cyril, Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG and 10 for TV (taken from example). Possibly I could reduce the number of TV iterations? Looking forward to your optimizations. Cheers Guillaume Dr. Guillaume Landry Ludwig Maximilians University (LMU) Munich Medical Physics Am Coulombwall 1 85748 Garching Tel:+49 (0) 89 289-14077 Fax:+49 (0) 89 289-14072 On 06/01/2016 09:34 AM, Cyril Mory wrote: > Hi Guillaume, > > Can you also tell how many iterations you have performed (main loop, > conjugate gradient, and TV) ? > If you are performing 30 iterations of the main loop, with 4 CG > iterations, then considering the size of your data I do not think > anything is wrong. Reconstructing a smaller volume will give you a > large speedup (time is almost linear with number of voxels), so I > would recommend that you try again with the smallest possible volume, > i.e. the bounding box of your patient. > > Are you running the release 1.2.0 version ? If so, note that on the > master branch of the git repository, I am adding optimizations for the > 4D reconstructions. It is not fully functional at the moment, but I'm > currently working 100% of my time on it. I will let you know about the > next updates. > > Regards, > Cyril > > On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >> >> Hi Simon, >> >> Thanks for mailing list suggestion. My initial question was about >> typical reconstruction times for rtkfourdrooster. What I tried is >> summarized below: >> >> -Volume size was 410 410 264 and could be easily reduced by a good >> margin. >> >> -The GPU is quadro M4000 with 8GB >> >> -about 2300 256x256 projections with shifted elekta panel (so called >> M20) >> >> -10 phases >> >> -for the motion mask at the moment I just used the FOV mask for first >> try. >> >> --gamma_time 0.0001 >> --gamma_space 0.0001 >> - spacing 1 1 1 >> --niter 30 >> --cgiter 4 >> --tviter 10 >> >> >> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >> >> The image looked nice, albeit with the TV "feel/plastic-y". >> >> Thanks for your feedback >> Guillaume >> >> >> >> >> Quoting Simon Rit : >> >>> Hi Guillaume, >>> I'm adding RTK user list to this conversation, it's better to have >>> these conversations on the mailing list IMO. Can you tell us what's >>> the volume size and the GPU? >>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>> Simon >>> >>> On Tue, May 31, 2016 at 5:29 PM, >>> wrote: >>>> Hi Simon, >>>> >>>> I tried the rooster recon. I used the parameters from the example >>>> page. The results looks rather nice but it took several hours to >>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>> >>>> Guillaume > From cyril.mory at uclouvain.be Wed Jun 1 03:44:13 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:44:13 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E9143.8080002@physik.uni-muenchen.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> Message-ID: <574E924D.30403@uclouvain.be> The bottleneck is the 4D conjugate gradient, and by far. You can also try to reduce the number of main loop iterations (10 should already give a nice result, but you may need more for your application). That, plus reducing the size of your reconstructed volume, plus the optimizations I'm working on, should give you a reconstruction time of less than one hour. On 06/01/2016 09:39 AM, Guillaume Landry wrote: > Good morning Cyril, > > Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG > and 10 for TV (taken from example). Possibly I could reduce the number > of TV iterations? > > Looking forward to your optimizations. > > Cheers > Guillaume > > Dr. Guillaume Landry > Ludwig Maximilians University (LMU) Munich > Medical Physics > Am Coulombwall 1 > 85748 Garching > Tel:+49 (0) 89 289-14077 > Fax:+49 (0) 89 289-14072 > > On 06/01/2016 09:34 AM, Cyril Mory wrote: >> Hi Guillaume, >> >> Can you also tell how many iterations you have performed (main loop, >> conjugate gradient, and TV) ? >> If you are performing 30 iterations of the main loop, with 4 CG >> iterations, then considering the size of your data I do not think >> anything is wrong. Reconstructing a smaller volume will give you a >> large speedup (time is almost linear with number of voxels), so I >> would recommend that you try again with the smallest possible volume, >> i.e. the bounding box of your patient. >> >> Are you running the release 1.2.0 version ? If so, note that on the >> master branch of the git repository, I am adding optimizations for the >> 4D reconstructions. It is not fully functional at the moment, but I'm >> currently working 100% of my time on it. I will let you know about the >> next updates. >> >> Regards, >> Cyril >> >> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>> Hi Simon, >>> >>> Thanks for mailing list suggestion. My initial question was about >>> typical reconstruction times for rtkfourdrooster. What I tried is >>> summarized below: >>> >>> -Volume size was 410 410 264 and could be easily reduced by a good >>> margin. >>> >>> -The GPU is quadro M4000 with 8GB >>> >>> -about 2300 256x256 projections with shifted elekta panel (so called >>> M20) >>> >>> -10 phases >>> >>> -for the motion mask at the moment I just used the FOV mask for first >>> try. >>> >>> --gamma_time 0.0001 >>> --gamma_space 0.0001 >>> - spacing 1 1 1 >>> --niter 30 >>> --cgiter 4 >>> --tviter 10 >>> >>> >>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>> >>> The image looked nice, albeit with the TV "feel/plastic-y". >>> >>> Thanks for your feedback >>> Guillaume >>> >>> >>> >>> >>> Quoting Simon Rit : >>> >>>> Hi Guillaume, >>>> I'm adding RTK user list to this conversation, it's better to have >>>> these conversations on the mailing list IMO. Can you tell us what's >>>> the volume size and the GPU? >>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>> Simon >>>> >>>> On Tue, May 31, 2016 at 5:29 PM, >>>> wrote: >>>>> Hi Simon, >>>>> >>>>> I tried the rooster recon. I used the parameters from the example >>>>> page. The results looks rather nice but it took several hours to >>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>> >>>>> Guillaume From cyril.mory at uclouvain.be Thu Jun 2 07:58:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 2 Jun 2016 13:58:07 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E924D.30403@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> <574E924D.30403@uclouvain.be> Message-ID: <57501F4F.8050006@uclouvain.be> Hi Guillaume, Just wanted to let you know : if you perform a 4D CT for the planning, and use motion estimation on that 4D CT (thus getting either one 4D displacement vector field, or two inverse-consistent 4D DVFs), you can use this/these DVF(s) in ROOSTER. It should bring you a significant improvement of image quality, and on my datasets I was able to reduce the number of iterations of the main loop to 10 without problems. We can discuss this further if you are interested. Cyril On 06/01/2016 09:44 AM, Cyril Mory wrote: > The bottleneck is the 4D conjugate gradient, and by far. You can also > try to reduce the number of main loop iterations (10 should already > give a nice result, but you may need more for your application). > That, plus reducing the size of your reconstructed volume, plus the > optimizations I'm working on, should give you a reconstruction time of > less than one hour. > > On 06/01/2016 09:39 AM, Guillaume Landry wrote: >> Good morning Cyril, >> >> Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG >> and 10 for TV (taken from example). Possibly I could reduce the number >> of TV iterations? >> >> Looking forward to your optimizations. >> >> Cheers >> Guillaume >> >> Dr. Guillaume Landry >> Ludwig Maximilians University (LMU) Munich >> Medical Physics >> Am Coulombwall 1 >> 85748 Garching >> Tel:+49 (0) 89 289-14077 >> Fax:+49 (0) 89 289-14072 >> >> On 06/01/2016 09:34 AM, Cyril Mory wrote: >>> Hi Guillaume, >>> >>> Can you also tell how many iterations you have performed (main loop, >>> conjugate gradient, and TV) ? >>> If you are performing 30 iterations of the main loop, with 4 CG >>> iterations, then considering the size of your data I do not think >>> anything is wrong. Reconstructing a smaller volume will give you a >>> large speedup (time is almost linear with number of voxels), so I >>> would recommend that you try again with the smallest possible volume, >>> i.e. the bounding box of your patient. >>> >>> Are you running the release 1.2.0 version ? If so, note that on the >>> master branch of the git repository, I am adding optimizations for the >>> 4D reconstructions. It is not fully functional at the moment, but I'm >>> currently working 100% of my time on it. I will let you know about the >>> next updates. >>> >>> Regards, >>> Cyril >>> >>> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>>> Hi Simon, >>>> >>>> Thanks for mailing list suggestion. My initial question was about >>>> typical reconstruction times for rtkfourdrooster. What I tried is >>>> summarized below: >>>> >>>> -Volume size was 410 410 264 and could be easily reduced by a good >>>> margin. >>>> >>>> -The GPU is quadro M4000 with 8GB >>>> >>>> -about 2300 256x256 projections with shifted elekta panel (so called >>>> M20) >>>> >>>> -10 phases >>>> >>>> -for the motion mask at the moment I just used the FOV mask for first >>>> try. >>>> >>>> --gamma_time 0.0001 >>>> --gamma_space 0.0001 >>>> - spacing 1 1 1 >>>> --niter 30 >>>> --cgiter 4 >>>> --tviter 10 >>>> >>>> >>>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>>> >>>> The image looked nice, albeit with the TV "feel/plastic-y". >>>> >>>> Thanks for your feedback >>>> Guillaume >>>> >>>> >>>> >>>> >>>> Quoting Simon Rit : >>>> >>>>> Hi Guillaume, >>>>> I'm adding RTK user list to this conversation, it's better to have >>>>> these conversations on the mailing list IMO. Can you tell us what's >>>>> the volume size and the GPU? >>>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>>> Simon >>>>> >>>>> On Tue, May 31, 2016 at 5:29 PM, >>>>> wrote: >>>>>> Hi Simon, >>>>>> >>>>>> I tried the rooster recon. I used the parameters from the example >>>>>> page. The results looks rather nice but it took several hours to >>>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>>> >>>>>> Guillaume > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users From solomoncztang at gmail.com Tue Jun 7 18:27:35 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 7 Jun 2016 15:27:35 -0700 Subject: [Rtk-users] Cmake build error help In-Reply-To: <573171C8.80400@creatis.insa-lyon.fr> References: <573171C8.80400@creatis.insa-lyon.fr> Message-ID: My apologies for the delay, I updated GetGitRevision and it got past the initial issue. Unfortunately, the final build still failed with cuda enabled because NVCC 7.5 does not support Visual Studio 2015. On Mon, May 9, 2016 at 10:29 PM, Simon Rit wrote: > Hi, > Can you update GetGitRevisionDescription.cmake and > GetGitRevisionDescription.cmake.in from > https://github.com/rpavlik/cmake-modules and see if the new versions fix > this issue? > Thanks, > Simon > > PS: plead keep using the mailing list > > > On 10/05/2016 03:09, Solomon Tang wrote: > > Hi Simon, > > I am rebuilding RTK after moving to Visual Studio 2015 with cmake 3.5.2 > and am running into the following error: > > CMake Error at build/applications/CMakeFiles/git-data/grabRef.cmake:36 > (file): > file failed to open for reading (No such file or directory): > > > C:/Work/Tools/Current/RTK-1.2.0/build/applications/CMakeFiles/git-data/head-ref > Call Stack (most recent call first): > cmake/GetGitRevisionDescription.cmake:77 (include) > applications/CMakeLists.txt:5 (get_git_head_revision) > > I am using ITK 4.9.0 and fresh download of RTK 1.2.0. > > How do I resolve this issue? > > Thanks again, > > Solomon > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Tue Jun 14 09:12:34 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Tue, 14 Jun 2016 15:12:34 +0200 Subject: [Rtk-users] CUDA Ramp filter Message-ID: Dear all, When I use rtkramp with cuda option, I am getting following error ExceptionObject caught with streamer->Update() in file D:\programming\cpp\ext_li bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 itk::ExceptionObject (000000ADA7DAF220) Location: "unknown" File: d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil ter.txx Line: 50 Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol utionImageFilter assumes that input requested and buffered regions are equal. However, cpu version of ramp filter works fine. Thanks in advance. With regards, Shiras -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Tue Jun 14 09:38:06 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Tue, 14 Jun 2016 15:38:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: Message-ID: <576008BE.1060506@uclouvain.be> Hi Shiras, We found that bug recently with Sebastien Brousmiche and fixed it, at least for the use case we were considering. Can you try with the git master version of RTK ? Alternatively, you can replace reader->Update() with reader->UpdateOutputInformation() in line 61 of rtkramp.cxx and see if it fixes the problem. Regards, Cyril On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Wed Jun 15 04:50:17 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Wed, 15 Jun 2016 10:50:17 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <576008BE.1060506@uclouvain.be> References: <576008BE.1060506@uclouvain.be> Message-ID: Dear Cyril, Thanks a lot. Now rtkramp.exe works with cuda option. I am trying to integrate rtk cuda ramp filter into my recon program. I read the projections with ProjectionsReader and pass image pointer to cuda ramp filter pipeline using cudaRampFilter->SetInput(projections); I am getting runtime error and it says Error during cuda ramp filtering :: D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu :97: itk::ERROR: CUFFT ERROR #2 Do I need to enable or disable any parameter while reading projections to get rid of this error? I changed rtk_proj_reader_->Update to rtk_proj_reader_->UpdateOutputInformation(); But I am still getting the error. The error exists only with CudaFFTRampImageFilter and FFTRampImageFilter works fine. With regards, Shiras On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory wrote: > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, at > least for the use case we were considering. Can you try with the git master > version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 15 05:02:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 15 Jun 2016 11:02:07 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> Message-ID: <5761198F.7060504@uclouvain.be> Hi Shiras, Another user had the same error some years ago : http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html It seemed to be a GPU memory size issue. Can you tell what GPU you use, are what are the size and number of your projections ? Can you try with a single projection (you can use the "rtksubselect" application to create such a dataset out of yours) ? Best regards, Cyril On 06/15/2016 10:50 AM, Shiras Abdurahman wrote: > Dear Cyril, > > Thanks a lot. Now rtkramp.exe works with cuda option. > I am trying to integrate rtk cuda ramp filter into my recon program. I > read the projections with ProjectionsReader and pass image pointer to > cuda ramp filter pipeline using > cudaRampFilter->SetInput(projections); > > I am getting runtime error and it says > Error during cuda ramp filtering :: > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > :97: > itk::ERROR: CUFFT ERROR #2 > > Do I need to enable or disable any parameter while reading projections > to get rid of this error? I changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > But I am still getting the error. > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > With regards, > Shiras > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory > wrote: > > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, > at least for the use case we were considering. Can you try with > the git master version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> Dear all, >> >> When I use rtkramp with cuda option, I am getting following error >> >> ExceptionObject caught with streamer->Update() in file >> D:\programming\cpp\ext_li >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 >> >> itk::ExceptionObject (000000ADA7DAF220) >> Location: "unknown" >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> ter.txx >> Line: 50 >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol >> utionImageFilter assumes that input requested and buffered >> regions are equal. >> >> However, cpu version of ramp filter works fine. >> >> Thanks in advance. >> >> With regards, >> Shiras >> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 15 05:42:16 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 15 Jun 2016 11:42:16 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <5761198F.7060504@uclouvain.be> References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Hi, I recently added the --subsetsize option (see this commit ). You can try "--subsetsize 1" instead of using rtksubselect. Simon On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > >> >> >> Dear Cyril, >> >> >> >> Thanks a lot. Now rtkramp.exe works with cuda option. >> >> I am trying to integrate rtk cuda ramp filter into my recon >> program. I read the projections with ProjectionsReader and >> pass image pointer to cuda ramp filter pipeline using >> >> cudaRampFilter->SetInput(projections); >> >> >> >> >> >> I am getting runtime error and it says >> >> >> Error during cuda ramp filtering :: >> >> D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu >> >> :97: >> >> itk::ERROR: CUFFT ERROR #2 >> >> >> >> >> >> Do I need to enable or disable any parameter while reading >> projections to get rid of this error? I >> changed rtk_proj_reader_->Update >> to rtk_proj_reader_->UpdateOutputInformation(); >> >> But I am still getting the error. >> >> The error exists only with CudaFFTRampImageFilter >> and FFTRampImageFilter works fine. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Tue, Jun 14, 2016 at 3:38 PM, Cyril >> Mory > >> wrote: >> >> >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >>> >>> >>> >>> Dear all, >>> >>> >>> >>> When I use rtkramp with cuda option, I am >>> getting following error >>> >>> >>> >>> >>> >>> ExceptionObject caught with >>> streamer->Update() in file >>> D:\programming\cpp\ext_li >>> >>> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >>> line 93 >>> >>> >>> >>> >>> itk::ExceptionObject (000000ADA7DAF220) >>> >>> Location: "unknown" >>> >>> File: >>> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >>> >>> ter.txx >>> >>> Line: 50 >>> >>> Description: itk::ERROR: >>> CudaFFTRampImageFilter(000000ADAA53B490): >>> CudaFFTConvol >>> >>> utionImageFilter assumes that input >>> requested and buffered regions are equal. >>> >>> >>> >>> >>> >>> However, cpu version of ramp filter works >>> fine. >>> >>> >>> >>> >>> Thanks in advance. >>> >>> >>> >>> >>> With regards, >>> >>> Shiras >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >> >> >> >> >> >> >> >> >> > > > > > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amjad.n.cet at gmail.com Thu Jun 16 04:39:46 2016 From: amjad.n.cet at gmail.com (AMJAD N) Date: Thu, 16 Jun 2016 14:09:46 +0530 Subject: [Rtk-users] CUDA compilation error Message-ID: Hi all, I have been trying to create a new filter for flat field image correction. I have implemented the same in normal mode (which works fine.) and was trying to write one in CUDA mode for the past week. I had created 4 files in order to perform the Flat Field image correction filter as i followed the standard in GitHub : RTK Cuda files. which includes : rtkCudaFlatFieldImageFilter.h : is a header file contains the declaration of various functions and data members rtkCudaFlatFieldImageFilter.cxx : contains the body of the function defined in the header file and included the file "rtkCudaFlatFieldImageFilter.hcu" inorder to call wrapper function rtkCudaFlatFieldImageFilter.hcu : contains the function prototype of the wrapper function rtkCudaFlatFieldImageFilter.cu : contains the kernel function and the wrapper function in which the kernel function is called. When building the project I am getting error as Error c2059 syntax error at ' <<<' " in rtkCudaFlatFieldImageFilter.cu at kernel calling statement in Cuda Programming file. *So how should I compile the whole program?* My working environment is Microsoft Windows 7 32bit. Visual Studio 2013 CUDA ToolKit 6.5 GeForce 210 graphics card Thanks and Regards AMJAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Fri Jun 17 04:53:06 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Fri, 17 Jun 2016 10:53:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Dear Cyril, Yes. When I reduced the number of projections, I am not getting this error anymore. My initial projection size which caused the error was 1420x1416x21. It seems that error is due to CUDA memory issues. My GPU is GeForce GTX 670. With regards, Shiras On Wed, Jun 15, 2016 at 11:42 AM, Simon Rit wrote: > Hi, > I recently added the --subsetsize option (see this commit > ). > You can try "--subsetsize 1" instead of using rtksubselect. > Simon > > > On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > > > > Dear Cyril, > > > > Thanks a lot. Now rtkramp.exe works with cuda option. > > I am trying to integrate rtk cuda ramp filter into my recon > program. I read the projections with ProjectionsReader and > pass image pointer to cuda ramp filter pipeline using > > cudaRampFilter->SetInput(projections); > > > > > > I am getting runtime error and it says > > > Error during cuda ramp filtering :: > > > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > > :97: > > itk::ERROR: CUFFT ERROR #2 > > > > > > Do I need to enable or disable any parameter while reading > projections to get rid of this error? I > changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > > But I am still getting the error. > > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > > > > With regards, > > Shiras > > > > > > > > > > > > > > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril > Mory > wrote: > > >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >> >> >> >> Dear all, >> >> >> >> When I use rtkramp with cuda option, I am >> getting following error >> >> >> >> >> >> ExceptionObject caught with >> streamer->Update() in file >> D:\programming\cpp\ext_li >> >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >> line 93 >> >> >> >> >> itk::ExceptionObject (000000ADA7DAF220) >> >> Location: "unknown" >> >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> >> ter.txx >> >> Line: 50 >> >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): >> CudaFFTConvol >> >> utionImageFilter assumes that input >> requested and buffered regions are equal. >> >> >> >> >> >> However, cpu version of ramp filter works >> fine. >> >> >> >> >> Thanks in advance. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users >> >> >> >> >> >> >> > > > > > > > > > > > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Fri Jun 17 05:07:18 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Fri, 17 Jun 2016 11:07:18 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer Message-ID: Hi everyone, I need some help for updating a JSON file for the ConjugateGradientConeBeamReconstructionFilter. I want to test a new implementation I made on this filter to perform a support constraint for the reconstructed image. The constraint consists in a binary mask passed as an attribute. This attribute is a pointer to an image of type TOutputImage. The default value (in the constructor) is NULL. I don't know how to write it in the JSON file to wrap this member : { "name" : "SupportMask", "type" : ?, "default" : ?, "briefdescriptionSet" : "", "detaileddescriptionSet" : "", "briefdescriptionGet" : "", "detaileddescriptionGet" : "" } Does it also need to perform a specific cast with the optional field custom_itk_cast ? I don't really understand how it works. Thanks in advance for your help. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 17 12:46:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 17 Jun 2016 18:46:31 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Fabien, I can't say I master this but I had to do something similar in FieldOfViewImageFilter.json . Look at the "ProjectionsStack" parameter which is actually a 3D image. How did I come up with such a complicated code? No clue, but SimpleITK has similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json . My guess is that passing an image as a parameters in an itk image filter is not so common... I hope this helps, Simon On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey wrote: > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to perform a > support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. This > attribute is a pointer to an image of type TOutputImage. The default value > (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional field > custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Mon Jun 20 03:30:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Mon, 20 Jun 2016 09:30:07 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: <57679B7F.2060000@uclouvain.be> Hi, A question that then comes to my mind : why do you pass the image as parameter ? Passing it as input, you would benefit from the pipeline features, such as making your output outdated when you modify your input binary mask, or loading of only the required part of your binary mask, ... Did you try it, and it didn't work ? I can help you do it this way if you need. Cyril On 06/17/2016 06:46 PM, Simon Rit wrote: > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. > How did I come up with such a complicated code? No clue, but SimpleITK > has similar ugly json files, e.g., > LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image > filter is not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to > perform a support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. > This attribute is a pointer to an image of type TOutputImage. The > default value (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional > field custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 03:59:41 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 09:59:41 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Thanks for your help. It seems to be what I need ! I will try this and tell you if it works. Fabien. 2016-06-17 18:46 GMT+02:00 Simon Rit : > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 04:04:44 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 10:04:44 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: <57679B7F.2060000@uclouvain.be> References: <57679B7F.2060000@uclouvain.be> Message-ID: Hi Cyril, Of course it could be a solution, but as the filter as already 3 inputs, I did not want to add this mask as a fourth one as it seems to me that it is very optional. But I understand that it would be useful for a better memory handling. I did not try your solution and I have to confess that I do not feel sufficiently good in "RTK programming". So I willl try first my solution and we can eventually discuss in the future for a better way for implementing this feature ! Thanks for your response Cyril ! Fabien 2016-06-20 9:30 GMT+02:00 Cyril Mory : > Hi, > > A question that then comes to my mind : why do you pass the image as > parameter ? Passing it as input, you would benefit from the pipeline > features, such as making your output outdated when you modify your input > binary mask, or loading of only the required part of your binary mask, ... > Did you try it, and it didn't work ? I can help you do it this way if you > need. > > Cyril > > > On 06/17/2016 06:46 PM, Simon Rit wrote: > > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Tue Jun 21 03:27:06 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Tue, 21 Jun 2016 09:27:06 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Your solution works fine ! Thanks. I just noticed something to be careful with : the function "CastImageToITK" (in $RTK_HOME/utilities/SimpleRTK/Code/BasicFilters/include/srtkImageFilter.h) does not accept NULL pointer (an error is returned) while the default value set in the JSON file seems to declare a (0,0) image whose pointer is NULL. As a consequence it is mandatory to set an image before executing the filter. So if you plan, as this is in my case, to allow the filter not to do something if no image has been set, it will not work in SimpleRTK with this custom cast. Fabien. 2016-06-20 9:59 GMT+02:00 Fabien Momey : > Hi Simon, > > Thanks for your help. > > It seems to be what I need ! I will try this and tell you if it works. > > Fabien. > > 2016-06-17 18:46 GMT+02:00 Simon Rit : > >> Hi Fabien, >> I can't say I master this but I had to do something similar in >> FieldOfViewImageFilter.json >> . >> Look at the "ProjectionsStack" parameter which is actually a 3D image. How >> did I come up with such a complicated code? No clue, but SimpleITK has >> similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json >> . >> My guess is that passing an image as a parameters in an itk image filter is >> not so common... >> I hope this helps, >> Simon >> >> On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey >> wrote: >> >>> Hi everyone, >>> >>> I need some help for updating a JSON file for the >>> ConjugateGradientConeBeamReconstructionFilter. >>> >>> I want to test a new implementation I made on this filter to perform a >>> support constraint for the reconstructed image. >>> >>> The constraint consists in a binary mask passed as an attribute. This >>> attribute is a pointer to an image of type TOutputImage. The default value >>> (in the constructor) is NULL. >>> >>> I don't know how to write it in the JSON file to wrap this member : >>> >>> { >>> "name" : "SupportMask", >>> "type" : ?, >>> "default" : ?, >>> "briefdescriptionSet" : "", >>> "detaileddescriptionSet" : "", >>> "briefdescriptionGet" : "", >>> "detaileddescriptionGet" : "" >>> } >>> >>> Does it also need to perform a specific cast with the optional field >>> custom_itk_cast ? I don't really understand how it works. >>> >>> Thanks in advance for your help. >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From C.Zoellner at physik.uni-muenchen.de Thu Jun 23 09:48:19 2016 From: C.Zoellner at physik.uni-muenchen.de (=?UTF-8?Q?Christoph_Z=c3=b6llner?=) Date: Thu, 23 Jun 2016 15:48:19 +0200 Subject: [Rtk-users] rtksubselect Message-ID: <576BE8A3.40409@physik.uni-muenchen.de> Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Thu Jun 23 10:22:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 23 Jun 2016 16:22:39 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <576BF0AF.8000507@uclouvain.be> Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Jun 23 10:01:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 23 Jun 2016 16:01:31 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <27bf15f0-4a1a-2b3d-b876-f5989e3bbf9a@creatis.insa-lyon.fr> Hi, On my computer, it works but I had to change your regular expression to '.*.his' instead of '*.his'. It's a good idea to keep the single quotes on the command line to avoid interpretation by the command line interpreter. If this is not the issue, you can try to add the -v option to check the number of projections that is found. Simon On 23/06/2016 15:48, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From ana.vaniqui at maastro.nl Thu Jun 23 10:41:51 2016 From: ana.vaniqui at maastro.nl (Ana Vaniqui) Date: Thu, 23 Jun 2016 14:41:51 +0000 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BF0AF.8000507@uclouvain.be> References: <576BE8A3.40409@physik.uni-muenchen.de>, <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I just want to add that a tutorial on regular expressions for beginners would be very much appreciated.. Kind regards, Ana ________________________________ From: Rtk-users on behalf of Cyril Mory Sent: Thursday, June 23, 2016 4:22:39 PM To: Christoph Z?llner; rtk-users at public.kitware.com Subject: Re: [Rtk-users] rtksubselect Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 24 07:11:40 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 24 Jun 2016 13:11:40 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: References: <576BE8A3.40409@physik.uni-muenchen.de> <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I don't have a tutorial for you but you can start by reading the ITK doc: https://itk.org/Doxygen/html/classitk_1_1RegularExpressionSeriesFileNames.html There are tons of tutorials on the web (and I don't know a specifically good one), the important part to remember is that there are several formats for regular expressions and ITK uses one of them. Note that you don't have to use them in most cases. For example, Christoph could have use "-r his" to match all filenames containing "his". Simon On Thu, Jun 23, 2016 at 4:41 PM, Ana Vaniqui wrote: > Hi, > > > I just want to add that a tutorial on regular expressions for beginners > would be very much appreciated.. > > > Kind regards, > > Ana > > > ------------------------------ > *From:* Rtk-users on behalf of > Cyril Mory > *Sent:* Thursday, June 23, 2016 4:22:39 PM > *To:* Christoph Z?llner; rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] rtksubselect > > Hi Christoph, > > The error lies in the regular expression: replace the "*.his" with > ".*.his" and it should work. > > By the way: does anyone know have a tutorial on regular expressions for > beginners to recommend ? > > Cyril > > On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the largest > possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Mon Jun 27 17:56:22 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Mon, 27 Jun 2016 14:56:22 -0700 Subject: [Rtk-users] Realistic Image Quality? Message-ID: Hi Simon, I am using RTK to simulate CT acquisitions using different detector sizes to see how this impact on image quality might change some of our in-house metrics. The images I have linked to below have been created using rtkforwardprojections with different projection spacings (0.3 isometric and 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection stepsize is equal to the projection spacing. The window levels between images of their respective rows are the same. I am simply wondering if the differences between these images are realistic. I would expect the image with a detector size than is more than twice as large as the original would be drastically different when in fact they turn out to be incredibly similar. Are the assumptions made about projection spacing == cuda stepsize == simulated hardware detector size incorrect? https://gyazo.com/e86436826f687a2db4b234699d050450 https://gyazo.com/ca9612218f082e78ba3082950a27fa4c Solomon -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Tue Jun 28 03:14:49 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Tue, 28 Jun 2016 09:14:49 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: What is the magnification factor of your geometry? 2016-06-27 23:56 GMT+02:00 Solomon Tang : > Hi Simon, > > I am using RTK to simulate CT acquisitions using different detector sizes > to see how this impact on image quality might change some of our in-house > metrics. > > The images I have linked to below have been created using > rtkforwardprojections with different projection spacings (0.3 isometric and > 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and > image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection > stepsize is equal to the projection spacing. The window levels between > images of their respective rows are the same. > > I am simply wondering if the differences between these images are > realistic. I would expect the image with a detector size than is more than > twice as large as the original would be drastically different when in fact > they turn out to be incredibly similar. Are the assumptions made about > projection spacing == cuda stepsize == simulated hardware detector size > incorrect? > > > https://gyazo.com/e86436826f687a2db4b234699d050450 > > https://gyazo.com/ca9612218f082e78ba3082950a27fa4c > > Solomon > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Jun 28 04:34:07 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 28 Jun 2016 10:34:07 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, I don't expect a drastic change, only a slight loss of spatial resolution if the ray distance at the isocenter (I agree with Chao that it plays an important role) is larger than the original voxel size. Maybe it's there but you would need to zoom more to see it. You would see a more realistic difference if you were adding photon noise to your data. Simon On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > What is the magnification factor of your geometry? > > 2016-06-27 23:56 GMT+02:00 Solomon Tang : > >> Hi Simon, >> >> I am using RTK to simulate CT acquisitions using different detector sizes >> to see how this impact on image quality might change some of our in-house >> metrics. >> >> The images I have linked to below have been created using >> rtkforwardprojections with different projection spacings (0.3 isometric and >> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >> stepsize is equal to the projection spacing. The window levels between >> images of their respective rows are the same. >> >> I am simply wondering if the differences between these images are >> realistic. I would expect the image with a detector size than is more than >> twice as large as the original would be drastically different when in fact >> they turn out to be incredibly similar. Are the assumptions made about >> projection spacing == cuda stepsize == simulated hardware detector size >> incorrect? >> >> >> https://gyazo.com/e86436826f687a2db4b234699d050450 >> >> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >> >> Solomon >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Tue Jun 28 18:09:15 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 28 Jun 2016 15:09:15 -0700 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Thanks for the feedback Chao and Simon, My geometry was using default RTK sdd/sid settings. I have now changed it to match the DICOM header from the original images (1085.6 SDD, 595 SID), but not much has qualitatively changed. How do you suggest adding photon noise? I have discovered an itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling level. I'm assuming the reconstructed image should be passed through the filter, and not the projection. On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit wrote: > Hi, > I don't expect a drastic change, only a slight loss of spatial resolution > if the ray distance at the isocenter (I agree with Chao that it plays an > important role) is larger than the original voxel size. Maybe it's there > but you would need to zoom more to see it. > You would see a more realistic difference if you were adding photon noise > to your data. > Simon > > On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > >> What is the magnification factor of your geometry? >> >> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >> >>> Hi Simon, >>> >>> I am using RTK to simulate CT acquisitions using different detector >>> sizes to see how this impact on image quality might change some of our >>> in-house metrics. >>> >>> The images I have linked to below have been created using >>> rtkforwardprojections with different projection spacings (0.3 isometric and >>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>> stepsize is equal to the projection spacing. The window levels between >>> images of their respective rows are the same. >>> >>> I am simply wondering if the differences between these images are >>> realistic. I would expect the image with a detector size than is more than >>> twice as large as the original would be drastically different when in fact >>> they turn out to be incredibly similar. Are the assumptions made about >>> projection spacing == cuda stepsize == simulated hardware detector size >>> incorrect? >>> >>> >>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>> >>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>> >>> Solomon >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 29 01:28:21 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 29 Jun 2016 07:28:21 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, Attached is the python script using SimpleRTK that I have used to do the simulation of figure 6 of this publication . The paragraph where I describe what I'm doing starts with "The same simulations were repeated with Poisson noise". The interesting part of the script for you is line 158 where if I'm given a number of photons I0, I add Poisson noise. Simon On Wed, Jun 29, 2016 at 12:09 AM, Solomon Tang wrote: > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: offsetRecon2.py Type: text/x-python Size: 6981 bytes Desc: not available URL: From cyril.mory at uclouvain.be Wed Jun 29 04:51:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 29 Jun 2016 10:51:39 +0200 Subject: [Rtk-users] Replacement for TV with lower peak memory usage In-Reply-To: References: Message-ID: <57738C1B.9050206@uclouvain.be> Hi Louie, Please ask the mailing list, or at least CC it, when your question may be of interest to other RTK users. Indeed, I recommend to use rtkregularizedconjugategradient instead of ADMM_TV or ADMM_wavelets. You can activate TV regularization, wavelets regularization, or both, and it will be simpler to tune than ADMM. If you run into trouble, ask on the mailing list :) Cheers, Cyril On 06/29/2016 10:45 AM, Liu Yu wrote: > Hi Cyril, > > You said you don't recommend using the ADMM_TV method due to the > speed. Which was the alternative you suggested during the training? Is > it Regularized CG? > > Cheers, > Louie > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Wed Jun 29 04:53:28 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Wed, 29 Jun 2016 10:53:28 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi Solomon, The magnification is about 1.8. Given that the voxel spacing of your volume is 0.4688x0.4688x0.6, the corresponding projection spacing is roughly 0.84x1.08. Therefore 0.3 or 0.75 pixel spacing of your detector would not give much difference. There were just interpolation instead of real additional information that were introduced by 0.3 spacing. If you do have small structures in your object and you use a much finer grid for your volume in the simulation, I would expect to see more difference then. Regards, Chao 2016-06-29 0:09 GMT+02:00 Solomon Tang : > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 1 03:34:20 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:34:20 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> Message-ID: <574E8FFC.3010903@uclouvain.be> Hi Guillaume, Can you also tell how many iterations you have performed (main loop, conjugate gradient, and TV) ? If you are performing 30 iterations of the main loop, with 4 CG iterations, then considering the size of your data I do not think anything is wrong. Reconstructing a smaller volume will give you a large speedup (time is almost linear with number of voxels), so I would recommend that you try again with the smallest possible volume, i.e. the bounding box of your patient. Are you running the release 1.2.0 version ? If so, note that on the master branch of the git repository, I am adding optimizations for the 4D reconstructions. It is not fully functional at the moment, but I'm currently working 100% of my time on it. I will let you know about the next updates. Regards, Cyril On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: > > Hi Simon, > > Thanks for mailing list suggestion. My initial question was about > typical reconstruction times for rtkfourdrooster. What I tried is > summarized below: > > -Volume size was 410 410 264 and could be easily reduced by a good > margin. > > -The GPU is quadro M4000 with 8GB > > -about 2300 256x256 projections with shifted elekta panel (so called M20) > > -10 phases > > -for the motion mask at the moment I just used the FOV mask for first > try. > > --gamma_time 0.0001 > --gamma_space 0.0001 > - spacing 1 1 1 > --niter 30 > --cgiter 4 > --tviter 10 > > > Recon time was about 5-6 hours. I saw about 4 Gb used on the card. > > The image looked nice, albeit with the TV "feel/plastic-y". > > Thanks for your feedback > Guillaume > > > > > Quoting Simon Rit : > >> Hi Guillaume, >> I'm adding RTK user list to this conversation, it's better to have >> these conversations on the mailing list IMO. Can you tell us what's >> the volume size and the GPU? >> Cyril is ROOSTER's dev, maybe he could comment on recon times. >> Simon >> >> On Tue, May 31, 2016 at 5:29 PM, >> wrote: >>> Hi Simon, >>> >>> I tried the rooster recon. I used the parameters from the example >>> page. The results looks rather nice but it took several hours to run >>> (5-6). Its a big dataset of about 2000 256x256 projections. >>> >>> Guillaume From g.landry at physik.uni-muenchen.de Wed Jun 1 03:39:47 2016 From: g.landry at physik.uni-muenchen.de (Guillaume Landry) Date: Wed, 1 Jun 2016 09:39:47 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E8FFC.3010903@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> Message-ID: <574E9143.8080002@physik.uni-muenchen.de> Good morning Cyril, Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG and 10 for TV (taken from example). Possibly I could reduce the number of TV iterations? Looking forward to your optimizations. Cheers Guillaume Dr. Guillaume Landry Ludwig Maximilians University (LMU) Munich Medical Physics Am Coulombwall 1 85748 Garching Tel:+49 (0) 89 289-14077 Fax:+49 (0) 89 289-14072 On 06/01/2016 09:34 AM, Cyril Mory wrote: > Hi Guillaume, > > Can you also tell how many iterations you have performed (main loop, > conjugate gradient, and TV) ? > If you are performing 30 iterations of the main loop, with 4 CG > iterations, then considering the size of your data I do not think > anything is wrong. Reconstructing a smaller volume will give you a > large speedup (time is almost linear with number of voxels), so I > would recommend that you try again with the smallest possible volume, > i.e. the bounding box of your patient. > > Are you running the release 1.2.0 version ? If so, note that on the > master branch of the git repository, I am adding optimizations for the > 4D reconstructions. It is not fully functional at the moment, but I'm > currently working 100% of my time on it. I will let you know about the > next updates. > > Regards, > Cyril > > On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >> >> Hi Simon, >> >> Thanks for mailing list suggestion. My initial question was about >> typical reconstruction times for rtkfourdrooster. What I tried is >> summarized below: >> >> -Volume size was 410 410 264 and could be easily reduced by a good >> margin. >> >> -The GPU is quadro M4000 with 8GB >> >> -about 2300 256x256 projections with shifted elekta panel (so called >> M20) >> >> -10 phases >> >> -for the motion mask at the moment I just used the FOV mask for first >> try. >> >> --gamma_time 0.0001 >> --gamma_space 0.0001 >> - spacing 1 1 1 >> --niter 30 >> --cgiter 4 >> --tviter 10 >> >> >> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >> >> The image looked nice, albeit with the TV "feel/plastic-y". >> >> Thanks for your feedback >> Guillaume >> >> >> >> >> Quoting Simon Rit : >> >>> Hi Guillaume, >>> I'm adding RTK user list to this conversation, it's better to have >>> these conversations on the mailing list IMO. Can you tell us what's >>> the volume size and the GPU? >>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>> Simon >>> >>> On Tue, May 31, 2016 at 5:29 PM, >>> wrote: >>>> Hi Simon, >>>> >>>> I tried the rooster recon. I used the parameters from the example >>>> page. The results looks rather nice but it took several hours to >>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>> >>>> Guillaume > From cyril.mory at uclouvain.be Wed Jun 1 03:44:13 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:44:13 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E9143.8080002@physik.uni-muenchen.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> Message-ID: <574E924D.30403@uclouvain.be> The bottleneck is the 4D conjugate gradient, and by far. You can also try to reduce the number of main loop iterations (10 should already give a nice result, but you may need more for your application). That, plus reducing the size of your reconstructed volume, plus the optimizations I'm working on, should give you a reconstruction time of less than one hour. On 06/01/2016 09:39 AM, Guillaume Landry wrote: > Good morning Cyril, > > Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG > and 10 for TV (taken from example). Possibly I could reduce the number > of TV iterations? > > Looking forward to your optimizations. > > Cheers > Guillaume > > Dr. Guillaume Landry > Ludwig Maximilians University (LMU) Munich > Medical Physics > Am Coulombwall 1 > 85748 Garching > Tel:+49 (0) 89 289-14077 > Fax:+49 (0) 89 289-14072 > > On 06/01/2016 09:34 AM, Cyril Mory wrote: >> Hi Guillaume, >> >> Can you also tell how many iterations you have performed (main loop, >> conjugate gradient, and TV) ? >> If you are performing 30 iterations of the main loop, with 4 CG >> iterations, then considering the size of your data I do not think >> anything is wrong. Reconstructing a smaller volume will give you a >> large speedup (time is almost linear with number of voxels), so I >> would recommend that you try again with the smallest possible volume, >> i.e. the bounding box of your patient. >> >> Are you running the release 1.2.0 version ? If so, note that on the >> master branch of the git repository, I am adding optimizations for the >> 4D reconstructions. It is not fully functional at the moment, but I'm >> currently working 100% of my time on it. I will let you know about the >> next updates. >> >> Regards, >> Cyril >> >> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>> Hi Simon, >>> >>> Thanks for mailing list suggestion. My initial question was about >>> typical reconstruction times for rtkfourdrooster. What I tried is >>> summarized below: >>> >>> -Volume size was 410 410 264 and could be easily reduced by a good >>> margin. >>> >>> -The GPU is quadro M4000 with 8GB >>> >>> -about 2300 256x256 projections with shifted elekta panel (so called >>> M20) >>> >>> -10 phases >>> >>> -for the motion mask at the moment I just used the FOV mask for first >>> try. >>> >>> --gamma_time 0.0001 >>> --gamma_space 0.0001 >>> - spacing 1 1 1 >>> --niter 30 >>> --cgiter 4 >>> --tviter 10 >>> >>> >>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>> >>> The image looked nice, albeit with the TV "feel/plastic-y". >>> >>> Thanks for your feedback >>> Guillaume >>> >>> >>> >>> >>> Quoting Simon Rit : >>> >>>> Hi Guillaume, >>>> I'm adding RTK user list to this conversation, it's better to have >>>> these conversations on the mailing list IMO. Can you tell us what's >>>> the volume size and the GPU? >>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>> Simon >>>> >>>> On Tue, May 31, 2016 at 5:29 PM, >>>> wrote: >>>>> Hi Simon, >>>>> >>>>> I tried the rooster recon. I used the parameters from the example >>>>> page. The results looks rather nice but it took several hours to >>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>> >>>>> Guillaume From cyril.mory at uclouvain.be Thu Jun 2 07:58:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 2 Jun 2016 13:58:07 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E924D.30403@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> <574E924D.30403@uclouvain.be> Message-ID: <57501F4F.8050006@uclouvain.be> Hi Guillaume, Just wanted to let you know : if you perform a 4D CT for the planning, and use motion estimation on that 4D CT (thus getting either one 4D displacement vector field, or two inverse-consistent 4D DVFs), you can use this/these DVF(s) in ROOSTER. It should bring you a significant improvement of image quality, and on my datasets I was able to reduce the number of iterations of the main loop to 10 without problems. We can discuss this further if you are interested. Cyril On 06/01/2016 09:44 AM, Cyril Mory wrote: > The bottleneck is the 4D conjugate gradient, and by far. You can also > try to reduce the number of main loop iterations (10 should already > give a nice result, but you may need more for your application). > That, plus reducing the size of your reconstructed volume, plus the > optimizations I'm working on, should give you a reconstruction time of > less than one hour. > > On 06/01/2016 09:39 AM, Guillaume Landry wrote: >> Good morning Cyril, >> >> Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG >> and 10 for TV (taken from example). Possibly I could reduce the number >> of TV iterations? >> >> Looking forward to your optimizations. >> >> Cheers >> Guillaume >> >> Dr. Guillaume Landry >> Ludwig Maximilians University (LMU) Munich >> Medical Physics >> Am Coulombwall 1 >> 85748 Garching >> Tel:+49 (0) 89 289-14077 >> Fax:+49 (0) 89 289-14072 >> >> On 06/01/2016 09:34 AM, Cyril Mory wrote: >>> Hi Guillaume, >>> >>> Can you also tell how many iterations you have performed (main loop, >>> conjugate gradient, and TV) ? >>> If you are performing 30 iterations of the main loop, with 4 CG >>> iterations, then considering the size of your data I do not think >>> anything is wrong. Reconstructing a smaller volume will give you a >>> large speedup (time is almost linear with number of voxels), so I >>> would recommend that you try again with the smallest possible volume, >>> i.e. the bounding box of your patient. >>> >>> Are you running the release 1.2.0 version ? If so, note that on the >>> master branch of the git repository, I am adding optimizations for the >>> 4D reconstructions. It is not fully functional at the moment, but I'm >>> currently working 100% of my time on it. I will let you know about the >>> next updates. >>> >>> Regards, >>> Cyril >>> >>> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>>> Hi Simon, >>>> >>>> Thanks for mailing list suggestion. My initial question was about >>>> typical reconstruction times for rtkfourdrooster. What I tried is >>>> summarized below: >>>> >>>> -Volume size was 410 410 264 and could be easily reduced by a good >>>> margin. >>>> >>>> -The GPU is quadro M4000 with 8GB >>>> >>>> -about 2300 256x256 projections with shifted elekta panel (so called >>>> M20) >>>> >>>> -10 phases >>>> >>>> -for the motion mask at the moment I just used the FOV mask for first >>>> try. >>>> >>>> --gamma_time 0.0001 >>>> --gamma_space 0.0001 >>>> - spacing 1 1 1 >>>> --niter 30 >>>> --cgiter 4 >>>> --tviter 10 >>>> >>>> >>>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>>> >>>> The image looked nice, albeit with the TV "feel/plastic-y". >>>> >>>> Thanks for your feedback >>>> Guillaume >>>> >>>> >>>> >>>> >>>> Quoting Simon Rit : >>>> >>>>> Hi Guillaume, >>>>> I'm adding RTK user list to this conversation, it's better to have >>>>> these conversations on the mailing list IMO. Can you tell us what's >>>>> the volume size and the GPU? >>>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>>> Simon >>>>> >>>>> On Tue, May 31, 2016 at 5:29 PM, >>>>> wrote: >>>>>> Hi Simon, >>>>>> >>>>>> I tried the rooster recon. I used the parameters from the example >>>>>> page. The results looks rather nice but it took several hours to >>>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>>> >>>>>> Guillaume > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users From solomoncztang at gmail.com Tue Jun 7 18:27:35 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 7 Jun 2016 15:27:35 -0700 Subject: [Rtk-users] Cmake build error help In-Reply-To: <573171C8.80400@creatis.insa-lyon.fr> References: <573171C8.80400@creatis.insa-lyon.fr> Message-ID: My apologies for the delay, I updated GetGitRevision and it got past the initial issue. Unfortunately, the final build still failed with cuda enabled because NVCC 7.5 does not support Visual Studio 2015. On Mon, May 9, 2016 at 10:29 PM, Simon Rit wrote: > Hi, > Can you update GetGitRevisionDescription.cmake and > GetGitRevisionDescription.cmake.in from > https://github.com/rpavlik/cmake-modules and see if the new versions fix > this issue? > Thanks, > Simon > > PS: plead keep using the mailing list > > > On 10/05/2016 03:09, Solomon Tang wrote: > > Hi Simon, > > I am rebuilding RTK after moving to Visual Studio 2015 with cmake 3.5.2 > and am running into the following error: > > CMake Error at build/applications/CMakeFiles/git-data/grabRef.cmake:36 > (file): > file failed to open for reading (No such file or directory): > > > C:/Work/Tools/Current/RTK-1.2.0/build/applications/CMakeFiles/git-data/head-ref > Call Stack (most recent call first): > cmake/GetGitRevisionDescription.cmake:77 (include) > applications/CMakeLists.txt:5 (get_git_head_revision) > > I am using ITK 4.9.0 and fresh download of RTK 1.2.0. > > How do I resolve this issue? > > Thanks again, > > Solomon > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Tue Jun 14 09:12:34 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Tue, 14 Jun 2016 15:12:34 +0200 Subject: [Rtk-users] CUDA Ramp filter Message-ID: Dear all, When I use rtkramp with cuda option, I am getting following error ExceptionObject caught with streamer->Update() in file D:\programming\cpp\ext_li bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 itk::ExceptionObject (000000ADA7DAF220) Location: "unknown" File: d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil ter.txx Line: 50 Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol utionImageFilter assumes that input requested and buffered regions are equal. However, cpu version of ramp filter works fine. Thanks in advance. With regards, Shiras -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Tue Jun 14 09:38:06 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Tue, 14 Jun 2016 15:38:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: Message-ID: <576008BE.1060506@uclouvain.be> Hi Shiras, We found that bug recently with Sebastien Brousmiche and fixed it, at least for the use case we were considering. Can you try with the git master version of RTK ? Alternatively, you can replace reader->Update() with reader->UpdateOutputInformation() in line 61 of rtkramp.cxx and see if it fixes the problem. Regards, Cyril On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Wed Jun 15 04:50:17 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Wed, 15 Jun 2016 10:50:17 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <576008BE.1060506@uclouvain.be> References: <576008BE.1060506@uclouvain.be> Message-ID: Dear Cyril, Thanks a lot. Now rtkramp.exe works with cuda option. I am trying to integrate rtk cuda ramp filter into my recon program. I read the projections with ProjectionsReader and pass image pointer to cuda ramp filter pipeline using cudaRampFilter->SetInput(projections); I am getting runtime error and it says Error during cuda ramp filtering :: D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu :97: itk::ERROR: CUFFT ERROR #2 Do I need to enable or disable any parameter while reading projections to get rid of this error? I changed rtk_proj_reader_->Update to rtk_proj_reader_->UpdateOutputInformation(); But I am still getting the error. The error exists only with CudaFFTRampImageFilter and FFTRampImageFilter works fine. With regards, Shiras On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory wrote: > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, at > least for the use case we were considering. Can you try with the git master > version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 15 05:02:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 15 Jun 2016 11:02:07 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> Message-ID: <5761198F.7060504@uclouvain.be> Hi Shiras, Another user had the same error some years ago : http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html It seemed to be a GPU memory size issue. Can you tell what GPU you use, are what are the size and number of your projections ? Can you try with a single projection (you can use the "rtksubselect" application to create such a dataset out of yours) ? Best regards, Cyril On 06/15/2016 10:50 AM, Shiras Abdurahman wrote: > Dear Cyril, > > Thanks a lot. Now rtkramp.exe works with cuda option. > I am trying to integrate rtk cuda ramp filter into my recon program. I > read the projections with ProjectionsReader and pass image pointer to > cuda ramp filter pipeline using > cudaRampFilter->SetInput(projections); > > I am getting runtime error and it says > Error during cuda ramp filtering :: > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > :97: > itk::ERROR: CUFFT ERROR #2 > > Do I need to enable or disable any parameter while reading projections > to get rid of this error? I changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > But I am still getting the error. > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > With regards, > Shiras > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory > wrote: > > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, > at least for the use case we were considering. Can you try with > the git master version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> Dear all, >> >> When I use rtkramp with cuda option, I am getting following error >> >> ExceptionObject caught with streamer->Update() in file >> D:\programming\cpp\ext_li >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 >> >> itk::ExceptionObject (000000ADA7DAF220) >> Location: "unknown" >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> ter.txx >> Line: 50 >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol >> utionImageFilter assumes that input requested and buffered >> regions are equal. >> >> However, cpu version of ramp filter works fine. >> >> Thanks in advance. >> >> With regards, >> Shiras >> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 15 05:42:16 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 15 Jun 2016 11:42:16 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <5761198F.7060504@uclouvain.be> References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Hi, I recently added the --subsetsize option (see this commit ). You can try "--subsetsize 1" instead of using rtksubselect. Simon On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > >> >> >> Dear Cyril, >> >> >> >> Thanks a lot. Now rtkramp.exe works with cuda option. >> >> I am trying to integrate rtk cuda ramp filter into my recon >> program. I read the projections with ProjectionsReader and >> pass image pointer to cuda ramp filter pipeline using >> >> cudaRampFilter->SetInput(projections); >> >> >> >> >> >> I am getting runtime error and it says >> >> >> Error during cuda ramp filtering :: >> >> D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu >> >> :97: >> >> itk::ERROR: CUFFT ERROR #2 >> >> >> >> >> >> Do I need to enable or disable any parameter while reading >> projections to get rid of this error? I >> changed rtk_proj_reader_->Update >> to rtk_proj_reader_->UpdateOutputInformation(); >> >> But I am still getting the error. >> >> The error exists only with CudaFFTRampImageFilter >> and FFTRampImageFilter works fine. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Tue, Jun 14, 2016 at 3:38 PM, Cyril >> Mory > >> wrote: >> >> >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >>> >>> >>> >>> Dear all, >>> >>> >>> >>> When I use rtkramp with cuda option, I am >>> getting following error >>> >>> >>> >>> >>> >>> ExceptionObject caught with >>> streamer->Update() in file >>> D:\programming\cpp\ext_li >>> >>> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >>> line 93 >>> >>> >>> >>> >>> itk::ExceptionObject (000000ADA7DAF220) >>> >>> Location: "unknown" >>> >>> File: >>> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >>> >>> ter.txx >>> >>> Line: 50 >>> >>> Description: itk::ERROR: >>> CudaFFTRampImageFilter(000000ADAA53B490): >>> CudaFFTConvol >>> >>> utionImageFilter assumes that input >>> requested and buffered regions are equal. >>> >>> >>> >>> >>> >>> However, cpu version of ramp filter works >>> fine. >>> >>> >>> >>> >>> Thanks in advance. >>> >>> >>> >>> >>> With regards, >>> >>> Shiras >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >> >> >> >> >> >> >> >> >> > > > > > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amjad.n.cet at gmail.com Thu Jun 16 04:39:46 2016 From: amjad.n.cet at gmail.com (AMJAD N) Date: Thu, 16 Jun 2016 14:09:46 +0530 Subject: [Rtk-users] CUDA compilation error Message-ID: Hi all, I have been trying to create a new filter for flat field image correction. I have implemented the same in normal mode (which works fine.) and was trying to write one in CUDA mode for the past week. I had created 4 files in order to perform the Flat Field image correction filter as i followed the standard in GitHub : RTK Cuda files. which includes : rtkCudaFlatFieldImageFilter.h : is a header file contains the declaration of various functions and data members rtkCudaFlatFieldImageFilter.cxx : contains the body of the function defined in the header file and included the file "rtkCudaFlatFieldImageFilter.hcu" inorder to call wrapper function rtkCudaFlatFieldImageFilter.hcu : contains the function prototype of the wrapper function rtkCudaFlatFieldImageFilter.cu : contains the kernel function and the wrapper function in which the kernel function is called. When building the project I am getting error as Error c2059 syntax error at ' <<<' " in rtkCudaFlatFieldImageFilter.cu at kernel calling statement in Cuda Programming file. *So how should I compile the whole program?* My working environment is Microsoft Windows 7 32bit. Visual Studio 2013 CUDA ToolKit 6.5 GeForce 210 graphics card Thanks and Regards AMJAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Fri Jun 17 04:53:06 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Fri, 17 Jun 2016 10:53:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Dear Cyril, Yes. When I reduced the number of projections, I am not getting this error anymore. My initial projection size which caused the error was 1420x1416x21. It seems that error is due to CUDA memory issues. My GPU is GeForce GTX 670. With regards, Shiras On Wed, Jun 15, 2016 at 11:42 AM, Simon Rit wrote: > Hi, > I recently added the --subsetsize option (see this commit > ). > You can try "--subsetsize 1" instead of using rtksubselect. > Simon > > > On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > > > > Dear Cyril, > > > > Thanks a lot. Now rtkramp.exe works with cuda option. > > I am trying to integrate rtk cuda ramp filter into my recon > program. I read the projections with ProjectionsReader and > pass image pointer to cuda ramp filter pipeline using > > cudaRampFilter->SetInput(projections); > > > > > > I am getting runtime error and it says > > > Error during cuda ramp filtering :: > > > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > > :97: > > itk::ERROR: CUFFT ERROR #2 > > > > > > Do I need to enable or disable any parameter while reading > projections to get rid of this error? I > changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > > But I am still getting the error. > > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > > > > With regards, > > Shiras > > > > > > > > > > > > > > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril > Mory > wrote: > > >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >> >> >> >> Dear all, >> >> >> >> When I use rtkramp with cuda option, I am >> getting following error >> >> >> >> >> >> ExceptionObject caught with >> streamer->Update() in file >> D:\programming\cpp\ext_li >> >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >> line 93 >> >> >> >> >> itk::ExceptionObject (000000ADA7DAF220) >> >> Location: "unknown" >> >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> >> ter.txx >> >> Line: 50 >> >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): >> CudaFFTConvol >> >> utionImageFilter assumes that input >> requested and buffered regions are equal. >> >> >> >> >> >> However, cpu version of ramp filter works >> fine. >> >> >> >> >> Thanks in advance. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users >> >> >> >> >> >> >> > > > > > > > > > > > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Fri Jun 17 05:07:18 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Fri, 17 Jun 2016 11:07:18 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer Message-ID: Hi everyone, I need some help for updating a JSON file for the ConjugateGradientConeBeamReconstructionFilter. I want to test a new implementation I made on this filter to perform a support constraint for the reconstructed image. The constraint consists in a binary mask passed as an attribute. This attribute is a pointer to an image of type TOutputImage. The default value (in the constructor) is NULL. I don't know how to write it in the JSON file to wrap this member : { "name" : "SupportMask", "type" : ?, "default" : ?, "briefdescriptionSet" : "", "detaileddescriptionSet" : "", "briefdescriptionGet" : "", "detaileddescriptionGet" : "" } Does it also need to perform a specific cast with the optional field custom_itk_cast ? I don't really understand how it works. Thanks in advance for your help. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 17 12:46:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 17 Jun 2016 18:46:31 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Fabien, I can't say I master this but I had to do something similar in FieldOfViewImageFilter.json . Look at the "ProjectionsStack" parameter which is actually a 3D image. How did I come up with such a complicated code? No clue, but SimpleITK has similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json . My guess is that passing an image as a parameters in an itk image filter is not so common... I hope this helps, Simon On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey wrote: > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to perform a > support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. This > attribute is a pointer to an image of type TOutputImage. The default value > (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional field > custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Mon Jun 20 03:30:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Mon, 20 Jun 2016 09:30:07 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: <57679B7F.2060000@uclouvain.be> Hi, A question that then comes to my mind : why do you pass the image as parameter ? Passing it as input, you would benefit from the pipeline features, such as making your output outdated when you modify your input binary mask, or loading of only the required part of your binary mask, ... Did you try it, and it didn't work ? I can help you do it this way if you need. Cyril On 06/17/2016 06:46 PM, Simon Rit wrote: > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. > How did I come up with such a complicated code? No clue, but SimpleITK > has similar ugly json files, e.g., > LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image > filter is not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to > perform a support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. > This attribute is a pointer to an image of type TOutputImage. The > default value (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional > field custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 03:59:41 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 09:59:41 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Thanks for your help. It seems to be what I need ! I will try this and tell you if it works. Fabien. 2016-06-17 18:46 GMT+02:00 Simon Rit : > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 04:04:44 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 10:04:44 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: <57679B7F.2060000@uclouvain.be> References: <57679B7F.2060000@uclouvain.be> Message-ID: Hi Cyril, Of course it could be a solution, but as the filter as already 3 inputs, I did not want to add this mask as a fourth one as it seems to me that it is very optional. But I understand that it would be useful for a better memory handling. I did not try your solution and I have to confess that I do not feel sufficiently good in "RTK programming". So I willl try first my solution and we can eventually discuss in the future for a better way for implementing this feature ! Thanks for your response Cyril ! Fabien 2016-06-20 9:30 GMT+02:00 Cyril Mory : > Hi, > > A question that then comes to my mind : why do you pass the image as > parameter ? Passing it as input, you would benefit from the pipeline > features, such as making your output outdated when you modify your input > binary mask, or loading of only the required part of your binary mask, ... > Did you try it, and it didn't work ? I can help you do it this way if you > need. > > Cyril > > > On 06/17/2016 06:46 PM, Simon Rit wrote: > > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Tue Jun 21 03:27:06 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Tue, 21 Jun 2016 09:27:06 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Your solution works fine ! Thanks. I just noticed something to be careful with : the function "CastImageToITK" (in $RTK_HOME/utilities/SimpleRTK/Code/BasicFilters/include/srtkImageFilter.h) does not accept NULL pointer (an error is returned) while the default value set in the JSON file seems to declare a (0,0) image whose pointer is NULL. As a consequence it is mandatory to set an image before executing the filter. So if you plan, as this is in my case, to allow the filter not to do something if no image has been set, it will not work in SimpleRTK with this custom cast. Fabien. 2016-06-20 9:59 GMT+02:00 Fabien Momey : > Hi Simon, > > Thanks for your help. > > It seems to be what I need ! I will try this and tell you if it works. > > Fabien. > > 2016-06-17 18:46 GMT+02:00 Simon Rit : > >> Hi Fabien, >> I can't say I master this but I had to do something similar in >> FieldOfViewImageFilter.json >> . >> Look at the "ProjectionsStack" parameter which is actually a 3D image. How >> did I come up with such a complicated code? No clue, but SimpleITK has >> similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json >> . >> My guess is that passing an image as a parameters in an itk image filter is >> not so common... >> I hope this helps, >> Simon >> >> On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey >> wrote: >> >>> Hi everyone, >>> >>> I need some help for updating a JSON file for the >>> ConjugateGradientConeBeamReconstructionFilter. >>> >>> I want to test a new implementation I made on this filter to perform a >>> support constraint for the reconstructed image. >>> >>> The constraint consists in a binary mask passed as an attribute. This >>> attribute is a pointer to an image of type TOutputImage. The default value >>> (in the constructor) is NULL. >>> >>> I don't know how to write it in the JSON file to wrap this member : >>> >>> { >>> "name" : "SupportMask", >>> "type" : ?, >>> "default" : ?, >>> "briefdescriptionSet" : "", >>> "detaileddescriptionSet" : "", >>> "briefdescriptionGet" : "", >>> "detaileddescriptionGet" : "" >>> } >>> >>> Does it also need to perform a specific cast with the optional field >>> custom_itk_cast ? I don't really understand how it works. >>> >>> Thanks in advance for your help. >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From C.Zoellner at physik.uni-muenchen.de Thu Jun 23 09:48:19 2016 From: C.Zoellner at physik.uni-muenchen.de (=?UTF-8?Q?Christoph_Z=c3=b6llner?=) Date: Thu, 23 Jun 2016 15:48:19 +0200 Subject: [Rtk-users] rtksubselect Message-ID: <576BE8A3.40409@physik.uni-muenchen.de> Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Thu Jun 23 10:22:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 23 Jun 2016 16:22:39 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <576BF0AF.8000507@uclouvain.be> Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Jun 23 10:01:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 23 Jun 2016 16:01:31 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <27bf15f0-4a1a-2b3d-b876-f5989e3bbf9a@creatis.insa-lyon.fr> Hi, On my computer, it works but I had to change your regular expression to '.*.his' instead of '*.his'. It's a good idea to keep the single quotes on the command line to avoid interpretation by the command line interpreter. If this is not the issue, you can try to add the -v option to check the number of projections that is found. Simon On 23/06/2016 15:48, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From ana.vaniqui at maastro.nl Thu Jun 23 10:41:51 2016 From: ana.vaniqui at maastro.nl (Ana Vaniqui) Date: Thu, 23 Jun 2016 14:41:51 +0000 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BF0AF.8000507@uclouvain.be> References: <576BE8A3.40409@physik.uni-muenchen.de>, <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I just want to add that a tutorial on regular expressions for beginners would be very much appreciated.. Kind regards, Ana ________________________________ From: Rtk-users on behalf of Cyril Mory Sent: Thursday, June 23, 2016 4:22:39 PM To: Christoph Z?llner; rtk-users at public.kitware.com Subject: Re: [Rtk-users] rtksubselect Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 24 07:11:40 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 24 Jun 2016 13:11:40 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: References: <576BE8A3.40409@physik.uni-muenchen.de> <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I don't have a tutorial for you but you can start by reading the ITK doc: https://itk.org/Doxygen/html/classitk_1_1RegularExpressionSeriesFileNames.html There are tons of tutorials on the web (and I don't know a specifically good one), the important part to remember is that there are several formats for regular expressions and ITK uses one of them. Note that you don't have to use them in most cases. For example, Christoph could have use "-r his" to match all filenames containing "his". Simon On Thu, Jun 23, 2016 at 4:41 PM, Ana Vaniqui wrote: > Hi, > > > I just want to add that a tutorial on regular expressions for beginners > would be very much appreciated.. > > > Kind regards, > > Ana > > > ------------------------------ > *From:* Rtk-users on behalf of > Cyril Mory > *Sent:* Thursday, June 23, 2016 4:22:39 PM > *To:* Christoph Z?llner; rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] rtksubselect > > Hi Christoph, > > The error lies in the regular expression: replace the "*.his" with > ".*.his" and it should work. > > By the way: does anyone know have a tutorial on regular expressions for > beginners to recommend ? > > Cyril > > On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the largest > possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Mon Jun 27 17:56:22 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Mon, 27 Jun 2016 14:56:22 -0700 Subject: [Rtk-users] Realistic Image Quality? Message-ID: Hi Simon, I am using RTK to simulate CT acquisitions using different detector sizes to see how this impact on image quality might change some of our in-house metrics. The images I have linked to below have been created using rtkforwardprojections with different projection spacings (0.3 isometric and 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection stepsize is equal to the projection spacing. The window levels between images of their respective rows are the same. I am simply wondering if the differences between these images are realistic. I would expect the image with a detector size than is more than twice as large as the original would be drastically different when in fact they turn out to be incredibly similar. Are the assumptions made about projection spacing == cuda stepsize == simulated hardware detector size incorrect? https://gyazo.com/e86436826f687a2db4b234699d050450 https://gyazo.com/ca9612218f082e78ba3082950a27fa4c Solomon -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Tue Jun 28 03:14:49 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Tue, 28 Jun 2016 09:14:49 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: What is the magnification factor of your geometry? 2016-06-27 23:56 GMT+02:00 Solomon Tang : > Hi Simon, > > I am using RTK to simulate CT acquisitions using different detector sizes > to see how this impact on image quality might change some of our in-house > metrics. > > The images I have linked to below have been created using > rtkforwardprojections with different projection spacings (0.3 isometric and > 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and > image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection > stepsize is equal to the projection spacing. The window levels between > images of their respective rows are the same. > > I am simply wondering if the differences between these images are > realistic. I would expect the image with a detector size than is more than > twice as large as the original would be drastically different when in fact > they turn out to be incredibly similar. Are the assumptions made about > projection spacing == cuda stepsize == simulated hardware detector size > incorrect? > > > https://gyazo.com/e86436826f687a2db4b234699d050450 > > https://gyazo.com/ca9612218f082e78ba3082950a27fa4c > > Solomon > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Jun 28 04:34:07 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 28 Jun 2016 10:34:07 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, I don't expect a drastic change, only a slight loss of spatial resolution if the ray distance at the isocenter (I agree with Chao that it plays an important role) is larger than the original voxel size. Maybe it's there but you would need to zoom more to see it. You would see a more realistic difference if you were adding photon noise to your data. Simon On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > What is the magnification factor of your geometry? > > 2016-06-27 23:56 GMT+02:00 Solomon Tang : > >> Hi Simon, >> >> I am using RTK to simulate CT acquisitions using different detector sizes >> to see how this impact on image quality might change some of our in-house >> metrics. >> >> The images I have linked to below have been created using >> rtkforwardprojections with different projection spacings (0.3 isometric and >> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >> stepsize is equal to the projection spacing. The window levels between >> images of their respective rows are the same. >> >> I am simply wondering if the differences between these images are >> realistic. I would expect the image with a detector size than is more than >> twice as large as the original would be drastically different when in fact >> they turn out to be incredibly similar. Are the assumptions made about >> projection spacing == cuda stepsize == simulated hardware detector size >> incorrect? >> >> >> https://gyazo.com/e86436826f687a2db4b234699d050450 >> >> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >> >> Solomon >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Tue Jun 28 18:09:15 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 28 Jun 2016 15:09:15 -0700 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Thanks for the feedback Chao and Simon, My geometry was using default RTK sdd/sid settings. I have now changed it to match the DICOM header from the original images (1085.6 SDD, 595 SID), but not much has qualitatively changed. How do you suggest adding photon noise? I have discovered an itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling level. I'm assuming the reconstructed image should be passed through the filter, and not the projection. On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit wrote: > Hi, > I don't expect a drastic change, only a slight loss of spatial resolution > if the ray distance at the isocenter (I agree with Chao that it plays an > important role) is larger than the original voxel size. Maybe it's there > but you would need to zoom more to see it. > You would see a more realistic difference if you were adding photon noise > to your data. > Simon > > On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > >> What is the magnification factor of your geometry? >> >> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >> >>> Hi Simon, >>> >>> I am using RTK to simulate CT acquisitions using different detector >>> sizes to see how this impact on image quality might change some of our >>> in-house metrics. >>> >>> The images I have linked to below have been created using >>> rtkforwardprojections with different projection spacings (0.3 isometric and >>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>> stepsize is equal to the projection spacing. The window levels between >>> images of their respective rows are the same. >>> >>> I am simply wondering if the differences between these images are >>> realistic. I would expect the image with a detector size than is more than >>> twice as large as the original would be drastically different when in fact >>> they turn out to be incredibly similar. Are the assumptions made about >>> projection spacing == cuda stepsize == simulated hardware detector size >>> incorrect? >>> >>> >>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>> >>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>> >>> Solomon >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 29 01:28:21 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 29 Jun 2016 07:28:21 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, Attached is the python script using SimpleRTK that I have used to do the simulation of figure 6 of this publication . The paragraph where I describe what I'm doing starts with "The same simulations were repeated with Poisson noise". The interesting part of the script for you is line 158 where if I'm given a number of photons I0, I add Poisson noise. Simon On Wed, Jun 29, 2016 at 12:09 AM, Solomon Tang wrote: > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: offsetRecon2.py Type: text/x-python Size: 6981 bytes Desc: not available URL: From cyril.mory at uclouvain.be Wed Jun 29 04:51:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 29 Jun 2016 10:51:39 +0200 Subject: [Rtk-users] Replacement for TV with lower peak memory usage In-Reply-To: References: Message-ID: <57738C1B.9050206@uclouvain.be> Hi Louie, Please ask the mailing list, or at least CC it, when your question may be of interest to other RTK users. Indeed, I recommend to use rtkregularizedconjugategradient instead of ADMM_TV or ADMM_wavelets. You can activate TV regularization, wavelets regularization, or both, and it will be simpler to tune than ADMM. If you run into trouble, ask on the mailing list :) Cheers, Cyril On 06/29/2016 10:45 AM, Liu Yu wrote: > Hi Cyril, > > You said you don't recommend using the ADMM_TV method due to the > speed. Which was the alternative you suggested during the training? Is > it Regularized CG? > > Cheers, > Louie > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Wed Jun 29 04:53:28 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Wed, 29 Jun 2016 10:53:28 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi Solomon, The magnification is about 1.8. Given that the voxel spacing of your volume is 0.4688x0.4688x0.6, the corresponding projection spacing is roughly 0.84x1.08. Therefore 0.3 or 0.75 pixel spacing of your detector would not give much difference. There were just interpolation instead of real additional information that were introduced by 0.3 spacing. If you do have small structures in your object and you use a much finer grid for your volume in the simulation, I would expect to see more difference then. Regards, Chao 2016-06-29 0:09 GMT+02:00 Solomon Tang : > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 1 03:34:20 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:34:20 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> Message-ID: <574E8FFC.3010903@uclouvain.be> Hi Guillaume, Can you also tell how many iterations you have performed (main loop, conjugate gradient, and TV) ? If you are performing 30 iterations of the main loop, with 4 CG iterations, then considering the size of your data I do not think anything is wrong. Reconstructing a smaller volume will give you a large speedup (time is almost linear with number of voxels), so I would recommend that you try again with the smallest possible volume, i.e. the bounding box of your patient. Are you running the release 1.2.0 version ? If so, note that on the master branch of the git repository, I am adding optimizations for the 4D reconstructions. It is not fully functional at the moment, but I'm currently working 100% of my time on it. I will let you know about the next updates. Regards, Cyril On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: > > Hi Simon, > > Thanks for mailing list suggestion. My initial question was about > typical reconstruction times for rtkfourdrooster. What I tried is > summarized below: > > -Volume size was 410 410 264 and could be easily reduced by a good > margin. > > -The GPU is quadro M4000 with 8GB > > -about 2300 256x256 projections with shifted elekta panel (so called M20) > > -10 phases > > -for the motion mask at the moment I just used the FOV mask for first > try. > > --gamma_time 0.0001 > --gamma_space 0.0001 > - spacing 1 1 1 > --niter 30 > --cgiter 4 > --tviter 10 > > > Recon time was about 5-6 hours. I saw about 4 Gb used on the card. > > The image looked nice, albeit with the TV "feel/plastic-y". > > Thanks for your feedback > Guillaume > > > > > Quoting Simon Rit : > >> Hi Guillaume, >> I'm adding RTK user list to this conversation, it's better to have >> these conversations on the mailing list IMO. Can you tell us what's >> the volume size and the GPU? >> Cyril is ROOSTER's dev, maybe he could comment on recon times. >> Simon >> >> On Tue, May 31, 2016 at 5:29 PM, >> wrote: >>> Hi Simon, >>> >>> I tried the rooster recon. I used the parameters from the example >>> page. The results looks rather nice but it took several hours to run >>> (5-6). Its a big dataset of about 2000 256x256 projections. >>> >>> Guillaume From g.landry at physik.uni-muenchen.de Wed Jun 1 03:39:47 2016 From: g.landry at physik.uni-muenchen.de (Guillaume Landry) Date: Wed, 1 Jun 2016 09:39:47 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E8FFC.3010903@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> Message-ID: <574E9143.8080002@physik.uni-muenchen.de> Good morning Cyril, Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG and 10 for TV (taken from example). Possibly I could reduce the number of TV iterations? Looking forward to your optimizations. Cheers Guillaume Dr. Guillaume Landry Ludwig Maximilians University (LMU) Munich Medical Physics Am Coulombwall 1 85748 Garching Tel:+49 (0) 89 289-14077 Fax:+49 (0) 89 289-14072 On 06/01/2016 09:34 AM, Cyril Mory wrote: > Hi Guillaume, > > Can you also tell how many iterations you have performed (main loop, > conjugate gradient, and TV) ? > If you are performing 30 iterations of the main loop, with 4 CG > iterations, then considering the size of your data I do not think > anything is wrong. Reconstructing a smaller volume will give you a > large speedup (time is almost linear with number of voxels), so I > would recommend that you try again with the smallest possible volume, > i.e. the bounding box of your patient. > > Are you running the release 1.2.0 version ? If so, note that on the > master branch of the git repository, I am adding optimizations for the > 4D reconstructions. It is not fully functional at the moment, but I'm > currently working 100% of my time on it. I will let you know about the > next updates. > > Regards, > Cyril > > On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >> >> Hi Simon, >> >> Thanks for mailing list suggestion. My initial question was about >> typical reconstruction times for rtkfourdrooster. What I tried is >> summarized below: >> >> -Volume size was 410 410 264 and could be easily reduced by a good >> margin. >> >> -The GPU is quadro M4000 with 8GB >> >> -about 2300 256x256 projections with shifted elekta panel (so called >> M20) >> >> -10 phases >> >> -for the motion mask at the moment I just used the FOV mask for first >> try. >> >> --gamma_time 0.0001 >> --gamma_space 0.0001 >> - spacing 1 1 1 >> --niter 30 >> --cgiter 4 >> --tviter 10 >> >> >> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >> >> The image looked nice, albeit with the TV "feel/plastic-y". >> >> Thanks for your feedback >> Guillaume >> >> >> >> >> Quoting Simon Rit : >> >>> Hi Guillaume, >>> I'm adding RTK user list to this conversation, it's better to have >>> these conversations on the mailing list IMO. Can you tell us what's >>> the volume size and the GPU? >>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>> Simon >>> >>> On Tue, May 31, 2016 at 5:29 PM, >>> wrote: >>>> Hi Simon, >>>> >>>> I tried the rooster recon. I used the parameters from the example >>>> page. The results looks rather nice but it took several hours to >>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>> >>>> Guillaume > From cyril.mory at uclouvain.be Wed Jun 1 03:44:13 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:44:13 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E9143.8080002@physik.uni-muenchen.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> Message-ID: <574E924D.30403@uclouvain.be> The bottleneck is the 4D conjugate gradient, and by far. You can also try to reduce the number of main loop iterations (10 should already give a nice result, but you may need more for your application). That, plus reducing the size of your reconstructed volume, plus the optimizations I'm working on, should give you a reconstruction time of less than one hour. On 06/01/2016 09:39 AM, Guillaume Landry wrote: > Good morning Cyril, > > Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG > and 10 for TV (taken from example). Possibly I could reduce the number > of TV iterations? > > Looking forward to your optimizations. > > Cheers > Guillaume > > Dr. Guillaume Landry > Ludwig Maximilians University (LMU) Munich > Medical Physics > Am Coulombwall 1 > 85748 Garching > Tel:+49 (0) 89 289-14077 > Fax:+49 (0) 89 289-14072 > > On 06/01/2016 09:34 AM, Cyril Mory wrote: >> Hi Guillaume, >> >> Can you also tell how many iterations you have performed (main loop, >> conjugate gradient, and TV) ? >> If you are performing 30 iterations of the main loop, with 4 CG >> iterations, then considering the size of your data I do not think >> anything is wrong. Reconstructing a smaller volume will give you a >> large speedup (time is almost linear with number of voxels), so I >> would recommend that you try again with the smallest possible volume, >> i.e. the bounding box of your patient. >> >> Are you running the release 1.2.0 version ? If so, note that on the >> master branch of the git repository, I am adding optimizations for the >> 4D reconstructions. It is not fully functional at the moment, but I'm >> currently working 100% of my time on it. I will let you know about the >> next updates. >> >> Regards, >> Cyril >> >> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>> Hi Simon, >>> >>> Thanks for mailing list suggestion. My initial question was about >>> typical reconstruction times for rtkfourdrooster. What I tried is >>> summarized below: >>> >>> -Volume size was 410 410 264 and could be easily reduced by a good >>> margin. >>> >>> -The GPU is quadro M4000 with 8GB >>> >>> -about 2300 256x256 projections with shifted elekta panel (so called >>> M20) >>> >>> -10 phases >>> >>> -for the motion mask at the moment I just used the FOV mask for first >>> try. >>> >>> --gamma_time 0.0001 >>> --gamma_space 0.0001 >>> - spacing 1 1 1 >>> --niter 30 >>> --cgiter 4 >>> --tviter 10 >>> >>> >>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>> >>> The image looked nice, albeit with the TV "feel/plastic-y". >>> >>> Thanks for your feedback >>> Guillaume >>> >>> >>> >>> >>> Quoting Simon Rit : >>> >>>> Hi Guillaume, >>>> I'm adding RTK user list to this conversation, it's better to have >>>> these conversations on the mailing list IMO. Can you tell us what's >>>> the volume size and the GPU? >>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>> Simon >>>> >>>> On Tue, May 31, 2016 at 5:29 PM, >>>> wrote: >>>>> Hi Simon, >>>>> >>>>> I tried the rooster recon. I used the parameters from the example >>>>> page. The results looks rather nice but it took several hours to >>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>> >>>>> Guillaume From cyril.mory at uclouvain.be Thu Jun 2 07:58:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 2 Jun 2016 13:58:07 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E924D.30403@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> <574E924D.30403@uclouvain.be> Message-ID: <57501F4F.8050006@uclouvain.be> Hi Guillaume, Just wanted to let you know : if you perform a 4D CT for the planning, and use motion estimation on that 4D CT (thus getting either one 4D displacement vector field, or two inverse-consistent 4D DVFs), you can use this/these DVF(s) in ROOSTER. It should bring you a significant improvement of image quality, and on my datasets I was able to reduce the number of iterations of the main loop to 10 without problems. We can discuss this further if you are interested. Cyril On 06/01/2016 09:44 AM, Cyril Mory wrote: > The bottleneck is the 4D conjugate gradient, and by far. You can also > try to reduce the number of main loop iterations (10 should already > give a nice result, but you may need more for your application). > That, plus reducing the size of your reconstructed volume, plus the > optimizations I'm working on, should give you a reconstruction time of > less than one hour. > > On 06/01/2016 09:39 AM, Guillaume Landry wrote: >> Good morning Cyril, >> >> Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG >> and 10 for TV (taken from example). Possibly I could reduce the number >> of TV iterations? >> >> Looking forward to your optimizations. >> >> Cheers >> Guillaume >> >> Dr. Guillaume Landry >> Ludwig Maximilians University (LMU) Munich >> Medical Physics >> Am Coulombwall 1 >> 85748 Garching >> Tel:+49 (0) 89 289-14077 >> Fax:+49 (0) 89 289-14072 >> >> On 06/01/2016 09:34 AM, Cyril Mory wrote: >>> Hi Guillaume, >>> >>> Can you also tell how many iterations you have performed (main loop, >>> conjugate gradient, and TV) ? >>> If you are performing 30 iterations of the main loop, with 4 CG >>> iterations, then considering the size of your data I do not think >>> anything is wrong. Reconstructing a smaller volume will give you a >>> large speedup (time is almost linear with number of voxels), so I >>> would recommend that you try again with the smallest possible volume, >>> i.e. the bounding box of your patient. >>> >>> Are you running the release 1.2.0 version ? If so, note that on the >>> master branch of the git repository, I am adding optimizations for the >>> 4D reconstructions. It is not fully functional at the moment, but I'm >>> currently working 100% of my time on it. I will let you know about the >>> next updates. >>> >>> Regards, >>> Cyril >>> >>> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>>> Hi Simon, >>>> >>>> Thanks for mailing list suggestion. My initial question was about >>>> typical reconstruction times for rtkfourdrooster. What I tried is >>>> summarized below: >>>> >>>> -Volume size was 410 410 264 and could be easily reduced by a good >>>> margin. >>>> >>>> -The GPU is quadro M4000 with 8GB >>>> >>>> -about 2300 256x256 projections with shifted elekta panel (so called >>>> M20) >>>> >>>> -10 phases >>>> >>>> -for the motion mask at the moment I just used the FOV mask for first >>>> try. >>>> >>>> --gamma_time 0.0001 >>>> --gamma_space 0.0001 >>>> - spacing 1 1 1 >>>> --niter 30 >>>> --cgiter 4 >>>> --tviter 10 >>>> >>>> >>>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>>> >>>> The image looked nice, albeit with the TV "feel/plastic-y". >>>> >>>> Thanks for your feedback >>>> Guillaume >>>> >>>> >>>> >>>> >>>> Quoting Simon Rit : >>>> >>>>> Hi Guillaume, >>>>> I'm adding RTK user list to this conversation, it's better to have >>>>> these conversations on the mailing list IMO. Can you tell us what's >>>>> the volume size and the GPU? >>>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>>> Simon >>>>> >>>>> On Tue, May 31, 2016 at 5:29 PM, >>>>> wrote: >>>>>> Hi Simon, >>>>>> >>>>>> I tried the rooster recon. I used the parameters from the example >>>>>> page. The results looks rather nice but it took several hours to >>>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>>> >>>>>> Guillaume > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users From solomoncztang at gmail.com Tue Jun 7 18:27:35 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 7 Jun 2016 15:27:35 -0700 Subject: [Rtk-users] Cmake build error help In-Reply-To: <573171C8.80400@creatis.insa-lyon.fr> References: <573171C8.80400@creatis.insa-lyon.fr> Message-ID: My apologies for the delay, I updated GetGitRevision and it got past the initial issue. Unfortunately, the final build still failed with cuda enabled because NVCC 7.5 does not support Visual Studio 2015. On Mon, May 9, 2016 at 10:29 PM, Simon Rit wrote: > Hi, > Can you update GetGitRevisionDescription.cmake and > GetGitRevisionDescription.cmake.in from > https://github.com/rpavlik/cmake-modules and see if the new versions fix > this issue? > Thanks, > Simon > > PS: plead keep using the mailing list > > > On 10/05/2016 03:09, Solomon Tang wrote: > > Hi Simon, > > I am rebuilding RTK after moving to Visual Studio 2015 with cmake 3.5.2 > and am running into the following error: > > CMake Error at build/applications/CMakeFiles/git-data/grabRef.cmake:36 > (file): > file failed to open for reading (No such file or directory): > > > C:/Work/Tools/Current/RTK-1.2.0/build/applications/CMakeFiles/git-data/head-ref > Call Stack (most recent call first): > cmake/GetGitRevisionDescription.cmake:77 (include) > applications/CMakeLists.txt:5 (get_git_head_revision) > > I am using ITK 4.9.0 and fresh download of RTK 1.2.0. > > How do I resolve this issue? > > Thanks again, > > Solomon > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Tue Jun 14 09:12:34 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Tue, 14 Jun 2016 15:12:34 +0200 Subject: [Rtk-users] CUDA Ramp filter Message-ID: Dear all, When I use rtkramp with cuda option, I am getting following error ExceptionObject caught with streamer->Update() in file D:\programming\cpp\ext_li bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 itk::ExceptionObject (000000ADA7DAF220) Location: "unknown" File: d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil ter.txx Line: 50 Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol utionImageFilter assumes that input requested and buffered regions are equal. However, cpu version of ramp filter works fine. Thanks in advance. With regards, Shiras -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Tue Jun 14 09:38:06 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Tue, 14 Jun 2016 15:38:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: Message-ID: <576008BE.1060506@uclouvain.be> Hi Shiras, We found that bug recently with Sebastien Brousmiche and fixed it, at least for the use case we were considering. Can you try with the git master version of RTK ? Alternatively, you can replace reader->Update() with reader->UpdateOutputInformation() in line 61 of rtkramp.cxx and see if it fixes the problem. Regards, Cyril On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Wed Jun 15 04:50:17 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Wed, 15 Jun 2016 10:50:17 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <576008BE.1060506@uclouvain.be> References: <576008BE.1060506@uclouvain.be> Message-ID: Dear Cyril, Thanks a lot. Now rtkramp.exe works with cuda option. I am trying to integrate rtk cuda ramp filter into my recon program. I read the projections with ProjectionsReader and pass image pointer to cuda ramp filter pipeline using cudaRampFilter->SetInput(projections); I am getting runtime error and it says Error during cuda ramp filtering :: D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu :97: itk::ERROR: CUFFT ERROR #2 Do I need to enable or disable any parameter while reading projections to get rid of this error? I changed rtk_proj_reader_->Update to rtk_proj_reader_->UpdateOutputInformation(); But I am still getting the error. The error exists only with CudaFFTRampImageFilter and FFTRampImageFilter works fine. With regards, Shiras On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory wrote: > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, at > least for the use case we were considering. Can you try with the git master > version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 15 05:02:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 15 Jun 2016 11:02:07 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> Message-ID: <5761198F.7060504@uclouvain.be> Hi Shiras, Another user had the same error some years ago : http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html It seemed to be a GPU memory size issue. Can you tell what GPU you use, are what are the size and number of your projections ? Can you try with a single projection (you can use the "rtksubselect" application to create such a dataset out of yours) ? Best regards, Cyril On 06/15/2016 10:50 AM, Shiras Abdurahman wrote: > Dear Cyril, > > Thanks a lot. Now rtkramp.exe works with cuda option. > I am trying to integrate rtk cuda ramp filter into my recon program. I > read the projections with ProjectionsReader and pass image pointer to > cuda ramp filter pipeline using > cudaRampFilter->SetInput(projections); > > I am getting runtime error and it says > Error during cuda ramp filtering :: > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > :97: > itk::ERROR: CUFFT ERROR #2 > > Do I need to enable or disable any parameter while reading projections > to get rid of this error? I changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > But I am still getting the error. > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > With regards, > Shiras > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory > wrote: > > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, > at least for the use case we were considering. Can you try with > the git master version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> Dear all, >> >> When I use rtkramp with cuda option, I am getting following error >> >> ExceptionObject caught with streamer->Update() in file >> D:\programming\cpp\ext_li >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 >> >> itk::ExceptionObject (000000ADA7DAF220) >> Location: "unknown" >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> ter.txx >> Line: 50 >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol >> utionImageFilter assumes that input requested and buffered >> regions are equal. >> >> However, cpu version of ramp filter works fine. >> >> Thanks in advance. >> >> With regards, >> Shiras >> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 15 05:42:16 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 15 Jun 2016 11:42:16 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <5761198F.7060504@uclouvain.be> References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Hi, I recently added the --subsetsize option (see this commit ). You can try "--subsetsize 1" instead of using rtksubselect. Simon On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > >> >> >> Dear Cyril, >> >> >> >> Thanks a lot. Now rtkramp.exe works with cuda option. >> >> I am trying to integrate rtk cuda ramp filter into my recon >> program. I read the projections with ProjectionsReader and >> pass image pointer to cuda ramp filter pipeline using >> >> cudaRampFilter->SetInput(projections); >> >> >> >> >> >> I am getting runtime error and it says >> >> >> Error during cuda ramp filtering :: >> >> D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu >> >> :97: >> >> itk::ERROR: CUFFT ERROR #2 >> >> >> >> >> >> Do I need to enable or disable any parameter while reading >> projections to get rid of this error? I >> changed rtk_proj_reader_->Update >> to rtk_proj_reader_->UpdateOutputInformation(); >> >> But I am still getting the error. >> >> The error exists only with CudaFFTRampImageFilter >> and FFTRampImageFilter works fine. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Tue, Jun 14, 2016 at 3:38 PM, Cyril >> Mory > >> wrote: >> >> >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >>> >>> >>> >>> Dear all, >>> >>> >>> >>> When I use rtkramp with cuda option, I am >>> getting following error >>> >>> >>> >>> >>> >>> ExceptionObject caught with >>> streamer->Update() in file >>> D:\programming\cpp\ext_li >>> >>> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >>> line 93 >>> >>> >>> >>> >>> itk::ExceptionObject (000000ADA7DAF220) >>> >>> Location: "unknown" >>> >>> File: >>> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >>> >>> ter.txx >>> >>> Line: 50 >>> >>> Description: itk::ERROR: >>> CudaFFTRampImageFilter(000000ADAA53B490): >>> CudaFFTConvol >>> >>> utionImageFilter assumes that input >>> requested and buffered regions are equal. >>> >>> >>> >>> >>> >>> However, cpu version of ramp filter works >>> fine. >>> >>> >>> >>> >>> Thanks in advance. >>> >>> >>> >>> >>> With regards, >>> >>> Shiras >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >> >> >> >> >> >> >> >> >> > > > > > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amjad.n.cet at gmail.com Thu Jun 16 04:39:46 2016 From: amjad.n.cet at gmail.com (AMJAD N) Date: Thu, 16 Jun 2016 14:09:46 +0530 Subject: [Rtk-users] CUDA compilation error Message-ID: Hi all, I have been trying to create a new filter for flat field image correction. I have implemented the same in normal mode (which works fine.) and was trying to write one in CUDA mode for the past week. I had created 4 files in order to perform the Flat Field image correction filter as i followed the standard in GitHub : RTK Cuda files. which includes : rtkCudaFlatFieldImageFilter.h : is a header file contains the declaration of various functions and data members rtkCudaFlatFieldImageFilter.cxx : contains the body of the function defined in the header file and included the file "rtkCudaFlatFieldImageFilter.hcu" inorder to call wrapper function rtkCudaFlatFieldImageFilter.hcu : contains the function prototype of the wrapper function rtkCudaFlatFieldImageFilter.cu : contains the kernel function and the wrapper function in which the kernel function is called. When building the project I am getting error as Error c2059 syntax error at ' <<<' " in rtkCudaFlatFieldImageFilter.cu at kernel calling statement in Cuda Programming file. *So how should I compile the whole program?* My working environment is Microsoft Windows 7 32bit. Visual Studio 2013 CUDA ToolKit 6.5 GeForce 210 graphics card Thanks and Regards AMJAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Fri Jun 17 04:53:06 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Fri, 17 Jun 2016 10:53:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Dear Cyril, Yes. When I reduced the number of projections, I am not getting this error anymore. My initial projection size which caused the error was 1420x1416x21. It seems that error is due to CUDA memory issues. My GPU is GeForce GTX 670. With regards, Shiras On Wed, Jun 15, 2016 at 11:42 AM, Simon Rit wrote: > Hi, > I recently added the --subsetsize option (see this commit > ). > You can try "--subsetsize 1" instead of using rtksubselect. > Simon > > > On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > > > > Dear Cyril, > > > > Thanks a lot. Now rtkramp.exe works with cuda option. > > I am trying to integrate rtk cuda ramp filter into my recon > program. I read the projections with ProjectionsReader and > pass image pointer to cuda ramp filter pipeline using > > cudaRampFilter->SetInput(projections); > > > > > > I am getting runtime error and it says > > > Error during cuda ramp filtering :: > > > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > > :97: > > itk::ERROR: CUFFT ERROR #2 > > > > > > Do I need to enable or disable any parameter while reading > projections to get rid of this error? I > changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > > But I am still getting the error. > > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > > > > With regards, > > Shiras > > > > > > > > > > > > > > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril > Mory > wrote: > > >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >> >> >> >> Dear all, >> >> >> >> When I use rtkramp with cuda option, I am >> getting following error >> >> >> >> >> >> ExceptionObject caught with >> streamer->Update() in file >> D:\programming\cpp\ext_li >> >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >> line 93 >> >> >> >> >> itk::ExceptionObject (000000ADA7DAF220) >> >> Location: "unknown" >> >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> >> ter.txx >> >> Line: 50 >> >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): >> CudaFFTConvol >> >> utionImageFilter assumes that input >> requested and buffered regions are equal. >> >> >> >> >> >> However, cpu version of ramp filter works >> fine. >> >> >> >> >> Thanks in advance. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users >> >> >> >> >> >> >> > > > > > > > > > > > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Fri Jun 17 05:07:18 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Fri, 17 Jun 2016 11:07:18 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer Message-ID: Hi everyone, I need some help for updating a JSON file for the ConjugateGradientConeBeamReconstructionFilter. I want to test a new implementation I made on this filter to perform a support constraint for the reconstructed image. The constraint consists in a binary mask passed as an attribute. This attribute is a pointer to an image of type TOutputImage. The default value (in the constructor) is NULL. I don't know how to write it in the JSON file to wrap this member : { "name" : "SupportMask", "type" : ?, "default" : ?, "briefdescriptionSet" : "", "detaileddescriptionSet" : "", "briefdescriptionGet" : "", "detaileddescriptionGet" : "" } Does it also need to perform a specific cast with the optional field custom_itk_cast ? I don't really understand how it works. Thanks in advance for your help. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 17 12:46:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 17 Jun 2016 18:46:31 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Fabien, I can't say I master this but I had to do something similar in FieldOfViewImageFilter.json . Look at the "ProjectionsStack" parameter which is actually a 3D image. How did I come up with such a complicated code? No clue, but SimpleITK has similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json . My guess is that passing an image as a parameters in an itk image filter is not so common... I hope this helps, Simon On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey wrote: > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to perform a > support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. This > attribute is a pointer to an image of type TOutputImage. The default value > (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional field > custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Mon Jun 20 03:30:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Mon, 20 Jun 2016 09:30:07 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: <57679B7F.2060000@uclouvain.be> Hi, A question that then comes to my mind : why do you pass the image as parameter ? Passing it as input, you would benefit from the pipeline features, such as making your output outdated when you modify your input binary mask, or loading of only the required part of your binary mask, ... Did you try it, and it didn't work ? I can help you do it this way if you need. Cyril On 06/17/2016 06:46 PM, Simon Rit wrote: > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. > How did I come up with such a complicated code? No clue, but SimpleITK > has similar ugly json files, e.g., > LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image > filter is not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to > perform a support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. > This attribute is a pointer to an image of type TOutputImage. The > default value (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional > field custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 03:59:41 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 09:59:41 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Thanks for your help. It seems to be what I need ! I will try this and tell you if it works. Fabien. 2016-06-17 18:46 GMT+02:00 Simon Rit : > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 04:04:44 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 10:04:44 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: <57679B7F.2060000@uclouvain.be> References: <57679B7F.2060000@uclouvain.be> Message-ID: Hi Cyril, Of course it could be a solution, but as the filter as already 3 inputs, I did not want to add this mask as a fourth one as it seems to me that it is very optional. But I understand that it would be useful for a better memory handling. I did not try your solution and I have to confess that I do not feel sufficiently good in "RTK programming". So I willl try first my solution and we can eventually discuss in the future for a better way for implementing this feature ! Thanks for your response Cyril ! Fabien 2016-06-20 9:30 GMT+02:00 Cyril Mory : > Hi, > > A question that then comes to my mind : why do you pass the image as > parameter ? Passing it as input, you would benefit from the pipeline > features, such as making your output outdated when you modify your input > binary mask, or loading of only the required part of your binary mask, ... > Did you try it, and it didn't work ? I can help you do it this way if you > need. > > Cyril > > > On 06/17/2016 06:46 PM, Simon Rit wrote: > > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Tue Jun 21 03:27:06 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Tue, 21 Jun 2016 09:27:06 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Your solution works fine ! Thanks. I just noticed something to be careful with : the function "CastImageToITK" (in $RTK_HOME/utilities/SimpleRTK/Code/BasicFilters/include/srtkImageFilter.h) does not accept NULL pointer (an error is returned) while the default value set in the JSON file seems to declare a (0,0) image whose pointer is NULL. As a consequence it is mandatory to set an image before executing the filter. So if you plan, as this is in my case, to allow the filter not to do something if no image has been set, it will not work in SimpleRTK with this custom cast. Fabien. 2016-06-20 9:59 GMT+02:00 Fabien Momey : > Hi Simon, > > Thanks for your help. > > It seems to be what I need ! I will try this and tell you if it works. > > Fabien. > > 2016-06-17 18:46 GMT+02:00 Simon Rit : > >> Hi Fabien, >> I can't say I master this but I had to do something similar in >> FieldOfViewImageFilter.json >> . >> Look at the "ProjectionsStack" parameter which is actually a 3D image. How >> did I come up with such a complicated code? No clue, but SimpleITK has >> similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json >> . >> My guess is that passing an image as a parameters in an itk image filter is >> not so common... >> I hope this helps, >> Simon >> >> On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey >> wrote: >> >>> Hi everyone, >>> >>> I need some help for updating a JSON file for the >>> ConjugateGradientConeBeamReconstructionFilter. >>> >>> I want to test a new implementation I made on this filter to perform a >>> support constraint for the reconstructed image. >>> >>> The constraint consists in a binary mask passed as an attribute. This >>> attribute is a pointer to an image of type TOutputImage. The default value >>> (in the constructor) is NULL. >>> >>> I don't know how to write it in the JSON file to wrap this member : >>> >>> { >>> "name" : "SupportMask", >>> "type" : ?, >>> "default" : ?, >>> "briefdescriptionSet" : "", >>> "detaileddescriptionSet" : "", >>> "briefdescriptionGet" : "", >>> "detaileddescriptionGet" : "" >>> } >>> >>> Does it also need to perform a specific cast with the optional field >>> custom_itk_cast ? I don't really understand how it works. >>> >>> Thanks in advance for your help. >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From C.Zoellner at physik.uni-muenchen.de Thu Jun 23 09:48:19 2016 From: C.Zoellner at physik.uni-muenchen.de (=?UTF-8?Q?Christoph_Z=c3=b6llner?=) Date: Thu, 23 Jun 2016 15:48:19 +0200 Subject: [Rtk-users] rtksubselect Message-ID: <576BE8A3.40409@physik.uni-muenchen.de> Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Thu Jun 23 10:22:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 23 Jun 2016 16:22:39 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <576BF0AF.8000507@uclouvain.be> Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Jun 23 10:01:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 23 Jun 2016 16:01:31 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <27bf15f0-4a1a-2b3d-b876-f5989e3bbf9a@creatis.insa-lyon.fr> Hi, On my computer, it works but I had to change your regular expression to '.*.his' instead of '*.his'. It's a good idea to keep the single quotes on the command line to avoid interpretation by the command line interpreter. If this is not the issue, you can try to add the -v option to check the number of projections that is found. Simon On 23/06/2016 15:48, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From ana.vaniqui at maastro.nl Thu Jun 23 10:41:51 2016 From: ana.vaniqui at maastro.nl (Ana Vaniqui) Date: Thu, 23 Jun 2016 14:41:51 +0000 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BF0AF.8000507@uclouvain.be> References: <576BE8A3.40409@physik.uni-muenchen.de>, <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I just want to add that a tutorial on regular expressions for beginners would be very much appreciated.. Kind regards, Ana ________________________________ From: Rtk-users on behalf of Cyril Mory Sent: Thursday, June 23, 2016 4:22:39 PM To: Christoph Z?llner; rtk-users at public.kitware.com Subject: Re: [Rtk-users] rtksubselect Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 24 07:11:40 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 24 Jun 2016 13:11:40 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: References: <576BE8A3.40409@physik.uni-muenchen.de> <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I don't have a tutorial for you but you can start by reading the ITK doc: https://itk.org/Doxygen/html/classitk_1_1RegularExpressionSeriesFileNames.html There are tons of tutorials on the web (and I don't know a specifically good one), the important part to remember is that there are several formats for regular expressions and ITK uses one of them. Note that you don't have to use them in most cases. For example, Christoph could have use "-r his" to match all filenames containing "his". Simon On Thu, Jun 23, 2016 at 4:41 PM, Ana Vaniqui wrote: > Hi, > > > I just want to add that a tutorial on regular expressions for beginners > would be very much appreciated.. > > > Kind regards, > > Ana > > > ------------------------------ > *From:* Rtk-users on behalf of > Cyril Mory > *Sent:* Thursday, June 23, 2016 4:22:39 PM > *To:* Christoph Z?llner; rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] rtksubselect > > Hi Christoph, > > The error lies in the regular expression: replace the "*.his" with > ".*.his" and it should work. > > By the way: does anyone know have a tutorial on regular expressions for > beginners to recommend ? > > Cyril > > On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the largest > possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Mon Jun 27 17:56:22 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Mon, 27 Jun 2016 14:56:22 -0700 Subject: [Rtk-users] Realistic Image Quality? Message-ID: Hi Simon, I am using RTK to simulate CT acquisitions using different detector sizes to see how this impact on image quality might change some of our in-house metrics. The images I have linked to below have been created using rtkforwardprojections with different projection spacings (0.3 isometric and 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection stepsize is equal to the projection spacing. The window levels between images of their respective rows are the same. I am simply wondering if the differences between these images are realistic. I would expect the image with a detector size than is more than twice as large as the original would be drastically different when in fact they turn out to be incredibly similar. Are the assumptions made about projection spacing == cuda stepsize == simulated hardware detector size incorrect? https://gyazo.com/e86436826f687a2db4b234699d050450 https://gyazo.com/ca9612218f082e78ba3082950a27fa4c Solomon -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Tue Jun 28 03:14:49 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Tue, 28 Jun 2016 09:14:49 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: What is the magnification factor of your geometry? 2016-06-27 23:56 GMT+02:00 Solomon Tang : > Hi Simon, > > I am using RTK to simulate CT acquisitions using different detector sizes > to see how this impact on image quality might change some of our in-house > metrics. > > The images I have linked to below have been created using > rtkforwardprojections with different projection spacings (0.3 isometric and > 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and > image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection > stepsize is equal to the projection spacing. The window levels between > images of their respective rows are the same. > > I am simply wondering if the differences between these images are > realistic. I would expect the image with a detector size than is more than > twice as large as the original would be drastically different when in fact > they turn out to be incredibly similar. Are the assumptions made about > projection spacing == cuda stepsize == simulated hardware detector size > incorrect? > > > https://gyazo.com/e86436826f687a2db4b234699d050450 > > https://gyazo.com/ca9612218f082e78ba3082950a27fa4c > > Solomon > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Jun 28 04:34:07 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 28 Jun 2016 10:34:07 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, I don't expect a drastic change, only a slight loss of spatial resolution if the ray distance at the isocenter (I agree with Chao that it plays an important role) is larger than the original voxel size. Maybe it's there but you would need to zoom more to see it. You would see a more realistic difference if you were adding photon noise to your data. Simon On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > What is the magnification factor of your geometry? > > 2016-06-27 23:56 GMT+02:00 Solomon Tang : > >> Hi Simon, >> >> I am using RTK to simulate CT acquisitions using different detector sizes >> to see how this impact on image quality might change some of our in-house >> metrics. >> >> The images I have linked to below have been created using >> rtkforwardprojections with different projection spacings (0.3 isometric and >> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >> stepsize is equal to the projection spacing. The window levels between >> images of their respective rows are the same. >> >> I am simply wondering if the differences between these images are >> realistic. I would expect the image with a detector size than is more than >> twice as large as the original would be drastically different when in fact >> they turn out to be incredibly similar. Are the assumptions made about >> projection spacing == cuda stepsize == simulated hardware detector size >> incorrect? >> >> >> https://gyazo.com/e86436826f687a2db4b234699d050450 >> >> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >> >> Solomon >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Tue Jun 28 18:09:15 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 28 Jun 2016 15:09:15 -0700 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Thanks for the feedback Chao and Simon, My geometry was using default RTK sdd/sid settings. I have now changed it to match the DICOM header from the original images (1085.6 SDD, 595 SID), but not much has qualitatively changed. How do you suggest adding photon noise? I have discovered an itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling level. I'm assuming the reconstructed image should be passed through the filter, and not the projection. On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit wrote: > Hi, > I don't expect a drastic change, only a slight loss of spatial resolution > if the ray distance at the isocenter (I agree with Chao that it plays an > important role) is larger than the original voxel size. Maybe it's there > but you would need to zoom more to see it. > You would see a more realistic difference if you were adding photon noise > to your data. > Simon > > On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > >> What is the magnification factor of your geometry? >> >> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >> >>> Hi Simon, >>> >>> I am using RTK to simulate CT acquisitions using different detector >>> sizes to see how this impact on image quality might change some of our >>> in-house metrics. >>> >>> The images I have linked to below have been created using >>> rtkforwardprojections with different projection spacings (0.3 isometric and >>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>> stepsize is equal to the projection spacing. The window levels between >>> images of their respective rows are the same. >>> >>> I am simply wondering if the differences between these images are >>> realistic. I would expect the image with a detector size than is more than >>> twice as large as the original would be drastically different when in fact >>> they turn out to be incredibly similar. Are the assumptions made about >>> projection spacing == cuda stepsize == simulated hardware detector size >>> incorrect? >>> >>> >>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>> >>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>> >>> Solomon >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 29 01:28:21 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 29 Jun 2016 07:28:21 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, Attached is the python script using SimpleRTK that I have used to do the simulation of figure 6 of this publication . The paragraph where I describe what I'm doing starts with "The same simulations were repeated with Poisson noise". The interesting part of the script for you is line 158 where if I'm given a number of photons I0, I add Poisson noise. Simon On Wed, Jun 29, 2016 at 12:09 AM, Solomon Tang wrote: > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: offsetRecon2.py Type: text/x-python Size: 6981 bytes Desc: not available URL: From cyril.mory at uclouvain.be Wed Jun 29 04:51:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 29 Jun 2016 10:51:39 +0200 Subject: [Rtk-users] Replacement for TV with lower peak memory usage In-Reply-To: References: Message-ID: <57738C1B.9050206@uclouvain.be> Hi Louie, Please ask the mailing list, or at least CC it, when your question may be of interest to other RTK users. Indeed, I recommend to use rtkregularizedconjugategradient instead of ADMM_TV or ADMM_wavelets. You can activate TV regularization, wavelets regularization, or both, and it will be simpler to tune than ADMM. If you run into trouble, ask on the mailing list :) Cheers, Cyril On 06/29/2016 10:45 AM, Liu Yu wrote: > Hi Cyril, > > You said you don't recommend using the ADMM_TV method due to the > speed. Which was the alternative you suggested during the training? Is > it Regularized CG? > > Cheers, > Louie > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Wed Jun 29 04:53:28 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Wed, 29 Jun 2016 10:53:28 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi Solomon, The magnification is about 1.8. Given that the voxel spacing of your volume is 0.4688x0.4688x0.6, the corresponding projection spacing is roughly 0.84x1.08. Therefore 0.3 or 0.75 pixel spacing of your detector would not give much difference. There were just interpolation instead of real additional information that were introduced by 0.3 spacing. If you do have small structures in your object and you use a much finer grid for your volume in the simulation, I would expect to see more difference then. Regards, Chao 2016-06-29 0:09 GMT+02:00 Solomon Tang : > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 1 03:34:20 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:34:20 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> Message-ID: <574E8FFC.3010903@uclouvain.be> Hi Guillaume, Can you also tell how many iterations you have performed (main loop, conjugate gradient, and TV) ? If you are performing 30 iterations of the main loop, with 4 CG iterations, then considering the size of your data I do not think anything is wrong. Reconstructing a smaller volume will give you a large speedup (time is almost linear with number of voxels), so I would recommend that you try again with the smallest possible volume, i.e. the bounding box of your patient. Are you running the release 1.2.0 version ? If so, note that on the master branch of the git repository, I am adding optimizations for the 4D reconstructions. It is not fully functional at the moment, but I'm currently working 100% of my time on it. I will let you know about the next updates. Regards, Cyril On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: > > Hi Simon, > > Thanks for mailing list suggestion. My initial question was about > typical reconstruction times for rtkfourdrooster. What I tried is > summarized below: > > -Volume size was 410 410 264 and could be easily reduced by a good > margin. > > -The GPU is quadro M4000 with 8GB > > -about 2300 256x256 projections with shifted elekta panel (so called M20) > > -10 phases > > -for the motion mask at the moment I just used the FOV mask for first > try. > > --gamma_time 0.0001 > --gamma_space 0.0001 > - spacing 1 1 1 > --niter 30 > --cgiter 4 > --tviter 10 > > > Recon time was about 5-6 hours. I saw about 4 Gb used on the card. > > The image looked nice, albeit with the TV "feel/plastic-y". > > Thanks for your feedback > Guillaume > > > > > Quoting Simon Rit : > >> Hi Guillaume, >> I'm adding RTK user list to this conversation, it's better to have >> these conversations on the mailing list IMO. Can you tell us what's >> the volume size and the GPU? >> Cyril is ROOSTER's dev, maybe he could comment on recon times. >> Simon >> >> On Tue, May 31, 2016 at 5:29 PM, >> wrote: >>> Hi Simon, >>> >>> I tried the rooster recon. I used the parameters from the example >>> page. The results looks rather nice but it took several hours to run >>> (5-6). Its a big dataset of about 2000 256x256 projections. >>> >>> Guillaume From g.landry at physik.uni-muenchen.de Wed Jun 1 03:39:47 2016 From: g.landry at physik.uni-muenchen.de (Guillaume Landry) Date: Wed, 1 Jun 2016 09:39:47 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E8FFC.3010903@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> Message-ID: <574E9143.8080002@physik.uni-muenchen.de> Good morning Cyril, Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG and 10 for TV (taken from example). Possibly I could reduce the number of TV iterations? Looking forward to your optimizations. Cheers Guillaume Dr. Guillaume Landry Ludwig Maximilians University (LMU) Munich Medical Physics Am Coulombwall 1 85748 Garching Tel:+49 (0) 89 289-14077 Fax:+49 (0) 89 289-14072 On 06/01/2016 09:34 AM, Cyril Mory wrote: > Hi Guillaume, > > Can you also tell how many iterations you have performed (main loop, > conjugate gradient, and TV) ? > If you are performing 30 iterations of the main loop, with 4 CG > iterations, then considering the size of your data I do not think > anything is wrong. Reconstructing a smaller volume will give you a > large speedup (time is almost linear with number of voxels), so I > would recommend that you try again with the smallest possible volume, > i.e. the bounding box of your patient. > > Are you running the release 1.2.0 version ? If so, note that on the > master branch of the git repository, I am adding optimizations for the > 4D reconstructions. It is not fully functional at the moment, but I'm > currently working 100% of my time on it. I will let you know about the > next updates. > > Regards, > Cyril > > On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >> >> Hi Simon, >> >> Thanks for mailing list suggestion. My initial question was about >> typical reconstruction times for rtkfourdrooster. What I tried is >> summarized below: >> >> -Volume size was 410 410 264 and could be easily reduced by a good >> margin. >> >> -The GPU is quadro M4000 with 8GB >> >> -about 2300 256x256 projections with shifted elekta panel (so called >> M20) >> >> -10 phases >> >> -for the motion mask at the moment I just used the FOV mask for first >> try. >> >> --gamma_time 0.0001 >> --gamma_space 0.0001 >> - spacing 1 1 1 >> --niter 30 >> --cgiter 4 >> --tviter 10 >> >> >> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >> >> The image looked nice, albeit with the TV "feel/plastic-y". >> >> Thanks for your feedback >> Guillaume >> >> >> >> >> Quoting Simon Rit : >> >>> Hi Guillaume, >>> I'm adding RTK user list to this conversation, it's better to have >>> these conversations on the mailing list IMO. Can you tell us what's >>> the volume size and the GPU? >>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>> Simon >>> >>> On Tue, May 31, 2016 at 5:29 PM, >>> wrote: >>>> Hi Simon, >>>> >>>> I tried the rooster recon. I used the parameters from the example >>>> page. The results looks rather nice but it took several hours to >>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>> >>>> Guillaume > From cyril.mory at uclouvain.be Wed Jun 1 03:44:13 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:44:13 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E9143.8080002@physik.uni-muenchen.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> Message-ID: <574E924D.30403@uclouvain.be> The bottleneck is the 4D conjugate gradient, and by far. You can also try to reduce the number of main loop iterations (10 should already give a nice result, but you may need more for your application). That, plus reducing the size of your reconstructed volume, plus the optimizations I'm working on, should give you a reconstruction time of less than one hour. On 06/01/2016 09:39 AM, Guillaume Landry wrote: > Good morning Cyril, > > Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG > and 10 for TV (taken from example). Possibly I could reduce the number > of TV iterations? > > Looking forward to your optimizations. > > Cheers > Guillaume > > Dr. Guillaume Landry > Ludwig Maximilians University (LMU) Munich > Medical Physics > Am Coulombwall 1 > 85748 Garching > Tel:+49 (0) 89 289-14077 > Fax:+49 (0) 89 289-14072 > > On 06/01/2016 09:34 AM, Cyril Mory wrote: >> Hi Guillaume, >> >> Can you also tell how many iterations you have performed (main loop, >> conjugate gradient, and TV) ? >> If you are performing 30 iterations of the main loop, with 4 CG >> iterations, then considering the size of your data I do not think >> anything is wrong. Reconstructing a smaller volume will give you a >> large speedup (time is almost linear with number of voxels), so I >> would recommend that you try again with the smallest possible volume, >> i.e. the bounding box of your patient. >> >> Are you running the release 1.2.0 version ? If so, note that on the >> master branch of the git repository, I am adding optimizations for the >> 4D reconstructions. It is not fully functional at the moment, but I'm >> currently working 100% of my time on it. I will let you know about the >> next updates. >> >> Regards, >> Cyril >> >> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>> Hi Simon, >>> >>> Thanks for mailing list suggestion. My initial question was about >>> typical reconstruction times for rtkfourdrooster. What I tried is >>> summarized below: >>> >>> -Volume size was 410 410 264 and could be easily reduced by a good >>> margin. >>> >>> -The GPU is quadro M4000 with 8GB >>> >>> -about 2300 256x256 projections with shifted elekta panel (so called >>> M20) >>> >>> -10 phases >>> >>> -for the motion mask at the moment I just used the FOV mask for first >>> try. >>> >>> --gamma_time 0.0001 >>> --gamma_space 0.0001 >>> - spacing 1 1 1 >>> --niter 30 >>> --cgiter 4 >>> --tviter 10 >>> >>> >>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>> >>> The image looked nice, albeit with the TV "feel/plastic-y". >>> >>> Thanks for your feedback >>> Guillaume >>> >>> >>> >>> >>> Quoting Simon Rit : >>> >>>> Hi Guillaume, >>>> I'm adding RTK user list to this conversation, it's better to have >>>> these conversations on the mailing list IMO. Can you tell us what's >>>> the volume size and the GPU? >>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>> Simon >>>> >>>> On Tue, May 31, 2016 at 5:29 PM, >>>> wrote: >>>>> Hi Simon, >>>>> >>>>> I tried the rooster recon. I used the parameters from the example >>>>> page. The results looks rather nice but it took several hours to >>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>> >>>>> Guillaume From cyril.mory at uclouvain.be Thu Jun 2 07:58:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 2 Jun 2016 13:58:07 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E924D.30403@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> <574E924D.30403@uclouvain.be> Message-ID: <57501F4F.8050006@uclouvain.be> Hi Guillaume, Just wanted to let you know : if you perform a 4D CT for the planning, and use motion estimation on that 4D CT (thus getting either one 4D displacement vector field, or two inverse-consistent 4D DVFs), you can use this/these DVF(s) in ROOSTER. It should bring you a significant improvement of image quality, and on my datasets I was able to reduce the number of iterations of the main loop to 10 without problems. We can discuss this further if you are interested. Cyril On 06/01/2016 09:44 AM, Cyril Mory wrote: > The bottleneck is the 4D conjugate gradient, and by far. You can also > try to reduce the number of main loop iterations (10 should already > give a nice result, but you may need more for your application). > That, plus reducing the size of your reconstructed volume, plus the > optimizations I'm working on, should give you a reconstruction time of > less than one hour. > > On 06/01/2016 09:39 AM, Guillaume Landry wrote: >> Good morning Cyril, >> >> Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG >> and 10 for TV (taken from example). Possibly I could reduce the number >> of TV iterations? >> >> Looking forward to your optimizations. >> >> Cheers >> Guillaume >> >> Dr. Guillaume Landry >> Ludwig Maximilians University (LMU) Munich >> Medical Physics >> Am Coulombwall 1 >> 85748 Garching >> Tel:+49 (0) 89 289-14077 >> Fax:+49 (0) 89 289-14072 >> >> On 06/01/2016 09:34 AM, Cyril Mory wrote: >>> Hi Guillaume, >>> >>> Can you also tell how many iterations you have performed (main loop, >>> conjugate gradient, and TV) ? >>> If you are performing 30 iterations of the main loop, with 4 CG >>> iterations, then considering the size of your data I do not think >>> anything is wrong. Reconstructing a smaller volume will give you a >>> large speedup (time is almost linear with number of voxels), so I >>> would recommend that you try again with the smallest possible volume, >>> i.e. the bounding box of your patient. >>> >>> Are you running the release 1.2.0 version ? If so, note that on the >>> master branch of the git repository, I am adding optimizations for the >>> 4D reconstructions. It is not fully functional at the moment, but I'm >>> currently working 100% of my time on it. I will let you know about the >>> next updates. >>> >>> Regards, >>> Cyril >>> >>> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>>> Hi Simon, >>>> >>>> Thanks for mailing list suggestion. My initial question was about >>>> typical reconstruction times for rtkfourdrooster. What I tried is >>>> summarized below: >>>> >>>> -Volume size was 410 410 264 and could be easily reduced by a good >>>> margin. >>>> >>>> -The GPU is quadro M4000 with 8GB >>>> >>>> -about 2300 256x256 projections with shifted elekta panel (so called >>>> M20) >>>> >>>> -10 phases >>>> >>>> -for the motion mask at the moment I just used the FOV mask for first >>>> try. >>>> >>>> --gamma_time 0.0001 >>>> --gamma_space 0.0001 >>>> - spacing 1 1 1 >>>> --niter 30 >>>> --cgiter 4 >>>> --tviter 10 >>>> >>>> >>>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>>> >>>> The image looked nice, albeit with the TV "feel/plastic-y". >>>> >>>> Thanks for your feedback >>>> Guillaume >>>> >>>> >>>> >>>> >>>> Quoting Simon Rit : >>>> >>>>> Hi Guillaume, >>>>> I'm adding RTK user list to this conversation, it's better to have >>>>> these conversations on the mailing list IMO. Can you tell us what's >>>>> the volume size and the GPU? >>>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>>> Simon >>>>> >>>>> On Tue, May 31, 2016 at 5:29 PM, >>>>> wrote: >>>>>> Hi Simon, >>>>>> >>>>>> I tried the rooster recon. I used the parameters from the example >>>>>> page. The results looks rather nice but it took several hours to >>>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>>> >>>>>> Guillaume > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users From solomoncztang at gmail.com Tue Jun 7 18:27:35 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 7 Jun 2016 15:27:35 -0700 Subject: [Rtk-users] Cmake build error help In-Reply-To: <573171C8.80400@creatis.insa-lyon.fr> References: <573171C8.80400@creatis.insa-lyon.fr> Message-ID: My apologies for the delay, I updated GetGitRevision and it got past the initial issue. Unfortunately, the final build still failed with cuda enabled because NVCC 7.5 does not support Visual Studio 2015. On Mon, May 9, 2016 at 10:29 PM, Simon Rit wrote: > Hi, > Can you update GetGitRevisionDescription.cmake and > GetGitRevisionDescription.cmake.in from > https://github.com/rpavlik/cmake-modules and see if the new versions fix > this issue? > Thanks, > Simon > > PS: plead keep using the mailing list > > > On 10/05/2016 03:09, Solomon Tang wrote: > > Hi Simon, > > I am rebuilding RTK after moving to Visual Studio 2015 with cmake 3.5.2 > and am running into the following error: > > CMake Error at build/applications/CMakeFiles/git-data/grabRef.cmake:36 > (file): > file failed to open for reading (No such file or directory): > > > C:/Work/Tools/Current/RTK-1.2.0/build/applications/CMakeFiles/git-data/head-ref > Call Stack (most recent call first): > cmake/GetGitRevisionDescription.cmake:77 (include) > applications/CMakeLists.txt:5 (get_git_head_revision) > > I am using ITK 4.9.0 and fresh download of RTK 1.2.0. > > How do I resolve this issue? > > Thanks again, > > Solomon > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Tue Jun 14 09:12:34 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Tue, 14 Jun 2016 15:12:34 +0200 Subject: [Rtk-users] CUDA Ramp filter Message-ID: Dear all, When I use rtkramp with cuda option, I am getting following error ExceptionObject caught with streamer->Update() in file D:\programming\cpp\ext_li bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 itk::ExceptionObject (000000ADA7DAF220) Location: "unknown" File: d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil ter.txx Line: 50 Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol utionImageFilter assumes that input requested and buffered regions are equal. However, cpu version of ramp filter works fine. Thanks in advance. With regards, Shiras -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Tue Jun 14 09:38:06 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Tue, 14 Jun 2016 15:38:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: Message-ID: <576008BE.1060506@uclouvain.be> Hi Shiras, We found that bug recently with Sebastien Brousmiche and fixed it, at least for the use case we were considering. Can you try with the git master version of RTK ? Alternatively, you can replace reader->Update() with reader->UpdateOutputInformation() in line 61 of rtkramp.cxx and see if it fixes the problem. Regards, Cyril On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Wed Jun 15 04:50:17 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Wed, 15 Jun 2016 10:50:17 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <576008BE.1060506@uclouvain.be> References: <576008BE.1060506@uclouvain.be> Message-ID: Dear Cyril, Thanks a lot. Now rtkramp.exe works with cuda option. I am trying to integrate rtk cuda ramp filter into my recon program. I read the projections with ProjectionsReader and pass image pointer to cuda ramp filter pipeline using cudaRampFilter->SetInput(projections); I am getting runtime error and it says Error during cuda ramp filtering :: D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu :97: itk::ERROR: CUFFT ERROR #2 Do I need to enable or disable any parameter while reading projections to get rid of this error? I changed rtk_proj_reader_->Update to rtk_proj_reader_->UpdateOutputInformation(); But I am still getting the error. The error exists only with CudaFFTRampImageFilter and FFTRampImageFilter works fine. With regards, Shiras On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory wrote: > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, at > least for the use case we were considering. Can you try with the git master > version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 15 05:02:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 15 Jun 2016 11:02:07 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> Message-ID: <5761198F.7060504@uclouvain.be> Hi Shiras, Another user had the same error some years ago : http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html It seemed to be a GPU memory size issue. Can you tell what GPU you use, are what are the size and number of your projections ? Can you try with a single projection (you can use the "rtksubselect" application to create such a dataset out of yours) ? Best regards, Cyril On 06/15/2016 10:50 AM, Shiras Abdurahman wrote: > Dear Cyril, > > Thanks a lot. Now rtkramp.exe works with cuda option. > I am trying to integrate rtk cuda ramp filter into my recon program. I > read the projections with ProjectionsReader and pass image pointer to > cuda ramp filter pipeline using > cudaRampFilter->SetInput(projections); > > I am getting runtime error and it says > Error during cuda ramp filtering :: > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > :97: > itk::ERROR: CUFFT ERROR #2 > > Do I need to enable or disable any parameter while reading projections > to get rid of this error? I changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > But I am still getting the error. > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > With regards, > Shiras > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory > wrote: > > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, > at least for the use case we were considering. Can you try with > the git master version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> Dear all, >> >> When I use rtkramp with cuda option, I am getting following error >> >> ExceptionObject caught with streamer->Update() in file >> D:\programming\cpp\ext_li >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 >> >> itk::ExceptionObject (000000ADA7DAF220) >> Location: "unknown" >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> ter.txx >> Line: 50 >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol >> utionImageFilter assumes that input requested and buffered >> regions are equal. >> >> However, cpu version of ramp filter works fine. >> >> Thanks in advance. >> >> With regards, >> Shiras >> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 15 05:42:16 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 15 Jun 2016 11:42:16 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <5761198F.7060504@uclouvain.be> References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Hi, I recently added the --subsetsize option (see this commit ). You can try "--subsetsize 1" instead of using rtksubselect. Simon On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > >> >> >> Dear Cyril, >> >> >> >> Thanks a lot. Now rtkramp.exe works with cuda option. >> >> I am trying to integrate rtk cuda ramp filter into my recon >> program. I read the projections with ProjectionsReader and >> pass image pointer to cuda ramp filter pipeline using >> >> cudaRampFilter->SetInput(projections); >> >> >> >> >> >> I am getting runtime error and it says >> >> >> Error during cuda ramp filtering :: >> >> D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu >> >> :97: >> >> itk::ERROR: CUFFT ERROR #2 >> >> >> >> >> >> Do I need to enable or disable any parameter while reading >> projections to get rid of this error? I >> changed rtk_proj_reader_->Update >> to rtk_proj_reader_->UpdateOutputInformation(); >> >> But I am still getting the error. >> >> The error exists only with CudaFFTRampImageFilter >> and FFTRampImageFilter works fine. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Tue, Jun 14, 2016 at 3:38 PM, Cyril >> Mory > >> wrote: >> >> >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >>> >>> >>> >>> Dear all, >>> >>> >>> >>> When I use rtkramp with cuda option, I am >>> getting following error >>> >>> >>> >>> >>> >>> ExceptionObject caught with >>> streamer->Update() in file >>> D:\programming\cpp\ext_li >>> >>> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >>> line 93 >>> >>> >>> >>> >>> itk::ExceptionObject (000000ADA7DAF220) >>> >>> Location: "unknown" >>> >>> File: >>> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >>> >>> ter.txx >>> >>> Line: 50 >>> >>> Description: itk::ERROR: >>> CudaFFTRampImageFilter(000000ADAA53B490): >>> CudaFFTConvol >>> >>> utionImageFilter assumes that input >>> requested and buffered regions are equal. >>> >>> >>> >>> >>> >>> However, cpu version of ramp filter works >>> fine. >>> >>> >>> >>> >>> Thanks in advance. >>> >>> >>> >>> >>> With regards, >>> >>> Shiras >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >> >> >> >> >> >> >> >> >> > > > > > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amjad.n.cet at gmail.com Thu Jun 16 04:39:46 2016 From: amjad.n.cet at gmail.com (AMJAD N) Date: Thu, 16 Jun 2016 14:09:46 +0530 Subject: [Rtk-users] CUDA compilation error Message-ID: Hi all, I have been trying to create a new filter for flat field image correction. I have implemented the same in normal mode (which works fine.) and was trying to write one in CUDA mode for the past week. I had created 4 files in order to perform the Flat Field image correction filter as i followed the standard in GitHub : RTK Cuda files. which includes : rtkCudaFlatFieldImageFilter.h : is a header file contains the declaration of various functions and data members rtkCudaFlatFieldImageFilter.cxx : contains the body of the function defined in the header file and included the file "rtkCudaFlatFieldImageFilter.hcu" inorder to call wrapper function rtkCudaFlatFieldImageFilter.hcu : contains the function prototype of the wrapper function rtkCudaFlatFieldImageFilter.cu : contains the kernel function and the wrapper function in which the kernel function is called. When building the project I am getting error as Error c2059 syntax error at ' <<<' " in rtkCudaFlatFieldImageFilter.cu at kernel calling statement in Cuda Programming file. *So how should I compile the whole program?* My working environment is Microsoft Windows 7 32bit. Visual Studio 2013 CUDA ToolKit 6.5 GeForce 210 graphics card Thanks and Regards AMJAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Fri Jun 17 04:53:06 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Fri, 17 Jun 2016 10:53:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Dear Cyril, Yes. When I reduced the number of projections, I am not getting this error anymore. My initial projection size which caused the error was 1420x1416x21. It seems that error is due to CUDA memory issues. My GPU is GeForce GTX 670. With regards, Shiras On Wed, Jun 15, 2016 at 11:42 AM, Simon Rit wrote: > Hi, > I recently added the --subsetsize option (see this commit > ). > You can try "--subsetsize 1" instead of using rtksubselect. > Simon > > > On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > > > > Dear Cyril, > > > > Thanks a lot. Now rtkramp.exe works with cuda option. > > I am trying to integrate rtk cuda ramp filter into my recon > program. I read the projections with ProjectionsReader and > pass image pointer to cuda ramp filter pipeline using > > cudaRampFilter->SetInput(projections); > > > > > > I am getting runtime error and it says > > > Error during cuda ramp filtering :: > > > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > > :97: > > itk::ERROR: CUFFT ERROR #2 > > > > > > Do I need to enable or disable any parameter while reading > projections to get rid of this error? I > changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > > But I am still getting the error. > > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > > > > With regards, > > Shiras > > > > > > > > > > > > > > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril > Mory > wrote: > > >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >> >> >> >> Dear all, >> >> >> >> When I use rtkramp with cuda option, I am >> getting following error >> >> >> >> >> >> ExceptionObject caught with >> streamer->Update() in file >> D:\programming\cpp\ext_li >> >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >> line 93 >> >> >> >> >> itk::ExceptionObject (000000ADA7DAF220) >> >> Location: "unknown" >> >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> >> ter.txx >> >> Line: 50 >> >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): >> CudaFFTConvol >> >> utionImageFilter assumes that input >> requested and buffered regions are equal. >> >> >> >> >> >> However, cpu version of ramp filter works >> fine. >> >> >> >> >> Thanks in advance. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users >> >> >> >> >> >> >> > > > > > > > > > > > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Fri Jun 17 05:07:18 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Fri, 17 Jun 2016 11:07:18 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer Message-ID: Hi everyone, I need some help for updating a JSON file for the ConjugateGradientConeBeamReconstructionFilter. I want to test a new implementation I made on this filter to perform a support constraint for the reconstructed image. The constraint consists in a binary mask passed as an attribute. This attribute is a pointer to an image of type TOutputImage. The default value (in the constructor) is NULL. I don't know how to write it in the JSON file to wrap this member : { "name" : "SupportMask", "type" : ?, "default" : ?, "briefdescriptionSet" : "", "detaileddescriptionSet" : "", "briefdescriptionGet" : "", "detaileddescriptionGet" : "" } Does it also need to perform a specific cast with the optional field custom_itk_cast ? I don't really understand how it works. Thanks in advance for your help. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 17 12:46:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 17 Jun 2016 18:46:31 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Fabien, I can't say I master this but I had to do something similar in FieldOfViewImageFilter.json . Look at the "ProjectionsStack" parameter which is actually a 3D image. How did I come up with such a complicated code? No clue, but SimpleITK has similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json . My guess is that passing an image as a parameters in an itk image filter is not so common... I hope this helps, Simon On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey wrote: > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to perform a > support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. This > attribute is a pointer to an image of type TOutputImage. The default value > (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional field > custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Mon Jun 20 03:30:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Mon, 20 Jun 2016 09:30:07 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: <57679B7F.2060000@uclouvain.be> Hi, A question that then comes to my mind : why do you pass the image as parameter ? Passing it as input, you would benefit from the pipeline features, such as making your output outdated when you modify your input binary mask, or loading of only the required part of your binary mask, ... Did you try it, and it didn't work ? I can help you do it this way if you need. Cyril On 06/17/2016 06:46 PM, Simon Rit wrote: > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. > How did I come up with such a complicated code? No clue, but SimpleITK > has similar ugly json files, e.g., > LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image > filter is not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to > perform a support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. > This attribute is a pointer to an image of type TOutputImage. The > default value (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional > field custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 03:59:41 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 09:59:41 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Thanks for your help. It seems to be what I need ! I will try this and tell you if it works. Fabien. 2016-06-17 18:46 GMT+02:00 Simon Rit : > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 04:04:44 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 10:04:44 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: <57679B7F.2060000@uclouvain.be> References: <57679B7F.2060000@uclouvain.be> Message-ID: Hi Cyril, Of course it could be a solution, but as the filter as already 3 inputs, I did not want to add this mask as a fourth one as it seems to me that it is very optional. But I understand that it would be useful for a better memory handling. I did not try your solution and I have to confess that I do not feel sufficiently good in "RTK programming". So I willl try first my solution and we can eventually discuss in the future for a better way for implementing this feature ! Thanks for your response Cyril ! Fabien 2016-06-20 9:30 GMT+02:00 Cyril Mory : > Hi, > > A question that then comes to my mind : why do you pass the image as > parameter ? Passing it as input, you would benefit from the pipeline > features, such as making your output outdated when you modify your input > binary mask, or loading of only the required part of your binary mask, ... > Did you try it, and it didn't work ? I can help you do it this way if you > need. > > Cyril > > > On 06/17/2016 06:46 PM, Simon Rit wrote: > > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Tue Jun 21 03:27:06 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Tue, 21 Jun 2016 09:27:06 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Your solution works fine ! Thanks. I just noticed something to be careful with : the function "CastImageToITK" (in $RTK_HOME/utilities/SimpleRTK/Code/BasicFilters/include/srtkImageFilter.h) does not accept NULL pointer (an error is returned) while the default value set in the JSON file seems to declare a (0,0) image whose pointer is NULL. As a consequence it is mandatory to set an image before executing the filter. So if you plan, as this is in my case, to allow the filter not to do something if no image has been set, it will not work in SimpleRTK with this custom cast. Fabien. 2016-06-20 9:59 GMT+02:00 Fabien Momey : > Hi Simon, > > Thanks for your help. > > It seems to be what I need ! I will try this and tell you if it works. > > Fabien. > > 2016-06-17 18:46 GMT+02:00 Simon Rit : > >> Hi Fabien, >> I can't say I master this but I had to do something similar in >> FieldOfViewImageFilter.json >> . >> Look at the "ProjectionsStack" parameter which is actually a 3D image. How >> did I come up with such a complicated code? No clue, but SimpleITK has >> similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json >> . >> My guess is that passing an image as a parameters in an itk image filter is >> not so common... >> I hope this helps, >> Simon >> >> On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey >> wrote: >> >>> Hi everyone, >>> >>> I need some help for updating a JSON file for the >>> ConjugateGradientConeBeamReconstructionFilter. >>> >>> I want to test a new implementation I made on this filter to perform a >>> support constraint for the reconstructed image. >>> >>> The constraint consists in a binary mask passed as an attribute. This >>> attribute is a pointer to an image of type TOutputImage. The default value >>> (in the constructor) is NULL. >>> >>> I don't know how to write it in the JSON file to wrap this member : >>> >>> { >>> "name" : "SupportMask", >>> "type" : ?, >>> "default" : ?, >>> "briefdescriptionSet" : "", >>> "detaileddescriptionSet" : "", >>> "briefdescriptionGet" : "", >>> "detaileddescriptionGet" : "" >>> } >>> >>> Does it also need to perform a specific cast with the optional field >>> custom_itk_cast ? I don't really understand how it works. >>> >>> Thanks in advance for your help. >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From C.Zoellner at physik.uni-muenchen.de Thu Jun 23 09:48:19 2016 From: C.Zoellner at physik.uni-muenchen.de (=?UTF-8?Q?Christoph_Z=c3=b6llner?=) Date: Thu, 23 Jun 2016 15:48:19 +0200 Subject: [Rtk-users] rtksubselect Message-ID: <576BE8A3.40409@physik.uni-muenchen.de> Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Thu Jun 23 10:22:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 23 Jun 2016 16:22:39 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <576BF0AF.8000507@uclouvain.be> Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Jun 23 10:01:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 23 Jun 2016 16:01:31 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <27bf15f0-4a1a-2b3d-b876-f5989e3bbf9a@creatis.insa-lyon.fr> Hi, On my computer, it works but I had to change your regular expression to '.*.his' instead of '*.his'. It's a good idea to keep the single quotes on the command line to avoid interpretation by the command line interpreter. If this is not the issue, you can try to add the -v option to check the number of projections that is found. Simon On 23/06/2016 15:48, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From ana.vaniqui at maastro.nl Thu Jun 23 10:41:51 2016 From: ana.vaniqui at maastro.nl (Ana Vaniqui) Date: Thu, 23 Jun 2016 14:41:51 +0000 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BF0AF.8000507@uclouvain.be> References: <576BE8A3.40409@physik.uni-muenchen.de>, <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I just want to add that a tutorial on regular expressions for beginners would be very much appreciated.. Kind regards, Ana ________________________________ From: Rtk-users on behalf of Cyril Mory Sent: Thursday, June 23, 2016 4:22:39 PM To: Christoph Z?llner; rtk-users at public.kitware.com Subject: Re: [Rtk-users] rtksubselect Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 24 07:11:40 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 24 Jun 2016 13:11:40 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: References: <576BE8A3.40409@physik.uni-muenchen.de> <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I don't have a tutorial for you but you can start by reading the ITK doc: https://itk.org/Doxygen/html/classitk_1_1RegularExpressionSeriesFileNames.html There are tons of tutorials on the web (and I don't know a specifically good one), the important part to remember is that there are several formats for regular expressions and ITK uses one of them. Note that you don't have to use them in most cases. For example, Christoph could have use "-r his" to match all filenames containing "his". Simon On Thu, Jun 23, 2016 at 4:41 PM, Ana Vaniqui wrote: > Hi, > > > I just want to add that a tutorial on regular expressions for beginners > would be very much appreciated.. > > > Kind regards, > > Ana > > > ------------------------------ > *From:* Rtk-users on behalf of > Cyril Mory > *Sent:* Thursday, June 23, 2016 4:22:39 PM > *To:* Christoph Z?llner; rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] rtksubselect > > Hi Christoph, > > The error lies in the regular expression: replace the "*.his" with > ".*.his" and it should work. > > By the way: does anyone know have a tutorial on regular expressions for > beginners to recommend ? > > Cyril > > On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the largest > possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Mon Jun 27 17:56:22 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Mon, 27 Jun 2016 14:56:22 -0700 Subject: [Rtk-users] Realistic Image Quality? Message-ID: Hi Simon, I am using RTK to simulate CT acquisitions using different detector sizes to see how this impact on image quality might change some of our in-house metrics. The images I have linked to below have been created using rtkforwardprojections with different projection spacings (0.3 isometric and 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection stepsize is equal to the projection spacing. The window levels between images of their respective rows are the same. I am simply wondering if the differences between these images are realistic. I would expect the image with a detector size than is more than twice as large as the original would be drastically different when in fact they turn out to be incredibly similar. Are the assumptions made about projection spacing == cuda stepsize == simulated hardware detector size incorrect? https://gyazo.com/e86436826f687a2db4b234699d050450 https://gyazo.com/ca9612218f082e78ba3082950a27fa4c Solomon -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Tue Jun 28 03:14:49 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Tue, 28 Jun 2016 09:14:49 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: What is the magnification factor of your geometry? 2016-06-27 23:56 GMT+02:00 Solomon Tang : > Hi Simon, > > I am using RTK to simulate CT acquisitions using different detector sizes > to see how this impact on image quality might change some of our in-house > metrics. > > The images I have linked to below have been created using > rtkforwardprojections with different projection spacings (0.3 isometric and > 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and > image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection > stepsize is equal to the projection spacing. The window levels between > images of their respective rows are the same. > > I am simply wondering if the differences between these images are > realistic. I would expect the image with a detector size than is more than > twice as large as the original would be drastically different when in fact > they turn out to be incredibly similar. Are the assumptions made about > projection spacing == cuda stepsize == simulated hardware detector size > incorrect? > > > https://gyazo.com/e86436826f687a2db4b234699d050450 > > https://gyazo.com/ca9612218f082e78ba3082950a27fa4c > > Solomon > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Jun 28 04:34:07 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 28 Jun 2016 10:34:07 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, I don't expect a drastic change, only a slight loss of spatial resolution if the ray distance at the isocenter (I agree with Chao that it plays an important role) is larger than the original voxel size. Maybe it's there but you would need to zoom more to see it. You would see a more realistic difference if you were adding photon noise to your data. Simon On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > What is the magnification factor of your geometry? > > 2016-06-27 23:56 GMT+02:00 Solomon Tang : > >> Hi Simon, >> >> I am using RTK to simulate CT acquisitions using different detector sizes >> to see how this impact on image quality might change some of our in-house >> metrics. >> >> The images I have linked to below have been created using >> rtkforwardprojections with different projection spacings (0.3 isometric and >> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >> stepsize is equal to the projection spacing. The window levels between >> images of their respective rows are the same. >> >> I am simply wondering if the differences between these images are >> realistic. I would expect the image with a detector size than is more than >> twice as large as the original would be drastically different when in fact >> they turn out to be incredibly similar. Are the assumptions made about >> projection spacing == cuda stepsize == simulated hardware detector size >> incorrect? >> >> >> https://gyazo.com/e86436826f687a2db4b234699d050450 >> >> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >> >> Solomon >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Tue Jun 28 18:09:15 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 28 Jun 2016 15:09:15 -0700 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Thanks for the feedback Chao and Simon, My geometry was using default RTK sdd/sid settings. I have now changed it to match the DICOM header from the original images (1085.6 SDD, 595 SID), but not much has qualitatively changed. How do you suggest adding photon noise? I have discovered an itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling level. I'm assuming the reconstructed image should be passed through the filter, and not the projection. On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit wrote: > Hi, > I don't expect a drastic change, only a slight loss of spatial resolution > if the ray distance at the isocenter (I agree with Chao that it plays an > important role) is larger than the original voxel size. Maybe it's there > but you would need to zoom more to see it. > You would see a more realistic difference if you were adding photon noise > to your data. > Simon > > On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > >> What is the magnification factor of your geometry? >> >> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >> >>> Hi Simon, >>> >>> I am using RTK to simulate CT acquisitions using different detector >>> sizes to see how this impact on image quality might change some of our >>> in-house metrics. >>> >>> The images I have linked to below have been created using >>> rtkforwardprojections with different projection spacings (0.3 isometric and >>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>> stepsize is equal to the projection spacing. The window levels between >>> images of their respective rows are the same. >>> >>> I am simply wondering if the differences between these images are >>> realistic. I would expect the image with a detector size than is more than >>> twice as large as the original would be drastically different when in fact >>> they turn out to be incredibly similar. Are the assumptions made about >>> projection spacing == cuda stepsize == simulated hardware detector size >>> incorrect? >>> >>> >>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>> >>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>> >>> Solomon >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 29 01:28:21 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 29 Jun 2016 07:28:21 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, Attached is the python script using SimpleRTK that I have used to do the simulation of figure 6 of this publication . The paragraph where I describe what I'm doing starts with "The same simulations were repeated with Poisson noise". The interesting part of the script for you is line 158 where if I'm given a number of photons I0, I add Poisson noise. Simon On Wed, Jun 29, 2016 at 12:09 AM, Solomon Tang wrote: > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: offsetRecon2.py Type: text/x-python Size: 6981 bytes Desc: not available URL: From cyril.mory at uclouvain.be Wed Jun 29 04:51:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 29 Jun 2016 10:51:39 +0200 Subject: [Rtk-users] Replacement for TV with lower peak memory usage In-Reply-To: References: Message-ID: <57738C1B.9050206@uclouvain.be> Hi Louie, Please ask the mailing list, or at least CC it, when your question may be of interest to other RTK users. Indeed, I recommend to use rtkregularizedconjugategradient instead of ADMM_TV or ADMM_wavelets. You can activate TV regularization, wavelets regularization, or both, and it will be simpler to tune than ADMM. If you run into trouble, ask on the mailing list :) Cheers, Cyril On 06/29/2016 10:45 AM, Liu Yu wrote: > Hi Cyril, > > You said you don't recommend using the ADMM_TV method due to the > speed. Which was the alternative you suggested during the training? Is > it Regularized CG? > > Cheers, > Louie > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Wed Jun 29 04:53:28 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Wed, 29 Jun 2016 10:53:28 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi Solomon, The magnification is about 1.8. Given that the voxel spacing of your volume is 0.4688x0.4688x0.6, the corresponding projection spacing is roughly 0.84x1.08. Therefore 0.3 or 0.75 pixel spacing of your detector would not give much difference. There were just interpolation instead of real additional information that were introduced by 0.3 spacing. If you do have small structures in your object and you use a much finer grid for your volume in the simulation, I would expect to see more difference then. Regards, Chao 2016-06-29 0:09 GMT+02:00 Solomon Tang : > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 1 03:34:20 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:34:20 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> Message-ID: <574E8FFC.3010903@uclouvain.be> Hi Guillaume, Can you also tell how many iterations you have performed (main loop, conjugate gradient, and TV) ? If you are performing 30 iterations of the main loop, with 4 CG iterations, then considering the size of your data I do not think anything is wrong. Reconstructing a smaller volume will give you a large speedup (time is almost linear with number of voxels), so I would recommend that you try again with the smallest possible volume, i.e. the bounding box of your patient. Are you running the release 1.2.0 version ? If so, note that on the master branch of the git repository, I am adding optimizations for the 4D reconstructions. It is not fully functional at the moment, but I'm currently working 100% of my time on it. I will let you know about the next updates. Regards, Cyril On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: > > Hi Simon, > > Thanks for mailing list suggestion. My initial question was about > typical reconstruction times for rtkfourdrooster. What I tried is > summarized below: > > -Volume size was 410 410 264 and could be easily reduced by a good > margin. > > -The GPU is quadro M4000 with 8GB > > -about 2300 256x256 projections with shifted elekta panel (so called M20) > > -10 phases > > -for the motion mask at the moment I just used the FOV mask for first > try. > > --gamma_time 0.0001 > --gamma_space 0.0001 > - spacing 1 1 1 > --niter 30 > --cgiter 4 > --tviter 10 > > > Recon time was about 5-6 hours. I saw about 4 Gb used on the card. > > The image looked nice, albeit with the TV "feel/plastic-y". > > Thanks for your feedback > Guillaume > > > > > Quoting Simon Rit : > >> Hi Guillaume, >> I'm adding RTK user list to this conversation, it's better to have >> these conversations on the mailing list IMO. Can you tell us what's >> the volume size and the GPU? >> Cyril is ROOSTER's dev, maybe he could comment on recon times. >> Simon >> >> On Tue, May 31, 2016 at 5:29 PM, >> wrote: >>> Hi Simon, >>> >>> I tried the rooster recon. I used the parameters from the example >>> page. The results looks rather nice but it took several hours to run >>> (5-6). Its a big dataset of about 2000 256x256 projections. >>> >>> Guillaume From g.landry at physik.uni-muenchen.de Wed Jun 1 03:39:47 2016 From: g.landry at physik.uni-muenchen.de (Guillaume Landry) Date: Wed, 1 Jun 2016 09:39:47 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E8FFC.3010903@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> Message-ID: <574E9143.8080002@physik.uni-muenchen.de> Good morning Cyril, Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG and 10 for TV (taken from example). Possibly I could reduce the number of TV iterations? Looking forward to your optimizations. Cheers Guillaume Dr. Guillaume Landry Ludwig Maximilians University (LMU) Munich Medical Physics Am Coulombwall 1 85748 Garching Tel:+49 (0) 89 289-14077 Fax:+49 (0) 89 289-14072 On 06/01/2016 09:34 AM, Cyril Mory wrote: > Hi Guillaume, > > Can you also tell how many iterations you have performed (main loop, > conjugate gradient, and TV) ? > If you are performing 30 iterations of the main loop, with 4 CG > iterations, then considering the size of your data I do not think > anything is wrong. Reconstructing a smaller volume will give you a > large speedup (time is almost linear with number of voxels), so I > would recommend that you try again with the smallest possible volume, > i.e. the bounding box of your patient. > > Are you running the release 1.2.0 version ? If so, note that on the > master branch of the git repository, I am adding optimizations for the > 4D reconstructions. It is not fully functional at the moment, but I'm > currently working 100% of my time on it. I will let you know about the > next updates. > > Regards, > Cyril > > On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >> >> Hi Simon, >> >> Thanks for mailing list suggestion. My initial question was about >> typical reconstruction times for rtkfourdrooster. What I tried is >> summarized below: >> >> -Volume size was 410 410 264 and could be easily reduced by a good >> margin. >> >> -The GPU is quadro M4000 with 8GB >> >> -about 2300 256x256 projections with shifted elekta panel (so called >> M20) >> >> -10 phases >> >> -for the motion mask at the moment I just used the FOV mask for first >> try. >> >> --gamma_time 0.0001 >> --gamma_space 0.0001 >> - spacing 1 1 1 >> --niter 30 >> --cgiter 4 >> --tviter 10 >> >> >> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >> >> The image looked nice, albeit with the TV "feel/plastic-y". >> >> Thanks for your feedback >> Guillaume >> >> >> >> >> Quoting Simon Rit : >> >>> Hi Guillaume, >>> I'm adding RTK user list to this conversation, it's better to have >>> these conversations on the mailing list IMO. Can you tell us what's >>> the volume size and the GPU? >>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>> Simon >>> >>> On Tue, May 31, 2016 at 5:29 PM, >>> wrote: >>>> Hi Simon, >>>> >>>> I tried the rooster recon. I used the parameters from the example >>>> page. The results looks rather nice but it took several hours to >>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>> >>>> Guillaume > From cyril.mory at uclouvain.be Wed Jun 1 03:44:13 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:44:13 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E9143.8080002@physik.uni-muenchen.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> Message-ID: <574E924D.30403@uclouvain.be> The bottleneck is the 4D conjugate gradient, and by far. You can also try to reduce the number of main loop iterations (10 should already give a nice result, but you may need more for your application). That, plus reducing the size of your reconstructed volume, plus the optimizations I'm working on, should give you a reconstruction time of less than one hour. On 06/01/2016 09:39 AM, Guillaume Landry wrote: > Good morning Cyril, > > Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG > and 10 for TV (taken from example). Possibly I could reduce the number > of TV iterations? > > Looking forward to your optimizations. > > Cheers > Guillaume > > Dr. Guillaume Landry > Ludwig Maximilians University (LMU) Munich > Medical Physics > Am Coulombwall 1 > 85748 Garching > Tel:+49 (0) 89 289-14077 > Fax:+49 (0) 89 289-14072 > > On 06/01/2016 09:34 AM, Cyril Mory wrote: >> Hi Guillaume, >> >> Can you also tell how many iterations you have performed (main loop, >> conjugate gradient, and TV) ? >> If you are performing 30 iterations of the main loop, with 4 CG >> iterations, then considering the size of your data I do not think >> anything is wrong. Reconstructing a smaller volume will give you a >> large speedup (time is almost linear with number of voxels), so I >> would recommend that you try again with the smallest possible volume, >> i.e. the bounding box of your patient. >> >> Are you running the release 1.2.0 version ? If so, note that on the >> master branch of the git repository, I am adding optimizations for the >> 4D reconstructions. It is not fully functional at the moment, but I'm >> currently working 100% of my time on it. I will let you know about the >> next updates. >> >> Regards, >> Cyril >> >> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>> Hi Simon, >>> >>> Thanks for mailing list suggestion. My initial question was about >>> typical reconstruction times for rtkfourdrooster. What I tried is >>> summarized below: >>> >>> -Volume size was 410 410 264 and could be easily reduced by a good >>> margin. >>> >>> -The GPU is quadro M4000 with 8GB >>> >>> -about 2300 256x256 projections with shifted elekta panel (so called >>> M20) >>> >>> -10 phases >>> >>> -for the motion mask at the moment I just used the FOV mask for first >>> try. >>> >>> --gamma_time 0.0001 >>> --gamma_space 0.0001 >>> - spacing 1 1 1 >>> --niter 30 >>> --cgiter 4 >>> --tviter 10 >>> >>> >>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>> >>> The image looked nice, albeit with the TV "feel/plastic-y". >>> >>> Thanks for your feedback >>> Guillaume >>> >>> >>> >>> >>> Quoting Simon Rit : >>> >>>> Hi Guillaume, >>>> I'm adding RTK user list to this conversation, it's better to have >>>> these conversations on the mailing list IMO. Can you tell us what's >>>> the volume size and the GPU? >>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>> Simon >>>> >>>> On Tue, May 31, 2016 at 5:29 PM, >>>> wrote: >>>>> Hi Simon, >>>>> >>>>> I tried the rooster recon. I used the parameters from the example >>>>> page. The results looks rather nice but it took several hours to >>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>> >>>>> Guillaume From cyril.mory at uclouvain.be Thu Jun 2 07:58:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 2 Jun 2016 13:58:07 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E924D.30403@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> <574E924D.30403@uclouvain.be> Message-ID: <57501F4F.8050006@uclouvain.be> Hi Guillaume, Just wanted to let you know : if you perform a 4D CT for the planning, and use motion estimation on that 4D CT (thus getting either one 4D displacement vector field, or two inverse-consistent 4D DVFs), you can use this/these DVF(s) in ROOSTER. It should bring you a significant improvement of image quality, and on my datasets I was able to reduce the number of iterations of the main loop to 10 without problems. We can discuss this further if you are interested. Cyril On 06/01/2016 09:44 AM, Cyril Mory wrote: > The bottleneck is the 4D conjugate gradient, and by far. You can also > try to reduce the number of main loop iterations (10 should already > give a nice result, but you may need more for your application). > That, plus reducing the size of your reconstructed volume, plus the > optimizations I'm working on, should give you a reconstruction time of > less than one hour. > > On 06/01/2016 09:39 AM, Guillaume Landry wrote: >> Good morning Cyril, >> >> Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG >> and 10 for TV (taken from example). Possibly I could reduce the number >> of TV iterations? >> >> Looking forward to your optimizations. >> >> Cheers >> Guillaume >> >> Dr. Guillaume Landry >> Ludwig Maximilians University (LMU) Munich >> Medical Physics >> Am Coulombwall 1 >> 85748 Garching >> Tel:+49 (0) 89 289-14077 >> Fax:+49 (0) 89 289-14072 >> >> On 06/01/2016 09:34 AM, Cyril Mory wrote: >>> Hi Guillaume, >>> >>> Can you also tell how many iterations you have performed (main loop, >>> conjugate gradient, and TV) ? >>> If you are performing 30 iterations of the main loop, with 4 CG >>> iterations, then considering the size of your data I do not think >>> anything is wrong. Reconstructing a smaller volume will give you a >>> large speedup (time is almost linear with number of voxels), so I >>> would recommend that you try again with the smallest possible volume, >>> i.e. the bounding box of your patient. >>> >>> Are you running the release 1.2.0 version ? If so, note that on the >>> master branch of the git repository, I am adding optimizations for the >>> 4D reconstructions. It is not fully functional at the moment, but I'm >>> currently working 100% of my time on it. I will let you know about the >>> next updates. >>> >>> Regards, >>> Cyril >>> >>> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>>> Hi Simon, >>>> >>>> Thanks for mailing list suggestion. My initial question was about >>>> typical reconstruction times for rtkfourdrooster. What I tried is >>>> summarized below: >>>> >>>> -Volume size was 410 410 264 and could be easily reduced by a good >>>> margin. >>>> >>>> -The GPU is quadro M4000 with 8GB >>>> >>>> -about 2300 256x256 projections with shifted elekta panel (so called >>>> M20) >>>> >>>> -10 phases >>>> >>>> -for the motion mask at the moment I just used the FOV mask for first >>>> try. >>>> >>>> --gamma_time 0.0001 >>>> --gamma_space 0.0001 >>>> - spacing 1 1 1 >>>> --niter 30 >>>> --cgiter 4 >>>> --tviter 10 >>>> >>>> >>>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>>> >>>> The image looked nice, albeit with the TV "feel/plastic-y". >>>> >>>> Thanks for your feedback >>>> Guillaume >>>> >>>> >>>> >>>> >>>> Quoting Simon Rit : >>>> >>>>> Hi Guillaume, >>>>> I'm adding RTK user list to this conversation, it's better to have >>>>> these conversations on the mailing list IMO. Can you tell us what's >>>>> the volume size and the GPU? >>>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>>> Simon >>>>> >>>>> On Tue, May 31, 2016 at 5:29 PM, >>>>> wrote: >>>>>> Hi Simon, >>>>>> >>>>>> I tried the rooster recon. I used the parameters from the example >>>>>> page. The results looks rather nice but it took several hours to >>>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>>> >>>>>> Guillaume > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users From solomoncztang at gmail.com Tue Jun 7 18:27:35 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 7 Jun 2016 15:27:35 -0700 Subject: [Rtk-users] Cmake build error help In-Reply-To: <573171C8.80400@creatis.insa-lyon.fr> References: <573171C8.80400@creatis.insa-lyon.fr> Message-ID: My apologies for the delay, I updated GetGitRevision and it got past the initial issue. Unfortunately, the final build still failed with cuda enabled because NVCC 7.5 does not support Visual Studio 2015. On Mon, May 9, 2016 at 10:29 PM, Simon Rit wrote: > Hi, > Can you update GetGitRevisionDescription.cmake and > GetGitRevisionDescription.cmake.in from > https://github.com/rpavlik/cmake-modules and see if the new versions fix > this issue? > Thanks, > Simon > > PS: plead keep using the mailing list > > > On 10/05/2016 03:09, Solomon Tang wrote: > > Hi Simon, > > I am rebuilding RTK after moving to Visual Studio 2015 with cmake 3.5.2 > and am running into the following error: > > CMake Error at build/applications/CMakeFiles/git-data/grabRef.cmake:36 > (file): > file failed to open for reading (No such file or directory): > > > C:/Work/Tools/Current/RTK-1.2.0/build/applications/CMakeFiles/git-data/head-ref > Call Stack (most recent call first): > cmake/GetGitRevisionDescription.cmake:77 (include) > applications/CMakeLists.txt:5 (get_git_head_revision) > > I am using ITK 4.9.0 and fresh download of RTK 1.2.0. > > How do I resolve this issue? > > Thanks again, > > Solomon > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Tue Jun 14 09:12:34 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Tue, 14 Jun 2016 15:12:34 +0200 Subject: [Rtk-users] CUDA Ramp filter Message-ID: Dear all, When I use rtkramp with cuda option, I am getting following error ExceptionObject caught with streamer->Update() in file D:\programming\cpp\ext_li bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 itk::ExceptionObject (000000ADA7DAF220) Location: "unknown" File: d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil ter.txx Line: 50 Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol utionImageFilter assumes that input requested and buffered regions are equal. However, cpu version of ramp filter works fine. Thanks in advance. With regards, Shiras -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Tue Jun 14 09:38:06 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Tue, 14 Jun 2016 15:38:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: Message-ID: <576008BE.1060506@uclouvain.be> Hi Shiras, We found that bug recently with Sebastien Brousmiche and fixed it, at least for the use case we were considering. Can you try with the git master version of RTK ? Alternatively, you can replace reader->Update() with reader->UpdateOutputInformation() in line 61 of rtkramp.cxx and see if it fixes the problem. Regards, Cyril On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Wed Jun 15 04:50:17 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Wed, 15 Jun 2016 10:50:17 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <576008BE.1060506@uclouvain.be> References: <576008BE.1060506@uclouvain.be> Message-ID: Dear Cyril, Thanks a lot. Now rtkramp.exe works with cuda option. I am trying to integrate rtk cuda ramp filter into my recon program. I read the projections with ProjectionsReader and pass image pointer to cuda ramp filter pipeline using cudaRampFilter->SetInput(projections); I am getting runtime error and it says Error during cuda ramp filtering :: D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu :97: itk::ERROR: CUFFT ERROR #2 Do I need to enable or disable any parameter while reading projections to get rid of this error? I changed rtk_proj_reader_->Update to rtk_proj_reader_->UpdateOutputInformation(); But I am still getting the error. The error exists only with CudaFFTRampImageFilter and FFTRampImageFilter works fine. With regards, Shiras On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory wrote: > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, at > least for the use case we were considering. Can you try with the git master > version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 15 05:02:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 15 Jun 2016 11:02:07 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> Message-ID: <5761198F.7060504@uclouvain.be> Hi Shiras, Another user had the same error some years ago : http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html It seemed to be a GPU memory size issue. Can you tell what GPU you use, are what are the size and number of your projections ? Can you try with a single projection (you can use the "rtksubselect" application to create such a dataset out of yours) ? Best regards, Cyril On 06/15/2016 10:50 AM, Shiras Abdurahman wrote: > Dear Cyril, > > Thanks a lot. Now rtkramp.exe works with cuda option. > I am trying to integrate rtk cuda ramp filter into my recon program. I > read the projections with ProjectionsReader and pass image pointer to > cuda ramp filter pipeline using > cudaRampFilter->SetInput(projections); > > I am getting runtime error and it says > Error during cuda ramp filtering :: > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > :97: > itk::ERROR: CUFFT ERROR #2 > > Do I need to enable or disable any parameter while reading projections > to get rid of this error? I changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > But I am still getting the error. > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > With regards, > Shiras > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory > wrote: > > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, > at least for the use case we were considering. Can you try with > the git master version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> Dear all, >> >> When I use rtkramp with cuda option, I am getting following error >> >> ExceptionObject caught with streamer->Update() in file >> D:\programming\cpp\ext_li >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 >> >> itk::ExceptionObject (000000ADA7DAF220) >> Location: "unknown" >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> ter.txx >> Line: 50 >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol >> utionImageFilter assumes that input requested and buffered >> regions are equal. >> >> However, cpu version of ramp filter works fine. >> >> Thanks in advance. >> >> With regards, >> Shiras >> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 15 05:42:16 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 15 Jun 2016 11:42:16 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <5761198F.7060504@uclouvain.be> References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Hi, I recently added the --subsetsize option (see this commit ). You can try "--subsetsize 1" instead of using rtksubselect. Simon On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > >> >> >> Dear Cyril, >> >> >> >> Thanks a lot. Now rtkramp.exe works with cuda option. >> >> I am trying to integrate rtk cuda ramp filter into my recon >> program. I read the projections with ProjectionsReader and >> pass image pointer to cuda ramp filter pipeline using >> >> cudaRampFilter->SetInput(projections); >> >> >> >> >> >> I am getting runtime error and it says >> >> >> Error during cuda ramp filtering :: >> >> D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu >> >> :97: >> >> itk::ERROR: CUFFT ERROR #2 >> >> >> >> >> >> Do I need to enable or disable any parameter while reading >> projections to get rid of this error? I >> changed rtk_proj_reader_->Update >> to rtk_proj_reader_->UpdateOutputInformation(); >> >> But I am still getting the error. >> >> The error exists only with CudaFFTRampImageFilter >> and FFTRampImageFilter works fine. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Tue, Jun 14, 2016 at 3:38 PM, Cyril >> Mory > >> wrote: >> >> >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >>> >>> >>> >>> Dear all, >>> >>> >>> >>> When I use rtkramp with cuda option, I am >>> getting following error >>> >>> >>> >>> >>> >>> ExceptionObject caught with >>> streamer->Update() in file >>> D:\programming\cpp\ext_li >>> >>> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >>> line 93 >>> >>> >>> >>> >>> itk::ExceptionObject (000000ADA7DAF220) >>> >>> Location: "unknown" >>> >>> File: >>> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >>> >>> ter.txx >>> >>> Line: 50 >>> >>> Description: itk::ERROR: >>> CudaFFTRampImageFilter(000000ADAA53B490): >>> CudaFFTConvol >>> >>> utionImageFilter assumes that input >>> requested and buffered regions are equal. >>> >>> >>> >>> >>> >>> However, cpu version of ramp filter works >>> fine. >>> >>> >>> >>> >>> Thanks in advance. >>> >>> >>> >>> >>> With regards, >>> >>> Shiras >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >> >> >> >> >> >> >> >> >> > > > > > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amjad.n.cet at gmail.com Thu Jun 16 04:39:46 2016 From: amjad.n.cet at gmail.com (AMJAD N) Date: Thu, 16 Jun 2016 14:09:46 +0530 Subject: [Rtk-users] CUDA compilation error Message-ID: Hi all, I have been trying to create a new filter for flat field image correction. I have implemented the same in normal mode (which works fine.) and was trying to write one in CUDA mode for the past week. I had created 4 files in order to perform the Flat Field image correction filter as i followed the standard in GitHub : RTK Cuda files. which includes : rtkCudaFlatFieldImageFilter.h : is a header file contains the declaration of various functions and data members rtkCudaFlatFieldImageFilter.cxx : contains the body of the function defined in the header file and included the file "rtkCudaFlatFieldImageFilter.hcu" inorder to call wrapper function rtkCudaFlatFieldImageFilter.hcu : contains the function prototype of the wrapper function rtkCudaFlatFieldImageFilter.cu : contains the kernel function and the wrapper function in which the kernel function is called. When building the project I am getting error as Error c2059 syntax error at ' <<<' " in rtkCudaFlatFieldImageFilter.cu at kernel calling statement in Cuda Programming file. *So how should I compile the whole program?* My working environment is Microsoft Windows 7 32bit. Visual Studio 2013 CUDA ToolKit 6.5 GeForce 210 graphics card Thanks and Regards AMJAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Fri Jun 17 04:53:06 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Fri, 17 Jun 2016 10:53:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Dear Cyril, Yes. When I reduced the number of projections, I am not getting this error anymore. My initial projection size which caused the error was 1420x1416x21. It seems that error is due to CUDA memory issues. My GPU is GeForce GTX 670. With regards, Shiras On Wed, Jun 15, 2016 at 11:42 AM, Simon Rit wrote: > Hi, > I recently added the --subsetsize option (see this commit > ). > You can try "--subsetsize 1" instead of using rtksubselect. > Simon > > > On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > > > > Dear Cyril, > > > > Thanks a lot. Now rtkramp.exe works with cuda option. > > I am trying to integrate rtk cuda ramp filter into my recon > program. I read the projections with ProjectionsReader and > pass image pointer to cuda ramp filter pipeline using > > cudaRampFilter->SetInput(projections); > > > > > > I am getting runtime error and it says > > > Error during cuda ramp filtering :: > > > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > > :97: > > itk::ERROR: CUFFT ERROR #2 > > > > > > Do I need to enable or disable any parameter while reading > projections to get rid of this error? I > changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > > But I am still getting the error. > > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > > > > With regards, > > Shiras > > > > > > > > > > > > > > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril > Mory > wrote: > > >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >> >> >> >> Dear all, >> >> >> >> When I use rtkramp with cuda option, I am >> getting following error >> >> >> >> >> >> ExceptionObject caught with >> streamer->Update() in file >> D:\programming\cpp\ext_li >> >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >> line 93 >> >> >> >> >> itk::ExceptionObject (000000ADA7DAF220) >> >> Location: "unknown" >> >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> >> ter.txx >> >> Line: 50 >> >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): >> CudaFFTConvol >> >> utionImageFilter assumes that input >> requested and buffered regions are equal. >> >> >> >> >> >> However, cpu version of ramp filter works >> fine. >> >> >> >> >> Thanks in advance. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users >> >> >> >> >> >> >> > > > > > > > > > > > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Fri Jun 17 05:07:18 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Fri, 17 Jun 2016 11:07:18 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer Message-ID: Hi everyone, I need some help for updating a JSON file for the ConjugateGradientConeBeamReconstructionFilter. I want to test a new implementation I made on this filter to perform a support constraint for the reconstructed image. The constraint consists in a binary mask passed as an attribute. This attribute is a pointer to an image of type TOutputImage. The default value (in the constructor) is NULL. I don't know how to write it in the JSON file to wrap this member : { "name" : "SupportMask", "type" : ?, "default" : ?, "briefdescriptionSet" : "", "detaileddescriptionSet" : "", "briefdescriptionGet" : "", "detaileddescriptionGet" : "" } Does it also need to perform a specific cast with the optional field custom_itk_cast ? I don't really understand how it works. Thanks in advance for your help. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 17 12:46:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 17 Jun 2016 18:46:31 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Fabien, I can't say I master this but I had to do something similar in FieldOfViewImageFilter.json . Look at the "ProjectionsStack" parameter which is actually a 3D image. How did I come up with such a complicated code? No clue, but SimpleITK has similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json . My guess is that passing an image as a parameters in an itk image filter is not so common... I hope this helps, Simon On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey wrote: > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to perform a > support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. This > attribute is a pointer to an image of type TOutputImage. The default value > (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional field > custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Mon Jun 20 03:30:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Mon, 20 Jun 2016 09:30:07 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: <57679B7F.2060000@uclouvain.be> Hi, A question that then comes to my mind : why do you pass the image as parameter ? Passing it as input, you would benefit from the pipeline features, such as making your output outdated when you modify your input binary mask, or loading of only the required part of your binary mask, ... Did you try it, and it didn't work ? I can help you do it this way if you need. Cyril On 06/17/2016 06:46 PM, Simon Rit wrote: > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. > How did I come up with such a complicated code? No clue, but SimpleITK > has similar ugly json files, e.g., > LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image > filter is not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to > perform a support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. > This attribute is a pointer to an image of type TOutputImage. The > default value (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional > field custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 03:59:41 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 09:59:41 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Thanks for your help. It seems to be what I need ! I will try this and tell you if it works. Fabien. 2016-06-17 18:46 GMT+02:00 Simon Rit : > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 04:04:44 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 10:04:44 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: <57679B7F.2060000@uclouvain.be> References: <57679B7F.2060000@uclouvain.be> Message-ID: Hi Cyril, Of course it could be a solution, but as the filter as already 3 inputs, I did not want to add this mask as a fourth one as it seems to me that it is very optional. But I understand that it would be useful for a better memory handling. I did not try your solution and I have to confess that I do not feel sufficiently good in "RTK programming". So I willl try first my solution and we can eventually discuss in the future for a better way for implementing this feature ! Thanks for your response Cyril ! Fabien 2016-06-20 9:30 GMT+02:00 Cyril Mory : > Hi, > > A question that then comes to my mind : why do you pass the image as > parameter ? Passing it as input, you would benefit from the pipeline > features, such as making your output outdated when you modify your input > binary mask, or loading of only the required part of your binary mask, ... > Did you try it, and it didn't work ? I can help you do it this way if you > need. > > Cyril > > > On 06/17/2016 06:46 PM, Simon Rit wrote: > > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Tue Jun 21 03:27:06 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Tue, 21 Jun 2016 09:27:06 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Your solution works fine ! Thanks. I just noticed something to be careful with : the function "CastImageToITK" (in $RTK_HOME/utilities/SimpleRTK/Code/BasicFilters/include/srtkImageFilter.h) does not accept NULL pointer (an error is returned) while the default value set in the JSON file seems to declare a (0,0) image whose pointer is NULL. As a consequence it is mandatory to set an image before executing the filter. So if you plan, as this is in my case, to allow the filter not to do something if no image has been set, it will not work in SimpleRTK with this custom cast. Fabien. 2016-06-20 9:59 GMT+02:00 Fabien Momey : > Hi Simon, > > Thanks for your help. > > It seems to be what I need ! I will try this and tell you if it works. > > Fabien. > > 2016-06-17 18:46 GMT+02:00 Simon Rit : > >> Hi Fabien, >> I can't say I master this but I had to do something similar in >> FieldOfViewImageFilter.json >> . >> Look at the "ProjectionsStack" parameter which is actually a 3D image. How >> did I come up with such a complicated code? No clue, but SimpleITK has >> similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json >> . >> My guess is that passing an image as a parameters in an itk image filter is >> not so common... >> I hope this helps, >> Simon >> >> On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey >> wrote: >> >>> Hi everyone, >>> >>> I need some help for updating a JSON file for the >>> ConjugateGradientConeBeamReconstructionFilter. >>> >>> I want to test a new implementation I made on this filter to perform a >>> support constraint for the reconstructed image. >>> >>> The constraint consists in a binary mask passed as an attribute. This >>> attribute is a pointer to an image of type TOutputImage. The default value >>> (in the constructor) is NULL. >>> >>> I don't know how to write it in the JSON file to wrap this member : >>> >>> { >>> "name" : "SupportMask", >>> "type" : ?, >>> "default" : ?, >>> "briefdescriptionSet" : "", >>> "detaileddescriptionSet" : "", >>> "briefdescriptionGet" : "", >>> "detaileddescriptionGet" : "" >>> } >>> >>> Does it also need to perform a specific cast with the optional field >>> custom_itk_cast ? I don't really understand how it works. >>> >>> Thanks in advance for your help. >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From C.Zoellner at physik.uni-muenchen.de Thu Jun 23 09:48:19 2016 From: C.Zoellner at physik.uni-muenchen.de (=?UTF-8?Q?Christoph_Z=c3=b6llner?=) Date: Thu, 23 Jun 2016 15:48:19 +0200 Subject: [Rtk-users] rtksubselect Message-ID: <576BE8A3.40409@physik.uni-muenchen.de> Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Thu Jun 23 10:22:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 23 Jun 2016 16:22:39 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <576BF0AF.8000507@uclouvain.be> Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Jun 23 10:01:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 23 Jun 2016 16:01:31 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <27bf15f0-4a1a-2b3d-b876-f5989e3bbf9a@creatis.insa-lyon.fr> Hi, On my computer, it works but I had to change your regular expression to '.*.his' instead of '*.his'. It's a good idea to keep the single quotes on the command line to avoid interpretation by the command line interpreter. If this is not the issue, you can try to add the -v option to check the number of projections that is found. Simon On 23/06/2016 15:48, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From ana.vaniqui at maastro.nl Thu Jun 23 10:41:51 2016 From: ana.vaniqui at maastro.nl (Ana Vaniqui) Date: Thu, 23 Jun 2016 14:41:51 +0000 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BF0AF.8000507@uclouvain.be> References: <576BE8A3.40409@physik.uni-muenchen.de>, <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I just want to add that a tutorial on regular expressions for beginners would be very much appreciated.. Kind regards, Ana ________________________________ From: Rtk-users on behalf of Cyril Mory Sent: Thursday, June 23, 2016 4:22:39 PM To: Christoph Z?llner; rtk-users at public.kitware.com Subject: Re: [Rtk-users] rtksubselect Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 24 07:11:40 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 24 Jun 2016 13:11:40 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: References: <576BE8A3.40409@physik.uni-muenchen.de> <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I don't have a tutorial for you but you can start by reading the ITK doc: https://itk.org/Doxygen/html/classitk_1_1RegularExpressionSeriesFileNames.html There are tons of tutorials on the web (and I don't know a specifically good one), the important part to remember is that there are several formats for regular expressions and ITK uses one of them. Note that you don't have to use them in most cases. For example, Christoph could have use "-r his" to match all filenames containing "his". Simon On Thu, Jun 23, 2016 at 4:41 PM, Ana Vaniqui wrote: > Hi, > > > I just want to add that a tutorial on regular expressions for beginners > would be very much appreciated.. > > > Kind regards, > > Ana > > > ------------------------------ > *From:* Rtk-users on behalf of > Cyril Mory > *Sent:* Thursday, June 23, 2016 4:22:39 PM > *To:* Christoph Z?llner; rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] rtksubselect > > Hi Christoph, > > The error lies in the regular expression: replace the "*.his" with > ".*.his" and it should work. > > By the way: does anyone know have a tutorial on regular expressions for > beginners to recommend ? > > Cyril > > On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the largest > possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Mon Jun 27 17:56:22 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Mon, 27 Jun 2016 14:56:22 -0700 Subject: [Rtk-users] Realistic Image Quality? Message-ID: Hi Simon, I am using RTK to simulate CT acquisitions using different detector sizes to see how this impact on image quality might change some of our in-house metrics. The images I have linked to below have been created using rtkforwardprojections with different projection spacings (0.3 isometric and 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection stepsize is equal to the projection spacing. The window levels between images of their respective rows are the same. I am simply wondering if the differences between these images are realistic. I would expect the image with a detector size than is more than twice as large as the original would be drastically different when in fact they turn out to be incredibly similar. Are the assumptions made about projection spacing == cuda stepsize == simulated hardware detector size incorrect? https://gyazo.com/e86436826f687a2db4b234699d050450 https://gyazo.com/ca9612218f082e78ba3082950a27fa4c Solomon -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Tue Jun 28 03:14:49 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Tue, 28 Jun 2016 09:14:49 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: What is the magnification factor of your geometry? 2016-06-27 23:56 GMT+02:00 Solomon Tang : > Hi Simon, > > I am using RTK to simulate CT acquisitions using different detector sizes > to see how this impact on image quality might change some of our in-house > metrics. > > The images I have linked to below have been created using > rtkforwardprojections with different projection spacings (0.3 isometric and > 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and > image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection > stepsize is equal to the projection spacing. The window levels between > images of their respective rows are the same. > > I am simply wondering if the differences between these images are > realistic. I would expect the image with a detector size than is more than > twice as large as the original would be drastically different when in fact > they turn out to be incredibly similar. Are the assumptions made about > projection spacing == cuda stepsize == simulated hardware detector size > incorrect? > > > https://gyazo.com/e86436826f687a2db4b234699d050450 > > https://gyazo.com/ca9612218f082e78ba3082950a27fa4c > > Solomon > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Jun 28 04:34:07 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 28 Jun 2016 10:34:07 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, I don't expect a drastic change, only a slight loss of spatial resolution if the ray distance at the isocenter (I agree with Chao that it plays an important role) is larger than the original voxel size. Maybe it's there but you would need to zoom more to see it. You would see a more realistic difference if you were adding photon noise to your data. Simon On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > What is the magnification factor of your geometry? > > 2016-06-27 23:56 GMT+02:00 Solomon Tang : > >> Hi Simon, >> >> I am using RTK to simulate CT acquisitions using different detector sizes >> to see how this impact on image quality might change some of our in-house >> metrics. >> >> The images I have linked to below have been created using >> rtkforwardprojections with different projection spacings (0.3 isometric and >> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >> stepsize is equal to the projection spacing. The window levels between >> images of their respective rows are the same. >> >> I am simply wondering if the differences between these images are >> realistic. I would expect the image with a detector size than is more than >> twice as large as the original would be drastically different when in fact >> they turn out to be incredibly similar. Are the assumptions made about >> projection spacing == cuda stepsize == simulated hardware detector size >> incorrect? >> >> >> https://gyazo.com/e86436826f687a2db4b234699d050450 >> >> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >> >> Solomon >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Tue Jun 28 18:09:15 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 28 Jun 2016 15:09:15 -0700 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Thanks for the feedback Chao and Simon, My geometry was using default RTK sdd/sid settings. I have now changed it to match the DICOM header from the original images (1085.6 SDD, 595 SID), but not much has qualitatively changed. How do you suggest adding photon noise? I have discovered an itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling level. I'm assuming the reconstructed image should be passed through the filter, and not the projection. On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit wrote: > Hi, > I don't expect a drastic change, only a slight loss of spatial resolution > if the ray distance at the isocenter (I agree with Chao that it plays an > important role) is larger than the original voxel size. Maybe it's there > but you would need to zoom more to see it. > You would see a more realistic difference if you were adding photon noise > to your data. > Simon > > On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > >> What is the magnification factor of your geometry? >> >> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >> >>> Hi Simon, >>> >>> I am using RTK to simulate CT acquisitions using different detector >>> sizes to see how this impact on image quality might change some of our >>> in-house metrics. >>> >>> The images I have linked to below have been created using >>> rtkforwardprojections with different projection spacings (0.3 isometric and >>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>> stepsize is equal to the projection spacing. The window levels between >>> images of their respective rows are the same. >>> >>> I am simply wondering if the differences between these images are >>> realistic. I would expect the image with a detector size than is more than >>> twice as large as the original would be drastically different when in fact >>> they turn out to be incredibly similar. Are the assumptions made about >>> projection spacing == cuda stepsize == simulated hardware detector size >>> incorrect? >>> >>> >>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>> >>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>> >>> Solomon >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 29 01:28:21 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 29 Jun 2016 07:28:21 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, Attached is the python script using SimpleRTK that I have used to do the simulation of figure 6 of this publication . The paragraph where I describe what I'm doing starts with "The same simulations were repeated with Poisson noise". The interesting part of the script for you is line 158 where if I'm given a number of photons I0, I add Poisson noise. Simon On Wed, Jun 29, 2016 at 12:09 AM, Solomon Tang wrote: > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: offsetRecon2.py Type: text/x-python Size: 6981 bytes Desc: not available URL: From cyril.mory at uclouvain.be Wed Jun 29 04:51:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 29 Jun 2016 10:51:39 +0200 Subject: [Rtk-users] Replacement for TV with lower peak memory usage In-Reply-To: References: Message-ID: <57738C1B.9050206@uclouvain.be> Hi Louie, Please ask the mailing list, or at least CC it, when your question may be of interest to other RTK users. Indeed, I recommend to use rtkregularizedconjugategradient instead of ADMM_TV or ADMM_wavelets. You can activate TV regularization, wavelets regularization, or both, and it will be simpler to tune than ADMM. If you run into trouble, ask on the mailing list :) Cheers, Cyril On 06/29/2016 10:45 AM, Liu Yu wrote: > Hi Cyril, > > You said you don't recommend using the ADMM_TV method due to the > speed. Which was the alternative you suggested during the training? Is > it Regularized CG? > > Cheers, > Louie > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Wed Jun 29 04:53:28 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Wed, 29 Jun 2016 10:53:28 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi Solomon, The magnification is about 1.8. Given that the voxel spacing of your volume is 0.4688x0.4688x0.6, the corresponding projection spacing is roughly 0.84x1.08. Therefore 0.3 or 0.75 pixel spacing of your detector would not give much difference. There were just interpolation instead of real additional information that were introduced by 0.3 spacing. If you do have small structures in your object and you use a much finer grid for your volume in the simulation, I would expect to see more difference then. Regards, Chao 2016-06-29 0:09 GMT+02:00 Solomon Tang : > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 1 03:34:20 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:34:20 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> Message-ID: <574E8FFC.3010903@uclouvain.be> Hi Guillaume, Can you also tell how many iterations you have performed (main loop, conjugate gradient, and TV) ? If you are performing 30 iterations of the main loop, with 4 CG iterations, then considering the size of your data I do not think anything is wrong. Reconstructing a smaller volume will give you a large speedup (time is almost linear with number of voxels), so I would recommend that you try again with the smallest possible volume, i.e. the bounding box of your patient. Are you running the release 1.2.0 version ? If so, note that on the master branch of the git repository, I am adding optimizations for the 4D reconstructions. It is not fully functional at the moment, but I'm currently working 100% of my time on it. I will let you know about the next updates. Regards, Cyril On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: > > Hi Simon, > > Thanks for mailing list suggestion. My initial question was about > typical reconstruction times for rtkfourdrooster. What I tried is > summarized below: > > -Volume size was 410 410 264 and could be easily reduced by a good > margin. > > -The GPU is quadro M4000 with 8GB > > -about 2300 256x256 projections with shifted elekta panel (so called M20) > > -10 phases > > -for the motion mask at the moment I just used the FOV mask for first > try. > > --gamma_time 0.0001 > --gamma_space 0.0001 > - spacing 1 1 1 > --niter 30 > --cgiter 4 > --tviter 10 > > > Recon time was about 5-6 hours. I saw about 4 Gb used on the card. > > The image looked nice, albeit with the TV "feel/plastic-y". > > Thanks for your feedback > Guillaume > > > > > Quoting Simon Rit : > >> Hi Guillaume, >> I'm adding RTK user list to this conversation, it's better to have >> these conversations on the mailing list IMO. Can you tell us what's >> the volume size and the GPU? >> Cyril is ROOSTER's dev, maybe he could comment on recon times. >> Simon >> >> On Tue, May 31, 2016 at 5:29 PM, >> wrote: >>> Hi Simon, >>> >>> I tried the rooster recon. I used the parameters from the example >>> page. The results looks rather nice but it took several hours to run >>> (5-6). Its a big dataset of about 2000 256x256 projections. >>> >>> Guillaume From g.landry at physik.uni-muenchen.de Wed Jun 1 03:39:47 2016 From: g.landry at physik.uni-muenchen.de (Guillaume Landry) Date: Wed, 1 Jun 2016 09:39:47 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E8FFC.3010903@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> Message-ID: <574E9143.8080002@physik.uni-muenchen.de> Good morning Cyril, Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG and 10 for TV (taken from example). Possibly I could reduce the number of TV iterations? Looking forward to your optimizations. Cheers Guillaume Dr. Guillaume Landry Ludwig Maximilians University (LMU) Munich Medical Physics Am Coulombwall 1 85748 Garching Tel:+49 (0) 89 289-14077 Fax:+49 (0) 89 289-14072 On 06/01/2016 09:34 AM, Cyril Mory wrote: > Hi Guillaume, > > Can you also tell how many iterations you have performed (main loop, > conjugate gradient, and TV) ? > If you are performing 30 iterations of the main loop, with 4 CG > iterations, then considering the size of your data I do not think > anything is wrong. Reconstructing a smaller volume will give you a > large speedup (time is almost linear with number of voxels), so I > would recommend that you try again with the smallest possible volume, > i.e. the bounding box of your patient. > > Are you running the release 1.2.0 version ? If so, note that on the > master branch of the git repository, I am adding optimizations for the > 4D reconstructions. It is not fully functional at the moment, but I'm > currently working 100% of my time on it. I will let you know about the > next updates. > > Regards, > Cyril > > On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >> >> Hi Simon, >> >> Thanks for mailing list suggestion. My initial question was about >> typical reconstruction times for rtkfourdrooster. What I tried is >> summarized below: >> >> -Volume size was 410 410 264 and could be easily reduced by a good >> margin. >> >> -The GPU is quadro M4000 with 8GB >> >> -about 2300 256x256 projections with shifted elekta panel (so called >> M20) >> >> -10 phases >> >> -for the motion mask at the moment I just used the FOV mask for first >> try. >> >> --gamma_time 0.0001 >> --gamma_space 0.0001 >> - spacing 1 1 1 >> --niter 30 >> --cgiter 4 >> --tviter 10 >> >> >> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >> >> The image looked nice, albeit with the TV "feel/plastic-y". >> >> Thanks for your feedback >> Guillaume >> >> >> >> >> Quoting Simon Rit : >> >>> Hi Guillaume, >>> I'm adding RTK user list to this conversation, it's better to have >>> these conversations on the mailing list IMO. Can you tell us what's >>> the volume size and the GPU? >>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>> Simon >>> >>> On Tue, May 31, 2016 at 5:29 PM, >>> wrote: >>>> Hi Simon, >>>> >>>> I tried the rooster recon. I used the parameters from the example >>>> page. The results looks rather nice but it took several hours to >>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>> >>>> Guillaume > From cyril.mory at uclouvain.be Wed Jun 1 03:44:13 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:44:13 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E9143.8080002@physik.uni-muenchen.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> Message-ID: <574E924D.30403@uclouvain.be> The bottleneck is the 4D conjugate gradient, and by far. You can also try to reduce the number of main loop iterations (10 should already give a nice result, but you may need more for your application). That, plus reducing the size of your reconstructed volume, plus the optimizations I'm working on, should give you a reconstruction time of less than one hour. On 06/01/2016 09:39 AM, Guillaume Landry wrote: > Good morning Cyril, > > Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG > and 10 for TV (taken from example). Possibly I could reduce the number > of TV iterations? > > Looking forward to your optimizations. > > Cheers > Guillaume > > Dr. Guillaume Landry > Ludwig Maximilians University (LMU) Munich > Medical Physics > Am Coulombwall 1 > 85748 Garching > Tel:+49 (0) 89 289-14077 > Fax:+49 (0) 89 289-14072 > > On 06/01/2016 09:34 AM, Cyril Mory wrote: >> Hi Guillaume, >> >> Can you also tell how many iterations you have performed (main loop, >> conjugate gradient, and TV) ? >> If you are performing 30 iterations of the main loop, with 4 CG >> iterations, then considering the size of your data I do not think >> anything is wrong. Reconstructing a smaller volume will give you a >> large speedup (time is almost linear with number of voxels), so I >> would recommend that you try again with the smallest possible volume, >> i.e. the bounding box of your patient. >> >> Are you running the release 1.2.0 version ? If so, note that on the >> master branch of the git repository, I am adding optimizations for the >> 4D reconstructions. It is not fully functional at the moment, but I'm >> currently working 100% of my time on it. I will let you know about the >> next updates. >> >> Regards, >> Cyril >> >> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>> Hi Simon, >>> >>> Thanks for mailing list suggestion. My initial question was about >>> typical reconstruction times for rtkfourdrooster. What I tried is >>> summarized below: >>> >>> -Volume size was 410 410 264 and could be easily reduced by a good >>> margin. >>> >>> -The GPU is quadro M4000 with 8GB >>> >>> -about 2300 256x256 projections with shifted elekta panel (so called >>> M20) >>> >>> -10 phases >>> >>> -for the motion mask at the moment I just used the FOV mask for first >>> try. >>> >>> --gamma_time 0.0001 >>> --gamma_space 0.0001 >>> - spacing 1 1 1 >>> --niter 30 >>> --cgiter 4 >>> --tviter 10 >>> >>> >>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>> >>> The image looked nice, albeit with the TV "feel/plastic-y". >>> >>> Thanks for your feedback >>> Guillaume >>> >>> >>> >>> >>> Quoting Simon Rit : >>> >>>> Hi Guillaume, >>>> I'm adding RTK user list to this conversation, it's better to have >>>> these conversations on the mailing list IMO. Can you tell us what's >>>> the volume size and the GPU? >>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>> Simon >>>> >>>> On Tue, May 31, 2016 at 5:29 PM, >>>> wrote: >>>>> Hi Simon, >>>>> >>>>> I tried the rooster recon. I used the parameters from the example >>>>> page. The results looks rather nice but it took several hours to >>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>> >>>>> Guillaume From cyril.mory at uclouvain.be Thu Jun 2 07:58:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 2 Jun 2016 13:58:07 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E924D.30403@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> <574E924D.30403@uclouvain.be> Message-ID: <57501F4F.8050006@uclouvain.be> Hi Guillaume, Just wanted to let you know : if you perform a 4D CT for the planning, and use motion estimation on that 4D CT (thus getting either one 4D displacement vector field, or two inverse-consistent 4D DVFs), you can use this/these DVF(s) in ROOSTER. It should bring you a significant improvement of image quality, and on my datasets I was able to reduce the number of iterations of the main loop to 10 without problems. We can discuss this further if you are interested. Cyril On 06/01/2016 09:44 AM, Cyril Mory wrote: > The bottleneck is the 4D conjugate gradient, and by far. You can also > try to reduce the number of main loop iterations (10 should already > give a nice result, but you may need more for your application). > That, plus reducing the size of your reconstructed volume, plus the > optimizations I'm working on, should give you a reconstruction time of > less than one hour. > > On 06/01/2016 09:39 AM, Guillaume Landry wrote: >> Good morning Cyril, >> >> Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG >> and 10 for TV (taken from example). Possibly I could reduce the number >> of TV iterations? >> >> Looking forward to your optimizations. >> >> Cheers >> Guillaume >> >> Dr. Guillaume Landry >> Ludwig Maximilians University (LMU) Munich >> Medical Physics >> Am Coulombwall 1 >> 85748 Garching >> Tel:+49 (0) 89 289-14077 >> Fax:+49 (0) 89 289-14072 >> >> On 06/01/2016 09:34 AM, Cyril Mory wrote: >>> Hi Guillaume, >>> >>> Can you also tell how many iterations you have performed (main loop, >>> conjugate gradient, and TV) ? >>> If you are performing 30 iterations of the main loop, with 4 CG >>> iterations, then considering the size of your data I do not think >>> anything is wrong. Reconstructing a smaller volume will give you a >>> large speedup (time is almost linear with number of voxels), so I >>> would recommend that you try again with the smallest possible volume, >>> i.e. the bounding box of your patient. >>> >>> Are you running the release 1.2.0 version ? If so, note that on the >>> master branch of the git repository, I am adding optimizations for the >>> 4D reconstructions. It is not fully functional at the moment, but I'm >>> currently working 100% of my time on it. I will let you know about the >>> next updates. >>> >>> Regards, >>> Cyril >>> >>> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>>> Hi Simon, >>>> >>>> Thanks for mailing list suggestion. My initial question was about >>>> typical reconstruction times for rtkfourdrooster. What I tried is >>>> summarized below: >>>> >>>> -Volume size was 410 410 264 and could be easily reduced by a good >>>> margin. >>>> >>>> -The GPU is quadro M4000 with 8GB >>>> >>>> -about 2300 256x256 projections with shifted elekta panel (so called >>>> M20) >>>> >>>> -10 phases >>>> >>>> -for the motion mask at the moment I just used the FOV mask for first >>>> try. >>>> >>>> --gamma_time 0.0001 >>>> --gamma_space 0.0001 >>>> - spacing 1 1 1 >>>> --niter 30 >>>> --cgiter 4 >>>> --tviter 10 >>>> >>>> >>>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>>> >>>> The image looked nice, albeit with the TV "feel/plastic-y". >>>> >>>> Thanks for your feedback >>>> Guillaume >>>> >>>> >>>> >>>> >>>> Quoting Simon Rit : >>>> >>>>> Hi Guillaume, >>>>> I'm adding RTK user list to this conversation, it's better to have >>>>> these conversations on the mailing list IMO. Can you tell us what's >>>>> the volume size and the GPU? >>>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>>> Simon >>>>> >>>>> On Tue, May 31, 2016 at 5:29 PM, >>>>> wrote: >>>>>> Hi Simon, >>>>>> >>>>>> I tried the rooster recon. I used the parameters from the example >>>>>> page. The results looks rather nice but it took several hours to >>>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>>> >>>>>> Guillaume > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users From solomoncztang at gmail.com Tue Jun 7 18:27:35 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 7 Jun 2016 15:27:35 -0700 Subject: [Rtk-users] Cmake build error help In-Reply-To: <573171C8.80400@creatis.insa-lyon.fr> References: <573171C8.80400@creatis.insa-lyon.fr> Message-ID: My apologies for the delay, I updated GetGitRevision and it got past the initial issue. Unfortunately, the final build still failed with cuda enabled because NVCC 7.5 does not support Visual Studio 2015. On Mon, May 9, 2016 at 10:29 PM, Simon Rit wrote: > Hi, > Can you update GetGitRevisionDescription.cmake and > GetGitRevisionDescription.cmake.in from > https://github.com/rpavlik/cmake-modules and see if the new versions fix > this issue? > Thanks, > Simon > > PS: plead keep using the mailing list > > > On 10/05/2016 03:09, Solomon Tang wrote: > > Hi Simon, > > I am rebuilding RTK after moving to Visual Studio 2015 with cmake 3.5.2 > and am running into the following error: > > CMake Error at build/applications/CMakeFiles/git-data/grabRef.cmake:36 > (file): > file failed to open for reading (No such file or directory): > > > C:/Work/Tools/Current/RTK-1.2.0/build/applications/CMakeFiles/git-data/head-ref > Call Stack (most recent call first): > cmake/GetGitRevisionDescription.cmake:77 (include) > applications/CMakeLists.txt:5 (get_git_head_revision) > > I am using ITK 4.9.0 and fresh download of RTK 1.2.0. > > How do I resolve this issue? > > Thanks again, > > Solomon > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Tue Jun 14 09:12:34 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Tue, 14 Jun 2016 15:12:34 +0200 Subject: [Rtk-users] CUDA Ramp filter Message-ID: Dear all, When I use rtkramp with cuda option, I am getting following error ExceptionObject caught with streamer->Update() in file D:\programming\cpp\ext_li bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 itk::ExceptionObject (000000ADA7DAF220) Location: "unknown" File: d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil ter.txx Line: 50 Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol utionImageFilter assumes that input requested and buffered regions are equal. However, cpu version of ramp filter works fine. Thanks in advance. With regards, Shiras -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Tue Jun 14 09:38:06 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Tue, 14 Jun 2016 15:38:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: Message-ID: <576008BE.1060506@uclouvain.be> Hi Shiras, We found that bug recently with Sebastien Brousmiche and fixed it, at least for the use case we were considering. Can you try with the git master version of RTK ? Alternatively, you can replace reader->Update() with reader->UpdateOutputInformation() in line 61 of rtkramp.cxx and see if it fixes the problem. Regards, Cyril On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Wed Jun 15 04:50:17 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Wed, 15 Jun 2016 10:50:17 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <576008BE.1060506@uclouvain.be> References: <576008BE.1060506@uclouvain.be> Message-ID: Dear Cyril, Thanks a lot. Now rtkramp.exe works with cuda option. I am trying to integrate rtk cuda ramp filter into my recon program. I read the projections with ProjectionsReader and pass image pointer to cuda ramp filter pipeline using cudaRampFilter->SetInput(projections); I am getting runtime error and it says Error during cuda ramp filtering :: D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu :97: itk::ERROR: CUFFT ERROR #2 Do I need to enable or disable any parameter while reading projections to get rid of this error? I changed rtk_proj_reader_->Update to rtk_proj_reader_->UpdateOutputInformation(); But I am still getting the error. The error exists only with CudaFFTRampImageFilter and FFTRampImageFilter works fine. With regards, Shiras On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory wrote: > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, at > least for the use case we were considering. Can you try with the git master > version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 15 05:02:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 15 Jun 2016 11:02:07 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> Message-ID: <5761198F.7060504@uclouvain.be> Hi Shiras, Another user had the same error some years ago : http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html It seemed to be a GPU memory size issue. Can you tell what GPU you use, are what are the size and number of your projections ? Can you try with a single projection (you can use the "rtksubselect" application to create such a dataset out of yours) ? Best regards, Cyril On 06/15/2016 10:50 AM, Shiras Abdurahman wrote: > Dear Cyril, > > Thanks a lot. Now rtkramp.exe works with cuda option. > I am trying to integrate rtk cuda ramp filter into my recon program. I > read the projections with ProjectionsReader and pass image pointer to > cuda ramp filter pipeline using > cudaRampFilter->SetInput(projections); > > I am getting runtime error and it says > Error during cuda ramp filtering :: > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > :97: > itk::ERROR: CUFFT ERROR #2 > > Do I need to enable or disable any parameter while reading projections > to get rid of this error? I changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > But I am still getting the error. > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > With regards, > Shiras > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory > wrote: > > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, > at least for the use case we were considering. Can you try with > the git master version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> Dear all, >> >> When I use rtkramp with cuda option, I am getting following error >> >> ExceptionObject caught with streamer->Update() in file >> D:\programming\cpp\ext_li >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 >> >> itk::ExceptionObject (000000ADA7DAF220) >> Location: "unknown" >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> ter.txx >> Line: 50 >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol >> utionImageFilter assumes that input requested and buffered >> regions are equal. >> >> However, cpu version of ramp filter works fine. >> >> Thanks in advance. >> >> With regards, >> Shiras >> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 15 05:42:16 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 15 Jun 2016 11:42:16 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <5761198F.7060504@uclouvain.be> References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Hi, I recently added the --subsetsize option (see this commit ). You can try "--subsetsize 1" instead of using rtksubselect. Simon On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > >> >> >> Dear Cyril, >> >> >> >> Thanks a lot. Now rtkramp.exe works with cuda option. >> >> I am trying to integrate rtk cuda ramp filter into my recon >> program. I read the projections with ProjectionsReader and >> pass image pointer to cuda ramp filter pipeline using >> >> cudaRampFilter->SetInput(projections); >> >> >> >> >> >> I am getting runtime error and it says >> >> >> Error during cuda ramp filtering :: >> >> D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu >> >> :97: >> >> itk::ERROR: CUFFT ERROR #2 >> >> >> >> >> >> Do I need to enable or disable any parameter while reading >> projections to get rid of this error? I >> changed rtk_proj_reader_->Update >> to rtk_proj_reader_->UpdateOutputInformation(); >> >> But I am still getting the error. >> >> The error exists only with CudaFFTRampImageFilter >> and FFTRampImageFilter works fine. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Tue, Jun 14, 2016 at 3:38 PM, Cyril >> Mory > >> wrote: >> >> >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >>> >>> >>> >>> Dear all, >>> >>> >>> >>> When I use rtkramp with cuda option, I am >>> getting following error >>> >>> >>> >>> >>> >>> ExceptionObject caught with >>> streamer->Update() in file >>> D:\programming\cpp\ext_li >>> >>> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >>> line 93 >>> >>> >>> >>> >>> itk::ExceptionObject (000000ADA7DAF220) >>> >>> Location: "unknown" >>> >>> File: >>> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >>> >>> ter.txx >>> >>> Line: 50 >>> >>> Description: itk::ERROR: >>> CudaFFTRampImageFilter(000000ADAA53B490): >>> CudaFFTConvol >>> >>> utionImageFilter assumes that input >>> requested and buffered regions are equal. >>> >>> >>> >>> >>> >>> However, cpu version of ramp filter works >>> fine. >>> >>> >>> >>> >>> Thanks in advance. >>> >>> >>> >>> >>> With regards, >>> >>> Shiras >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >> >> >> >> >> >> >> >> >> > > > > > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amjad.n.cet at gmail.com Thu Jun 16 04:39:46 2016 From: amjad.n.cet at gmail.com (AMJAD N) Date: Thu, 16 Jun 2016 14:09:46 +0530 Subject: [Rtk-users] CUDA compilation error Message-ID: Hi all, I have been trying to create a new filter for flat field image correction. I have implemented the same in normal mode (which works fine.) and was trying to write one in CUDA mode for the past week. I had created 4 files in order to perform the Flat Field image correction filter as i followed the standard in GitHub : RTK Cuda files. which includes : rtkCudaFlatFieldImageFilter.h : is a header file contains the declaration of various functions and data members rtkCudaFlatFieldImageFilter.cxx : contains the body of the function defined in the header file and included the file "rtkCudaFlatFieldImageFilter.hcu" inorder to call wrapper function rtkCudaFlatFieldImageFilter.hcu : contains the function prototype of the wrapper function rtkCudaFlatFieldImageFilter.cu : contains the kernel function and the wrapper function in which the kernel function is called. When building the project I am getting error as Error c2059 syntax error at ' <<<' " in rtkCudaFlatFieldImageFilter.cu at kernel calling statement in Cuda Programming file. *So how should I compile the whole program?* My working environment is Microsoft Windows 7 32bit. Visual Studio 2013 CUDA ToolKit 6.5 GeForce 210 graphics card Thanks and Regards AMJAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Fri Jun 17 04:53:06 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Fri, 17 Jun 2016 10:53:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Dear Cyril, Yes. When I reduced the number of projections, I am not getting this error anymore. My initial projection size which caused the error was 1420x1416x21. It seems that error is due to CUDA memory issues. My GPU is GeForce GTX 670. With regards, Shiras On Wed, Jun 15, 2016 at 11:42 AM, Simon Rit wrote: > Hi, > I recently added the --subsetsize option (see this commit > ). > You can try "--subsetsize 1" instead of using rtksubselect. > Simon > > > On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > > > > Dear Cyril, > > > > Thanks a lot. Now rtkramp.exe works with cuda option. > > I am trying to integrate rtk cuda ramp filter into my recon > program. I read the projections with ProjectionsReader and > pass image pointer to cuda ramp filter pipeline using > > cudaRampFilter->SetInput(projections); > > > > > > I am getting runtime error and it says > > > Error during cuda ramp filtering :: > > > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > > :97: > > itk::ERROR: CUFFT ERROR #2 > > > > > > Do I need to enable or disable any parameter while reading > projections to get rid of this error? I > changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > > But I am still getting the error. > > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > > > > With regards, > > Shiras > > > > > > > > > > > > > > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril > Mory > wrote: > > >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >> >> >> >> Dear all, >> >> >> >> When I use rtkramp with cuda option, I am >> getting following error >> >> >> >> >> >> ExceptionObject caught with >> streamer->Update() in file >> D:\programming\cpp\ext_li >> >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >> line 93 >> >> >> >> >> itk::ExceptionObject (000000ADA7DAF220) >> >> Location: "unknown" >> >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> >> ter.txx >> >> Line: 50 >> >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): >> CudaFFTConvol >> >> utionImageFilter assumes that input >> requested and buffered regions are equal. >> >> >> >> >> >> However, cpu version of ramp filter works >> fine. >> >> >> >> >> Thanks in advance. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users >> >> >> >> >> >> >> > > > > > > > > > > > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Fri Jun 17 05:07:18 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Fri, 17 Jun 2016 11:07:18 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer Message-ID: Hi everyone, I need some help for updating a JSON file for the ConjugateGradientConeBeamReconstructionFilter. I want to test a new implementation I made on this filter to perform a support constraint for the reconstructed image. The constraint consists in a binary mask passed as an attribute. This attribute is a pointer to an image of type TOutputImage. The default value (in the constructor) is NULL. I don't know how to write it in the JSON file to wrap this member : { "name" : "SupportMask", "type" : ?, "default" : ?, "briefdescriptionSet" : "", "detaileddescriptionSet" : "", "briefdescriptionGet" : "", "detaileddescriptionGet" : "" } Does it also need to perform a specific cast with the optional field custom_itk_cast ? I don't really understand how it works. Thanks in advance for your help. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 17 12:46:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 17 Jun 2016 18:46:31 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Fabien, I can't say I master this but I had to do something similar in FieldOfViewImageFilter.json . Look at the "ProjectionsStack" parameter which is actually a 3D image. How did I come up with such a complicated code? No clue, but SimpleITK has similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json . My guess is that passing an image as a parameters in an itk image filter is not so common... I hope this helps, Simon On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey wrote: > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to perform a > support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. This > attribute is a pointer to an image of type TOutputImage. The default value > (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional field > custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Mon Jun 20 03:30:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Mon, 20 Jun 2016 09:30:07 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: <57679B7F.2060000@uclouvain.be> Hi, A question that then comes to my mind : why do you pass the image as parameter ? Passing it as input, you would benefit from the pipeline features, such as making your output outdated when you modify your input binary mask, or loading of only the required part of your binary mask, ... Did you try it, and it didn't work ? I can help you do it this way if you need. Cyril On 06/17/2016 06:46 PM, Simon Rit wrote: > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. > How did I come up with such a complicated code? No clue, but SimpleITK > has similar ugly json files, e.g., > LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image > filter is not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to > perform a support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. > This attribute is a pointer to an image of type TOutputImage. The > default value (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional > field custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 03:59:41 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 09:59:41 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Thanks for your help. It seems to be what I need ! I will try this and tell you if it works. Fabien. 2016-06-17 18:46 GMT+02:00 Simon Rit : > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 04:04:44 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 10:04:44 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: <57679B7F.2060000@uclouvain.be> References: <57679B7F.2060000@uclouvain.be> Message-ID: Hi Cyril, Of course it could be a solution, but as the filter as already 3 inputs, I did not want to add this mask as a fourth one as it seems to me that it is very optional. But I understand that it would be useful for a better memory handling. I did not try your solution and I have to confess that I do not feel sufficiently good in "RTK programming". So I willl try first my solution and we can eventually discuss in the future for a better way for implementing this feature ! Thanks for your response Cyril ! Fabien 2016-06-20 9:30 GMT+02:00 Cyril Mory : > Hi, > > A question that then comes to my mind : why do you pass the image as > parameter ? Passing it as input, you would benefit from the pipeline > features, such as making your output outdated when you modify your input > binary mask, or loading of only the required part of your binary mask, ... > Did you try it, and it didn't work ? I can help you do it this way if you > need. > > Cyril > > > On 06/17/2016 06:46 PM, Simon Rit wrote: > > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Tue Jun 21 03:27:06 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Tue, 21 Jun 2016 09:27:06 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Your solution works fine ! Thanks. I just noticed something to be careful with : the function "CastImageToITK" (in $RTK_HOME/utilities/SimpleRTK/Code/BasicFilters/include/srtkImageFilter.h) does not accept NULL pointer (an error is returned) while the default value set in the JSON file seems to declare a (0,0) image whose pointer is NULL. As a consequence it is mandatory to set an image before executing the filter. So if you plan, as this is in my case, to allow the filter not to do something if no image has been set, it will not work in SimpleRTK with this custom cast. Fabien. 2016-06-20 9:59 GMT+02:00 Fabien Momey : > Hi Simon, > > Thanks for your help. > > It seems to be what I need ! I will try this and tell you if it works. > > Fabien. > > 2016-06-17 18:46 GMT+02:00 Simon Rit : > >> Hi Fabien, >> I can't say I master this but I had to do something similar in >> FieldOfViewImageFilter.json >> . >> Look at the "ProjectionsStack" parameter which is actually a 3D image. How >> did I come up with such a complicated code? No clue, but SimpleITK has >> similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json >> . >> My guess is that passing an image as a parameters in an itk image filter is >> not so common... >> I hope this helps, >> Simon >> >> On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey >> wrote: >> >>> Hi everyone, >>> >>> I need some help for updating a JSON file for the >>> ConjugateGradientConeBeamReconstructionFilter. >>> >>> I want to test a new implementation I made on this filter to perform a >>> support constraint for the reconstructed image. >>> >>> The constraint consists in a binary mask passed as an attribute. This >>> attribute is a pointer to an image of type TOutputImage. The default value >>> (in the constructor) is NULL. >>> >>> I don't know how to write it in the JSON file to wrap this member : >>> >>> { >>> "name" : "SupportMask", >>> "type" : ?, >>> "default" : ?, >>> "briefdescriptionSet" : "", >>> "detaileddescriptionSet" : "", >>> "briefdescriptionGet" : "", >>> "detaileddescriptionGet" : "" >>> } >>> >>> Does it also need to perform a specific cast with the optional field >>> custom_itk_cast ? I don't really understand how it works. >>> >>> Thanks in advance for your help. >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From C.Zoellner at physik.uni-muenchen.de Thu Jun 23 09:48:19 2016 From: C.Zoellner at physik.uni-muenchen.de (=?UTF-8?Q?Christoph_Z=c3=b6llner?=) Date: Thu, 23 Jun 2016 15:48:19 +0200 Subject: [Rtk-users] rtksubselect Message-ID: <576BE8A3.40409@physik.uni-muenchen.de> Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Thu Jun 23 10:22:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 23 Jun 2016 16:22:39 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <576BF0AF.8000507@uclouvain.be> Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Jun 23 10:01:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 23 Jun 2016 16:01:31 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <27bf15f0-4a1a-2b3d-b876-f5989e3bbf9a@creatis.insa-lyon.fr> Hi, On my computer, it works but I had to change your regular expression to '.*.his' instead of '*.his'. It's a good idea to keep the single quotes on the command line to avoid interpretation by the command line interpreter. If this is not the issue, you can try to add the -v option to check the number of projections that is found. Simon On 23/06/2016 15:48, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From ana.vaniqui at maastro.nl Thu Jun 23 10:41:51 2016 From: ana.vaniqui at maastro.nl (Ana Vaniqui) Date: Thu, 23 Jun 2016 14:41:51 +0000 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BF0AF.8000507@uclouvain.be> References: <576BE8A3.40409@physik.uni-muenchen.de>, <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I just want to add that a tutorial on regular expressions for beginners would be very much appreciated.. Kind regards, Ana ________________________________ From: Rtk-users on behalf of Cyril Mory Sent: Thursday, June 23, 2016 4:22:39 PM To: Christoph Z?llner; rtk-users at public.kitware.com Subject: Re: [Rtk-users] rtksubselect Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 24 07:11:40 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 24 Jun 2016 13:11:40 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: References: <576BE8A3.40409@physik.uni-muenchen.de> <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I don't have a tutorial for you but you can start by reading the ITK doc: https://itk.org/Doxygen/html/classitk_1_1RegularExpressionSeriesFileNames.html There are tons of tutorials on the web (and I don't know a specifically good one), the important part to remember is that there are several formats for regular expressions and ITK uses one of them. Note that you don't have to use them in most cases. For example, Christoph could have use "-r his" to match all filenames containing "his". Simon On Thu, Jun 23, 2016 at 4:41 PM, Ana Vaniqui wrote: > Hi, > > > I just want to add that a tutorial on regular expressions for beginners > would be very much appreciated.. > > > Kind regards, > > Ana > > > ------------------------------ > *From:* Rtk-users on behalf of > Cyril Mory > *Sent:* Thursday, June 23, 2016 4:22:39 PM > *To:* Christoph Z?llner; rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] rtksubselect > > Hi Christoph, > > The error lies in the regular expression: replace the "*.his" with > ".*.his" and it should work. > > By the way: does anyone know have a tutorial on regular expressions for > beginners to recommend ? > > Cyril > > On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the largest > possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Mon Jun 27 17:56:22 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Mon, 27 Jun 2016 14:56:22 -0700 Subject: [Rtk-users] Realistic Image Quality? Message-ID: Hi Simon, I am using RTK to simulate CT acquisitions using different detector sizes to see how this impact on image quality might change some of our in-house metrics. The images I have linked to below have been created using rtkforwardprojections with different projection spacings (0.3 isometric and 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection stepsize is equal to the projection spacing. The window levels between images of their respective rows are the same. I am simply wondering if the differences between these images are realistic. I would expect the image with a detector size than is more than twice as large as the original would be drastically different when in fact they turn out to be incredibly similar. Are the assumptions made about projection spacing == cuda stepsize == simulated hardware detector size incorrect? https://gyazo.com/e86436826f687a2db4b234699d050450 https://gyazo.com/ca9612218f082e78ba3082950a27fa4c Solomon -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Tue Jun 28 03:14:49 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Tue, 28 Jun 2016 09:14:49 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: What is the magnification factor of your geometry? 2016-06-27 23:56 GMT+02:00 Solomon Tang : > Hi Simon, > > I am using RTK to simulate CT acquisitions using different detector sizes > to see how this impact on image quality might change some of our in-house > metrics. > > The images I have linked to below have been created using > rtkforwardprojections with different projection spacings (0.3 isometric and > 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and > image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection > stepsize is equal to the projection spacing. The window levels between > images of their respective rows are the same. > > I am simply wondering if the differences between these images are > realistic. I would expect the image with a detector size than is more than > twice as large as the original would be drastically different when in fact > they turn out to be incredibly similar. Are the assumptions made about > projection spacing == cuda stepsize == simulated hardware detector size > incorrect? > > > https://gyazo.com/e86436826f687a2db4b234699d050450 > > https://gyazo.com/ca9612218f082e78ba3082950a27fa4c > > Solomon > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Jun 28 04:34:07 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 28 Jun 2016 10:34:07 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, I don't expect a drastic change, only a slight loss of spatial resolution if the ray distance at the isocenter (I agree with Chao that it plays an important role) is larger than the original voxel size. Maybe it's there but you would need to zoom more to see it. You would see a more realistic difference if you were adding photon noise to your data. Simon On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > What is the magnification factor of your geometry? > > 2016-06-27 23:56 GMT+02:00 Solomon Tang : > >> Hi Simon, >> >> I am using RTK to simulate CT acquisitions using different detector sizes >> to see how this impact on image quality might change some of our in-house >> metrics. >> >> The images I have linked to below have been created using >> rtkforwardprojections with different projection spacings (0.3 isometric and >> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >> stepsize is equal to the projection spacing. The window levels between >> images of their respective rows are the same. >> >> I am simply wondering if the differences between these images are >> realistic. I would expect the image with a detector size than is more than >> twice as large as the original would be drastically different when in fact >> they turn out to be incredibly similar. Are the assumptions made about >> projection spacing == cuda stepsize == simulated hardware detector size >> incorrect? >> >> >> https://gyazo.com/e86436826f687a2db4b234699d050450 >> >> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >> >> Solomon >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Tue Jun 28 18:09:15 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 28 Jun 2016 15:09:15 -0700 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Thanks for the feedback Chao and Simon, My geometry was using default RTK sdd/sid settings. I have now changed it to match the DICOM header from the original images (1085.6 SDD, 595 SID), but not much has qualitatively changed. How do you suggest adding photon noise? I have discovered an itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling level. I'm assuming the reconstructed image should be passed through the filter, and not the projection. On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit wrote: > Hi, > I don't expect a drastic change, only a slight loss of spatial resolution > if the ray distance at the isocenter (I agree with Chao that it plays an > important role) is larger than the original voxel size. Maybe it's there > but you would need to zoom more to see it. > You would see a more realistic difference if you were adding photon noise > to your data. > Simon > > On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > >> What is the magnification factor of your geometry? >> >> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >> >>> Hi Simon, >>> >>> I am using RTK to simulate CT acquisitions using different detector >>> sizes to see how this impact on image quality might change some of our >>> in-house metrics. >>> >>> The images I have linked to below have been created using >>> rtkforwardprojections with different projection spacings (0.3 isometric and >>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>> stepsize is equal to the projection spacing. The window levels between >>> images of their respective rows are the same. >>> >>> I am simply wondering if the differences between these images are >>> realistic. I would expect the image with a detector size than is more than >>> twice as large as the original would be drastically different when in fact >>> they turn out to be incredibly similar. Are the assumptions made about >>> projection spacing == cuda stepsize == simulated hardware detector size >>> incorrect? >>> >>> >>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>> >>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>> >>> Solomon >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 29 01:28:21 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 29 Jun 2016 07:28:21 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, Attached is the python script using SimpleRTK that I have used to do the simulation of figure 6 of this publication . The paragraph where I describe what I'm doing starts with "The same simulations were repeated with Poisson noise". The interesting part of the script for you is line 158 where if I'm given a number of photons I0, I add Poisson noise. Simon On Wed, Jun 29, 2016 at 12:09 AM, Solomon Tang wrote: > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: offsetRecon2.py Type: text/x-python Size: 6981 bytes Desc: not available URL: From cyril.mory at uclouvain.be Wed Jun 29 04:51:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 29 Jun 2016 10:51:39 +0200 Subject: [Rtk-users] Replacement for TV with lower peak memory usage In-Reply-To: References: Message-ID: <57738C1B.9050206@uclouvain.be> Hi Louie, Please ask the mailing list, or at least CC it, when your question may be of interest to other RTK users. Indeed, I recommend to use rtkregularizedconjugategradient instead of ADMM_TV or ADMM_wavelets. You can activate TV regularization, wavelets regularization, or both, and it will be simpler to tune than ADMM. If you run into trouble, ask on the mailing list :) Cheers, Cyril On 06/29/2016 10:45 AM, Liu Yu wrote: > Hi Cyril, > > You said you don't recommend using the ADMM_TV method due to the > speed. Which was the alternative you suggested during the training? Is > it Regularized CG? > > Cheers, > Louie > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Wed Jun 29 04:53:28 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Wed, 29 Jun 2016 10:53:28 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi Solomon, The magnification is about 1.8. Given that the voxel spacing of your volume is 0.4688x0.4688x0.6, the corresponding projection spacing is roughly 0.84x1.08. Therefore 0.3 or 0.75 pixel spacing of your detector would not give much difference. There were just interpolation instead of real additional information that were introduced by 0.3 spacing. If you do have small structures in your object and you use a much finer grid for your volume in the simulation, I would expect to see more difference then. Regards, Chao 2016-06-29 0:09 GMT+02:00 Solomon Tang : > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 1 03:34:20 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:34:20 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> Message-ID: <574E8FFC.3010903@uclouvain.be> Hi Guillaume, Can you also tell how many iterations you have performed (main loop, conjugate gradient, and TV) ? If you are performing 30 iterations of the main loop, with 4 CG iterations, then considering the size of your data I do not think anything is wrong. Reconstructing a smaller volume will give you a large speedup (time is almost linear with number of voxels), so I would recommend that you try again with the smallest possible volume, i.e. the bounding box of your patient. Are you running the release 1.2.0 version ? If so, note that on the master branch of the git repository, I am adding optimizations for the 4D reconstructions. It is not fully functional at the moment, but I'm currently working 100% of my time on it. I will let you know about the next updates. Regards, Cyril On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: > > Hi Simon, > > Thanks for mailing list suggestion. My initial question was about > typical reconstruction times for rtkfourdrooster. What I tried is > summarized below: > > -Volume size was 410 410 264 and could be easily reduced by a good > margin. > > -The GPU is quadro M4000 with 8GB > > -about 2300 256x256 projections with shifted elekta panel (so called M20) > > -10 phases > > -for the motion mask at the moment I just used the FOV mask for first > try. > > --gamma_time 0.0001 > --gamma_space 0.0001 > - spacing 1 1 1 > --niter 30 > --cgiter 4 > --tviter 10 > > > Recon time was about 5-6 hours. I saw about 4 Gb used on the card. > > The image looked nice, albeit with the TV "feel/plastic-y". > > Thanks for your feedback > Guillaume > > > > > Quoting Simon Rit : > >> Hi Guillaume, >> I'm adding RTK user list to this conversation, it's better to have >> these conversations on the mailing list IMO. Can you tell us what's >> the volume size and the GPU? >> Cyril is ROOSTER's dev, maybe he could comment on recon times. >> Simon >> >> On Tue, May 31, 2016 at 5:29 PM, >> wrote: >>> Hi Simon, >>> >>> I tried the rooster recon. I used the parameters from the example >>> page. The results looks rather nice but it took several hours to run >>> (5-6). Its a big dataset of about 2000 256x256 projections. >>> >>> Guillaume From g.landry at physik.uni-muenchen.de Wed Jun 1 03:39:47 2016 From: g.landry at physik.uni-muenchen.de (Guillaume Landry) Date: Wed, 1 Jun 2016 09:39:47 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E8FFC.3010903@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> Message-ID: <574E9143.8080002@physik.uni-muenchen.de> Good morning Cyril, Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG and 10 for TV (taken from example). Possibly I could reduce the number of TV iterations? Looking forward to your optimizations. Cheers Guillaume Dr. Guillaume Landry Ludwig Maximilians University (LMU) Munich Medical Physics Am Coulombwall 1 85748 Garching Tel:+49 (0) 89 289-14077 Fax:+49 (0) 89 289-14072 On 06/01/2016 09:34 AM, Cyril Mory wrote: > Hi Guillaume, > > Can you also tell how many iterations you have performed (main loop, > conjugate gradient, and TV) ? > If you are performing 30 iterations of the main loop, with 4 CG > iterations, then considering the size of your data I do not think > anything is wrong. Reconstructing a smaller volume will give you a > large speedup (time is almost linear with number of voxels), so I > would recommend that you try again with the smallest possible volume, > i.e. the bounding box of your patient. > > Are you running the release 1.2.0 version ? If so, note that on the > master branch of the git repository, I am adding optimizations for the > 4D reconstructions. It is not fully functional at the moment, but I'm > currently working 100% of my time on it. I will let you know about the > next updates. > > Regards, > Cyril > > On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >> >> Hi Simon, >> >> Thanks for mailing list suggestion. My initial question was about >> typical reconstruction times for rtkfourdrooster. What I tried is >> summarized below: >> >> -Volume size was 410 410 264 and could be easily reduced by a good >> margin. >> >> -The GPU is quadro M4000 with 8GB >> >> -about 2300 256x256 projections with shifted elekta panel (so called >> M20) >> >> -10 phases >> >> -for the motion mask at the moment I just used the FOV mask for first >> try. >> >> --gamma_time 0.0001 >> --gamma_space 0.0001 >> - spacing 1 1 1 >> --niter 30 >> --cgiter 4 >> --tviter 10 >> >> >> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >> >> The image looked nice, albeit with the TV "feel/plastic-y". >> >> Thanks for your feedback >> Guillaume >> >> >> >> >> Quoting Simon Rit : >> >>> Hi Guillaume, >>> I'm adding RTK user list to this conversation, it's better to have >>> these conversations on the mailing list IMO. Can you tell us what's >>> the volume size and the GPU? >>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>> Simon >>> >>> On Tue, May 31, 2016 at 5:29 PM, >>> wrote: >>>> Hi Simon, >>>> >>>> I tried the rooster recon. I used the parameters from the example >>>> page. The results looks rather nice but it took several hours to >>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>> >>>> Guillaume > From cyril.mory at uclouvain.be Wed Jun 1 03:44:13 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:44:13 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E9143.8080002@physik.uni-muenchen.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> Message-ID: <574E924D.30403@uclouvain.be> The bottleneck is the 4D conjugate gradient, and by far. You can also try to reduce the number of main loop iterations (10 should already give a nice result, but you may need more for your application). That, plus reducing the size of your reconstructed volume, plus the optimizations I'm working on, should give you a reconstruction time of less than one hour. On 06/01/2016 09:39 AM, Guillaume Landry wrote: > Good morning Cyril, > > Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG > and 10 for TV (taken from example). Possibly I could reduce the number > of TV iterations? > > Looking forward to your optimizations. > > Cheers > Guillaume > > Dr. Guillaume Landry > Ludwig Maximilians University (LMU) Munich > Medical Physics > Am Coulombwall 1 > 85748 Garching > Tel:+49 (0) 89 289-14077 > Fax:+49 (0) 89 289-14072 > > On 06/01/2016 09:34 AM, Cyril Mory wrote: >> Hi Guillaume, >> >> Can you also tell how many iterations you have performed (main loop, >> conjugate gradient, and TV) ? >> If you are performing 30 iterations of the main loop, with 4 CG >> iterations, then considering the size of your data I do not think >> anything is wrong. Reconstructing a smaller volume will give you a >> large speedup (time is almost linear with number of voxels), so I >> would recommend that you try again with the smallest possible volume, >> i.e. the bounding box of your patient. >> >> Are you running the release 1.2.0 version ? If so, note that on the >> master branch of the git repository, I am adding optimizations for the >> 4D reconstructions. It is not fully functional at the moment, but I'm >> currently working 100% of my time on it. I will let you know about the >> next updates. >> >> Regards, >> Cyril >> >> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>> Hi Simon, >>> >>> Thanks for mailing list suggestion. My initial question was about >>> typical reconstruction times for rtkfourdrooster. What I tried is >>> summarized below: >>> >>> -Volume size was 410 410 264 and could be easily reduced by a good >>> margin. >>> >>> -The GPU is quadro M4000 with 8GB >>> >>> -about 2300 256x256 projections with shifted elekta panel (so called >>> M20) >>> >>> -10 phases >>> >>> -for the motion mask at the moment I just used the FOV mask for first >>> try. >>> >>> --gamma_time 0.0001 >>> --gamma_space 0.0001 >>> - spacing 1 1 1 >>> --niter 30 >>> --cgiter 4 >>> --tviter 10 >>> >>> >>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>> >>> The image looked nice, albeit with the TV "feel/plastic-y". >>> >>> Thanks for your feedback >>> Guillaume >>> >>> >>> >>> >>> Quoting Simon Rit : >>> >>>> Hi Guillaume, >>>> I'm adding RTK user list to this conversation, it's better to have >>>> these conversations on the mailing list IMO. Can you tell us what's >>>> the volume size and the GPU? >>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>> Simon >>>> >>>> On Tue, May 31, 2016 at 5:29 PM, >>>> wrote: >>>>> Hi Simon, >>>>> >>>>> I tried the rooster recon. I used the parameters from the example >>>>> page. The results looks rather nice but it took several hours to >>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>> >>>>> Guillaume From cyril.mory at uclouvain.be Thu Jun 2 07:58:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 2 Jun 2016 13:58:07 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E924D.30403@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> <574E924D.30403@uclouvain.be> Message-ID: <57501F4F.8050006@uclouvain.be> Hi Guillaume, Just wanted to let you know : if you perform a 4D CT for the planning, and use motion estimation on that 4D CT (thus getting either one 4D displacement vector field, or two inverse-consistent 4D DVFs), you can use this/these DVF(s) in ROOSTER. It should bring you a significant improvement of image quality, and on my datasets I was able to reduce the number of iterations of the main loop to 10 without problems. We can discuss this further if you are interested. Cyril On 06/01/2016 09:44 AM, Cyril Mory wrote: > The bottleneck is the 4D conjugate gradient, and by far. You can also > try to reduce the number of main loop iterations (10 should already > give a nice result, but you may need more for your application). > That, plus reducing the size of your reconstructed volume, plus the > optimizations I'm working on, should give you a reconstruction time of > less than one hour. > > On 06/01/2016 09:39 AM, Guillaume Landry wrote: >> Good morning Cyril, >> >> Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG >> and 10 for TV (taken from example). Possibly I could reduce the number >> of TV iterations? >> >> Looking forward to your optimizations. >> >> Cheers >> Guillaume >> >> Dr. Guillaume Landry >> Ludwig Maximilians University (LMU) Munich >> Medical Physics >> Am Coulombwall 1 >> 85748 Garching >> Tel:+49 (0) 89 289-14077 >> Fax:+49 (0) 89 289-14072 >> >> On 06/01/2016 09:34 AM, Cyril Mory wrote: >>> Hi Guillaume, >>> >>> Can you also tell how many iterations you have performed (main loop, >>> conjugate gradient, and TV) ? >>> If you are performing 30 iterations of the main loop, with 4 CG >>> iterations, then considering the size of your data I do not think >>> anything is wrong. Reconstructing a smaller volume will give you a >>> large speedup (time is almost linear with number of voxels), so I >>> would recommend that you try again with the smallest possible volume, >>> i.e. the bounding box of your patient. >>> >>> Are you running the release 1.2.0 version ? If so, note that on the >>> master branch of the git repository, I am adding optimizations for the >>> 4D reconstructions. It is not fully functional at the moment, but I'm >>> currently working 100% of my time on it. I will let you know about the >>> next updates. >>> >>> Regards, >>> Cyril >>> >>> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>>> Hi Simon, >>>> >>>> Thanks for mailing list suggestion. My initial question was about >>>> typical reconstruction times for rtkfourdrooster. What I tried is >>>> summarized below: >>>> >>>> -Volume size was 410 410 264 and could be easily reduced by a good >>>> margin. >>>> >>>> -The GPU is quadro M4000 with 8GB >>>> >>>> -about 2300 256x256 projections with shifted elekta panel (so called >>>> M20) >>>> >>>> -10 phases >>>> >>>> -for the motion mask at the moment I just used the FOV mask for first >>>> try. >>>> >>>> --gamma_time 0.0001 >>>> --gamma_space 0.0001 >>>> - spacing 1 1 1 >>>> --niter 30 >>>> --cgiter 4 >>>> --tviter 10 >>>> >>>> >>>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>>> >>>> The image looked nice, albeit with the TV "feel/plastic-y". >>>> >>>> Thanks for your feedback >>>> Guillaume >>>> >>>> >>>> >>>> >>>> Quoting Simon Rit : >>>> >>>>> Hi Guillaume, >>>>> I'm adding RTK user list to this conversation, it's better to have >>>>> these conversations on the mailing list IMO. Can you tell us what's >>>>> the volume size and the GPU? >>>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>>> Simon >>>>> >>>>> On Tue, May 31, 2016 at 5:29 PM, >>>>> wrote: >>>>>> Hi Simon, >>>>>> >>>>>> I tried the rooster recon. I used the parameters from the example >>>>>> page. The results looks rather nice but it took several hours to >>>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>>> >>>>>> Guillaume > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users From solomoncztang at gmail.com Tue Jun 7 18:27:35 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 7 Jun 2016 15:27:35 -0700 Subject: [Rtk-users] Cmake build error help In-Reply-To: <573171C8.80400@creatis.insa-lyon.fr> References: <573171C8.80400@creatis.insa-lyon.fr> Message-ID: My apologies for the delay, I updated GetGitRevision and it got past the initial issue. Unfortunately, the final build still failed with cuda enabled because NVCC 7.5 does not support Visual Studio 2015. On Mon, May 9, 2016 at 10:29 PM, Simon Rit wrote: > Hi, > Can you update GetGitRevisionDescription.cmake and > GetGitRevisionDescription.cmake.in from > https://github.com/rpavlik/cmake-modules and see if the new versions fix > this issue? > Thanks, > Simon > > PS: plead keep using the mailing list > > > On 10/05/2016 03:09, Solomon Tang wrote: > > Hi Simon, > > I am rebuilding RTK after moving to Visual Studio 2015 with cmake 3.5.2 > and am running into the following error: > > CMake Error at build/applications/CMakeFiles/git-data/grabRef.cmake:36 > (file): > file failed to open for reading (No such file or directory): > > > C:/Work/Tools/Current/RTK-1.2.0/build/applications/CMakeFiles/git-data/head-ref > Call Stack (most recent call first): > cmake/GetGitRevisionDescription.cmake:77 (include) > applications/CMakeLists.txt:5 (get_git_head_revision) > > I am using ITK 4.9.0 and fresh download of RTK 1.2.0. > > How do I resolve this issue? > > Thanks again, > > Solomon > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Tue Jun 14 09:12:34 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Tue, 14 Jun 2016 15:12:34 +0200 Subject: [Rtk-users] CUDA Ramp filter Message-ID: Dear all, When I use rtkramp with cuda option, I am getting following error ExceptionObject caught with streamer->Update() in file D:\programming\cpp\ext_li bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 itk::ExceptionObject (000000ADA7DAF220) Location: "unknown" File: d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil ter.txx Line: 50 Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol utionImageFilter assumes that input requested and buffered regions are equal. However, cpu version of ramp filter works fine. Thanks in advance. With regards, Shiras -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Tue Jun 14 09:38:06 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Tue, 14 Jun 2016 15:38:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: Message-ID: <576008BE.1060506@uclouvain.be> Hi Shiras, We found that bug recently with Sebastien Brousmiche and fixed it, at least for the use case we were considering. Can you try with the git master version of RTK ? Alternatively, you can replace reader->Update() with reader->UpdateOutputInformation() in line 61 of rtkramp.cxx and see if it fixes the problem. Regards, Cyril On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Wed Jun 15 04:50:17 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Wed, 15 Jun 2016 10:50:17 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <576008BE.1060506@uclouvain.be> References: <576008BE.1060506@uclouvain.be> Message-ID: Dear Cyril, Thanks a lot. Now rtkramp.exe works with cuda option. I am trying to integrate rtk cuda ramp filter into my recon program. I read the projections with ProjectionsReader and pass image pointer to cuda ramp filter pipeline using cudaRampFilter->SetInput(projections); I am getting runtime error and it says Error during cuda ramp filtering :: D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu :97: itk::ERROR: CUFFT ERROR #2 Do I need to enable or disable any parameter while reading projections to get rid of this error? I changed rtk_proj_reader_->Update to rtk_proj_reader_->UpdateOutputInformation(); But I am still getting the error. The error exists only with CudaFFTRampImageFilter and FFTRampImageFilter works fine. With regards, Shiras On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory wrote: > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, at > least for the use case we were considering. Can you try with the git master > version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 15 05:02:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 15 Jun 2016 11:02:07 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> Message-ID: <5761198F.7060504@uclouvain.be> Hi Shiras, Another user had the same error some years ago : http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html It seemed to be a GPU memory size issue. Can you tell what GPU you use, are what are the size and number of your projections ? Can you try with a single projection (you can use the "rtksubselect" application to create such a dataset out of yours) ? Best regards, Cyril On 06/15/2016 10:50 AM, Shiras Abdurahman wrote: > Dear Cyril, > > Thanks a lot. Now rtkramp.exe works with cuda option. > I am trying to integrate rtk cuda ramp filter into my recon program. I > read the projections with ProjectionsReader and pass image pointer to > cuda ramp filter pipeline using > cudaRampFilter->SetInput(projections); > > I am getting runtime error and it says > Error during cuda ramp filtering :: > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > :97: > itk::ERROR: CUFFT ERROR #2 > > Do I need to enable or disable any parameter while reading projections > to get rid of this error? I changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > But I am still getting the error. > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > With regards, > Shiras > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory > wrote: > > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, > at least for the use case we were considering. Can you try with > the git master version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> Dear all, >> >> When I use rtkramp with cuda option, I am getting following error >> >> ExceptionObject caught with streamer->Update() in file >> D:\programming\cpp\ext_li >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 >> >> itk::ExceptionObject (000000ADA7DAF220) >> Location: "unknown" >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> ter.txx >> Line: 50 >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol >> utionImageFilter assumes that input requested and buffered >> regions are equal. >> >> However, cpu version of ramp filter works fine. >> >> Thanks in advance. >> >> With regards, >> Shiras >> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 15 05:42:16 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 15 Jun 2016 11:42:16 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <5761198F.7060504@uclouvain.be> References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Hi, I recently added the --subsetsize option (see this commit ). You can try "--subsetsize 1" instead of using rtksubselect. Simon On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > >> >> >> Dear Cyril, >> >> >> >> Thanks a lot. Now rtkramp.exe works with cuda option. >> >> I am trying to integrate rtk cuda ramp filter into my recon >> program. I read the projections with ProjectionsReader and >> pass image pointer to cuda ramp filter pipeline using >> >> cudaRampFilter->SetInput(projections); >> >> >> >> >> >> I am getting runtime error and it says >> >> >> Error during cuda ramp filtering :: >> >> D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu >> >> :97: >> >> itk::ERROR: CUFFT ERROR #2 >> >> >> >> >> >> Do I need to enable or disable any parameter while reading >> projections to get rid of this error? I >> changed rtk_proj_reader_->Update >> to rtk_proj_reader_->UpdateOutputInformation(); >> >> But I am still getting the error. >> >> The error exists only with CudaFFTRampImageFilter >> and FFTRampImageFilter works fine. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Tue, Jun 14, 2016 at 3:38 PM, Cyril >> Mory > >> wrote: >> >> >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >>> >>> >>> >>> Dear all, >>> >>> >>> >>> When I use rtkramp with cuda option, I am >>> getting following error >>> >>> >>> >>> >>> >>> ExceptionObject caught with >>> streamer->Update() in file >>> D:\programming\cpp\ext_li >>> >>> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >>> line 93 >>> >>> >>> >>> >>> itk::ExceptionObject (000000ADA7DAF220) >>> >>> Location: "unknown" >>> >>> File: >>> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >>> >>> ter.txx >>> >>> Line: 50 >>> >>> Description: itk::ERROR: >>> CudaFFTRampImageFilter(000000ADAA53B490): >>> CudaFFTConvol >>> >>> utionImageFilter assumes that input >>> requested and buffered regions are equal. >>> >>> >>> >>> >>> >>> However, cpu version of ramp filter works >>> fine. >>> >>> >>> >>> >>> Thanks in advance. >>> >>> >>> >>> >>> With regards, >>> >>> Shiras >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >> >> >> >> >> >> >> >> >> > > > > > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amjad.n.cet at gmail.com Thu Jun 16 04:39:46 2016 From: amjad.n.cet at gmail.com (AMJAD N) Date: Thu, 16 Jun 2016 14:09:46 +0530 Subject: [Rtk-users] CUDA compilation error Message-ID: Hi all, I have been trying to create a new filter for flat field image correction. I have implemented the same in normal mode (which works fine.) and was trying to write one in CUDA mode for the past week. I had created 4 files in order to perform the Flat Field image correction filter as i followed the standard in GitHub : RTK Cuda files. which includes : rtkCudaFlatFieldImageFilter.h : is a header file contains the declaration of various functions and data members rtkCudaFlatFieldImageFilter.cxx : contains the body of the function defined in the header file and included the file "rtkCudaFlatFieldImageFilter.hcu" inorder to call wrapper function rtkCudaFlatFieldImageFilter.hcu : contains the function prototype of the wrapper function rtkCudaFlatFieldImageFilter.cu : contains the kernel function and the wrapper function in which the kernel function is called. When building the project I am getting error as Error c2059 syntax error at ' <<<' " in rtkCudaFlatFieldImageFilter.cu at kernel calling statement in Cuda Programming file. *So how should I compile the whole program?* My working environment is Microsoft Windows 7 32bit. Visual Studio 2013 CUDA ToolKit 6.5 GeForce 210 graphics card Thanks and Regards AMJAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Fri Jun 17 04:53:06 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Fri, 17 Jun 2016 10:53:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Dear Cyril, Yes. When I reduced the number of projections, I am not getting this error anymore. My initial projection size which caused the error was 1420x1416x21. It seems that error is due to CUDA memory issues. My GPU is GeForce GTX 670. With regards, Shiras On Wed, Jun 15, 2016 at 11:42 AM, Simon Rit wrote: > Hi, > I recently added the --subsetsize option (see this commit > ). > You can try "--subsetsize 1" instead of using rtksubselect. > Simon > > > On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > > > > Dear Cyril, > > > > Thanks a lot. Now rtkramp.exe works with cuda option. > > I am trying to integrate rtk cuda ramp filter into my recon > program. I read the projections with ProjectionsReader and > pass image pointer to cuda ramp filter pipeline using > > cudaRampFilter->SetInput(projections); > > > > > > I am getting runtime error and it says > > > Error during cuda ramp filtering :: > > > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > > :97: > > itk::ERROR: CUFFT ERROR #2 > > > > > > Do I need to enable or disable any parameter while reading > projections to get rid of this error? I > changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > > But I am still getting the error. > > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > > > > With regards, > > Shiras > > > > > > > > > > > > > > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril > Mory > wrote: > > >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >> >> >> >> Dear all, >> >> >> >> When I use rtkramp with cuda option, I am >> getting following error >> >> >> >> >> >> ExceptionObject caught with >> streamer->Update() in file >> D:\programming\cpp\ext_li >> >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >> line 93 >> >> >> >> >> itk::ExceptionObject (000000ADA7DAF220) >> >> Location: "unknown" >> >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> >> ter.txx >> >> Line: 50 >> >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): >> CudaFFTConvol >> >> utionImageFilter assumes that input >> requested and buffered regions are equal. >> >> >> >> >> >> However, cpu version of ramp filter works >> fine. >> >> >> >> >> Thanks in advance. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users >> >> >> >> >> >> >> > > > > > > > > > > > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Fri Jun 17 05:07:18 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Fri, 17 Jun 2016 11:07:18 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer Message-ID: Hi everyone, I need some help for updating a JSON file for the ConjugateGradientConeBeamReconstructionFilter. I want to test a new implementation I made on this filter to perform a support constraint for the reconstructed image. The constraint consists in a binary mask passed as an attribute. This attribute is a pointer to an image of type TOutputImage. The default value (in the constructor) is NULL. I don't know how to write it in the JSON file to wrap this member : { "name" : "SupportMask", "type" : ?, "default" : ?, "briefdescriptionSet" : "", "detaileddescriptionSet" : "", "briefdescriptionGet" : "", "detaileddescriptionGet" : "" } Does it also need to perform a specific cast with the optional field custom_itk_cast ? I don't really understand how it works. Thanks in advance for your help. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 17 12:46:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 17 Jun 2016 18:46:31 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Fabien, I can't say I master this but I had to do something similar in FieldOfViewImageFilter.json . Look at the "ProjectionsStack" parameter which is actually a 3D image. How did I come up with such a complicated code? No clue, but SimpleITK has similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json . My guess is that passing an image as a parameters in an itk image filter is not so common... I hope this helps, Simon On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey wrote: > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to perform a > support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. This > attribute is a pointer to an image of type TOutputImage. The default value > (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional field > custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Mon Jun 20 03:30:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Mon, 20 Jun 2016 09:30:07 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: <57679B7F.2060000@uclouvain.be> Hi, A question that then comes to my mind : why do you pass the image as parameter ? Passing it as input, you would benefit from the pipeline features, such as making your output outdated when you modify your input binary mask, or loading of only the required part of your binary mask, ... Did you try it, and it didn't work ? I can help you do it this way if you need. Cyril On 06/17/2016 06:46 PM, Simon Rit wrote: > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. > How did I come up with such a complicated code? No clue, but SimpleITK > has similar ugly json files, e.g., > LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image > filter is not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to > perform a support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. > This attribute is a pointer to an image of type TOutputImage. The > default value (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional > field custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 03:59:41 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 09:59:41 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Thanks for your help. It seems to be what I need ! I will try this and tell you if it works. Fabien. 2016-06-17 18:46 GMT+02:00 Simon Rit : > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 04:04:44 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 10:04:44 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: <57679B7F.2060000@uclouvain.be> References: <57679B7F.2060000@uclouvain.be> Message-ID: Hi Cyril, Of course it could be a solution, but as the filter as already 3 inputs, I did not want to add this mask as a fourth one as it seems to me that it is very optional. But I understand that it would be useful for a better memory handling. I did not try your solution and I have to confess that I do not feel sufficiently good in "RTK programming". So I willl try first my solution and we can eventually discuss in the future for a better way for implementing this feature ! Thanks for your response Cyril ! Fabien 2016-06-20 9:30 GMT+02:00 Cyril Mory : > Hi, > > A question that then comes to my mind : why do you pass the image as > parameter ? Passing it as input, you would benefit from the pipeline > features, such as making your output outdated when you modify your input > binary mask, or loading of only the required part of your binary mask, ... > Did you try it, and it didn't work ? I can help you do it this way if you > need. > > Cyril > > > On 06/17/2016 06:46 PM, Simon Rit wrote: > > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Tue Jun 21 03:27:06 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Tue, 21 Jun 2016 09:27:06 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Your solution works fine ! Thanks. I just noticed something to be careful with : the function "CastImageToITK" (in $RTK_HOME/utilities/SimpleRTK/Code/BasicFilters/include/srtkImageFilter.h) does not accept NULL pointer (an error is returned) while the default value set in the JSON file seems to declare a (0,0) image whose pointer is NULL. As a consequence it is mandatory to set an image before executing the filter. So if you plan, as this is in my case, to allow the filter not to do something if no image has been set, it will not work in SimpleRTK with this custom cast. Fabien. 2016-06-20 9:59 GMT+02:00 Fabien Momey : > Hi Simon, > > Thanks for your help. > > It seems to be what I need ! I will try this and tell you if it works. > > Fabien. > > 2016-06-17 18:46 GMT+02:00 Simon Rit : > >> Hi Fabien, >> I can't say I master this but I had to do something similar in >> FieldOfViewImageFilter.json >> . >> Look at the "ProjectionsStack" parameter which is actually a 3D image. How >> did I come up with such a complicated code? No clue, but SimpleITK has >> similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json >> . >> My guess is that passing an image as a parameters in an itk image filter is >> not so common... >> I hope this helps, >> Simon >> >> On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey >> wrote: >> >>> Hi everyone, >>> >>> I need some help for updating a JSON file for the >>> ConjugateGradientConeBeamReconstructionFilter. >>> >>> I want to test a new implementation I made on this filter to perform a >>> support constraint for the reconstructed image. >>> >>> The constraint consists in a binary mask passed as an attribute. This >>> attribute is a pointer to an image of type TOutputImage. The default value >>> (in the constructor) is NULL. >>> >>> I don't know how to write it in the JSON file to wrap this member : >>> >>> { >>> "name" : "SupportMask", >>> "type" : ?, >>> "default" : ?, >>> "briefdescriptionSet" : "", >>> "detaileddescriptionSet" : "", >>> "briefdescriptionGet" : "", >>> "detaileddescriptionGet" : "" >>> } >>> >>> Does it also need to perform a specific cast with the optional field >>> custom_itk_cast ? I don't really understand how it works. >>> >>> Thanks in advance for your help. >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From C.Zoellner at physik.uni-muenchen.de Thu Jun 23 09:48:19 2016 From: C.Zoellner at physik.uni-muenchen.de (=?UTF-8?Q?Christoph_Z=c3=b6llner?=) Date: Thu, 23 Jun 2016 15:48:19 +0200 Subject: [Rtk-users] rtksubselect Message-ID: <576BE8A3.40409@physik.uni-muenchen.de> Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Thu Jun 23 10:22:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 23 Jun 2016 16:22:39 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <576BF0AF.8000507@uclouvain.be> Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Jun 23 10:01:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 23 Jun 2016 16:01:31 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <27bf15f0-4a1a-2b3d-b876-f5989e3bbf9a@creatis.insa-lyon.fr> Hi, On my computer, it works but I had to change your regular expression to '.*.his' instead of '*.his'. It's a good idea to keep the single quotes on the command line to avoid interpretation by the command line interpreter. If this is not the issue, you can try to add the -v option to check the number of projections that is found. Simon On 23/06/2016 15:48, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From ana.vaniqui at maastro.nl Thu Jun 23 10:41:51 2016 From: ana.vaniqui at maastro.nl (Ana Vaniqui) Date: Thu, 23 Jun 2016 14:41:51 +0000 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BF0AF.8000507@uclouvain.be> References: <576BE8A3.40409@physik.uni-muenchen.de>, <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I just want to add that a tutorial on regular expressions for beginners would be very much appreciated.. Kind regards, Ana ________________________________ From: Rtk-users on behalf of Cyril Mory Sent: Thursday, June 23, 2016 4:22:39 PM To: Christoph Z?llner; rtk-users at public.kitware.com Subject: Re: [Rtk-users] rtksubselect Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 24 07:11:40 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 24 Jun 2016 13:11:40 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: References: <576BE8A3.40409@physik.uni-muenchen.de> <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I don't have a tutorial for you but you can start by reading the ITK doc: https://itk.org/Doxygen/html/classitk_1_1RegularExpressionSeriesFileNames.html There are tons of tutorials on the web (and I don't know a specifically good one), the important part to remember is that there are several formats for regular expressions and ITK uses one of them. Note that you don't have to use them in most cases. For example, Christoph could have use "-r his" to match all filenames containing "his". Simon On Thu, Jun 23, 2016 at 4:41 PM, Ana Vaniqui wrote: > Hi, > > > I just want to add that a tutorial on regular expressions for beginners > would be very much appreciated.. > > > Kind regards, > > Ana > > > ------------------------------ > *From:* Rtk-users on behalf of > Cyril Mory > *Sent:* Thursday, June 23, 2016 4:22:39 PM > *To:* Christoph Z?llner; rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] rtksubselect > > Hi Christoph, > > The error lies in the regular expression: replace the "*.his" with > ".*.his" and it should work. > > By the way: does anyone know have a tutorial on regular expressions for > beginners to recommend ? > > Cyril > > On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the largest > possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Mon Jun 27 17:56:22 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Mon, 27 Jun 2016 14:56:22 -0700 Subject: [Rtk-users] Realistic Image Quality? Message-ID: Hi Simon, I am using RTK to simulate CT acquisitions using different detector sizes to see how this impact on image quality might change some of our in-house metrics. The images I have linked to below have been created using rtkforwardprojections with different projection spacings (0.3 isometric and 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection stepsize is equal to the projection spacing. The window levels between images of their respective rows are the same. I am simply wondering if the differences between these images are realistic. I would expect the image with a detector size than is more than twice as large as the original would be drastically different when in fact they turn out to be incredibly similar. Are the assumptions made about projection spacing == cuda stepsize == simulated hardware detector size incorrect? https://gyazo.com/e86436826f687a2db4b234699d050450 https://gyazo.com/ca9612218f082e78ba3082950a27fa4c Solomon -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Tue Jun 28 03:14:49 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Tue, 28 Jun 2016 09:14:49 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: What is the magnification factor of your geometry? 2016-06-27 23:56 GMT+02:00 Solomon Tang : > Hi Simon, > > I am using RTK to simulate CT acquisitions using different detector sizes > to see how this impact on image quality might change some of our in-house > metrics. > > The images I have linked to below have been created using > rtkforwardprojections with different projection spacings (0.3 isometric and > 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and > image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection > stepsize is equal to the projection spacing. The window levels between > images of their respective rows are the same. > > I am simply wondering if the differences between these images are > realistic. I would expect the image with a detector size than is more than > twice as large as the original would be drastically different when in fact > they turn out to be incredibly similar. Are the assumptions made about > projection spacing == cuda stepsize == simulated hardware detector size > incorrect? > > > https://gyazo.com/e86436826f687a2db4b234699d050450 > > https://gyazo.com/ca9612218f082e78ba3082950a27fa4c > > Solomon > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Jun 28 04:34:07 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 28 Jun 2016 10:34:07 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, I don't expect a drastic change, only a slight loss of spatial resolution if the ray distance at the isocenter (I agree with Chao that it plays an important role) is larger than the original voxel size. Maybe it's there but you would need to zoom more to see it. You would see a more realistic difference if you were adding photon noise to your data. Simon On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > What is the magnification factor of your geometry? > > 2016-06-27 23:56 GMT+02:00 Solomon Tang : > >> Hi Simon, >> >> I am using RTK to simulate CT acquisitions using different detector sizes >> to see how this impact on image quality might change some of our in-house >> metrics. >> >> The images I have linked to below have been created using >> rtkforwardprojections with different projection spacings (0.3 isometric and >> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >> stepsize is equal to the projection spacing. The window levels between >> images of their respective rows are the same. >> >> I am simply wondering if the differences between these images are >> realistic. I would expect the image with a detector size than is more than >> twice as large as the original would be drastically different when in fact >> they turn out to be incredibly similar. Are the assumptions made about >> projection spacing == cuda stepsize == simulated hardware detector size >> incorrect? >> >> >> https://gyazo.com/e86436826f687a2db4b234699d050450 >> >> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >> >> Solomon >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Tue Jun 28 18:09:15 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 28 Jun 2016 15:09:15 -0700 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Thanks for the feedback Chao and Simon, My geometry was using default RTK sdd/sid settings. I have now changed it to match the DICOM header from the original images (1085.6 SDD, 595 SID), but not much has qualitatively changed. How do you suggest adding photon noise? I have discovered an itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling level. I'm assuming the reconstructed image should be passed through the filter, and not the projection. On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit wrote: > Hi, > I don't expect a drastic change, only a slight loss of spatial resolution > if the ray distance at the isocenter (I agree with Chao that it plays an > important role) is larger than the original voxel size. Maybe it's there > but you would need to zoom more to see it. > You would see a more realistic difference if you were adding photon noise > to your data. > Simon > > On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > >> What is the magnification factor of your geometry? >> >> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >> >>> Hi Simon, >>> >>> I am using RTK to simulate CT acquisitions using different detector >>> sizes to see how this impact on image quality might change some of our >>> in-house metrics. >>> >>> The images I have linked to below have been created using >>> rtkforwardprojections with different projection spacings (0.3 isometric and >>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>> stepsize is equal to the projection spacing. The window levels between >>> images of their respective rows are the same. >>> >>> I am simply wondering if the differences between these images are >>> realistic. I would expect the image with a detector size than is more than >>> twice as large as the original would be drastically different when in fact >>> they turn out to be incredibly similar. Are the assumptions made about >>> projection spacing == cuda stepsize == simulated hardware detector size >>> incorrect? >>> >>> >>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>> >>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>> >>> Solomon >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 29 01:28:21 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 29 Jun 2016 07:28:21 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, Attached is the python script using SimpleRTK that I have used to do the simulation of figure 6 of this publication . The paragraph where I describe what I'm doing starts with "The same simulations were repeated with Poisson noise". The interesting part of the script for you is line 158 where if I'm given a number of photons I0, I add Poisson noise. Simon On Wed, Jun 29, 2016 at 12:09 AM, Solomon Tang wrote: > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: offsetRecon2.py Type: text/x-python Size: 6981 bytes Desc: not available URL: From cyril.mory at uclouvain.be Wed Jun 29 04:51:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 29 Jun 2016 10:51:39 +0200 Subject: [Rtk-users] Replacement for TV with lower peak memory usage In-Reply-To: References: Message-ID: <57738C1B.9050206@uclouvain.be> Hi Louie, Please ask the mailing list, or at least CC it, when your question may be of interest to other RTK users. Indeed, I recommend to use rtkregularizedconjugategradient instead of ADMM_TV or ADMM_wavelets. You can activate TV regularization, wavelets regularization, or both, and it will be simpler to tune than ADMM. If you run into trouble, ask on the mailing list :) Cheers, Cyril On 06/29/2016 10:45 AM, Liu Yu wrote: > Hi Cyril, > > You said you don't recommend using the ADMM_TV method due to the > speed. Which was the alternative you suggested during the training? Is > it Regularized CG? > > Cheers, > Louie > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Wed Jun 29 04:53:28 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Wed, 29 Jun 2016 10:53:28 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi Solomon, The magnification is about 1.8. Given that the voxel spacing of your volume is 0.4688x0.4688x0.6, the corresponding projection spacing is roughly 0.84x1.08. Therefore 0.3 or 0.75 pixel spacing of your detector would not give much difference. There were just interpolation instead of real additional information that were introduced by 0.3 spacing. If you do have small structures in your object and you use a much finer grid for your volume in the simulation, I would expect to see more difference then. Regards, Chao 2016-06-29 0:09 GMT+02:00 Solomon Tang : > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 1 03:34:20 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:34:20 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> Message-ID: <574E8FFC.3010903@uclouvain.be> Hi Guillaume, Can you also tell how many iterations you have performed (main loop, conjugate gradient, and TV) ? If you are performing 30 iterations of the main loop, with 4 CG iterations, then considering the size of your data I do not think anything is wrong. Reconstructing a smaller volume will give you a large speedup (time is almost linear with number of voxels), so I would recommend that you try again with the smallest possible volume, i.e. the bounding box of your patient. Are you running the release 1.2.0 version ? If so, note that on the master branch of the git repository, I am adding optimizations for the 4D reconstructions. It is not fully functional at the moment, but I'm currently working 100% of my time on it. I will let you know about the next updates. Regards, Cyril On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: > > Hi Simon, > > Thanks for mailing list suggestion. My initial question was about > typical reconstruction times for rtkfourdrooster. What I tried is > summarized below: > > -Volume size was 410 410 264 and could be easily reduced by a good > margin. > > -The GPU is quadro M4000 with 8GB > > -about 2300 256x256 projections with shifted elekta panel (so called M20) > > -10 phases > > -for the motion mask at the moment I just used the FOV mask for first > try. > > --gamma_time 0.0001 > --gamma_space 0.0001 > - spacing 1 1 1 > --niter 30 > --cgiter 4 > --tviter 10 > > > Recon time was about 5-6 hours. I saw about 4 Gb used on the card. > > The image looked nice, albeit with the TV "feel/plastic-y". > > Thanks for your feedback > Guillaume > > > > > Quoting Simon Rit : > >> Hi Guillaume, >> I'm adding RTK user list to this conversation, it's better to have >> these conversations on the mailing list IMO. Can you tell us what's >> the volume size and the GPU? >> Cyril is ROOSTER's dev, maybe he could comment on recon times. >> Simon >> >> On Tue, May 31, 2016 at 5:29 PM, >> wrote: >>> Hi Simon, >>> >>> I tried the rooster recon. I used the parameters from the example >>> page. The results looks rather nice but it took several hours to run >>> (5-6). Its a big dataset of about 2000 256x256 projections. >>> >>> Guillaume From g.landry at physik.uni-muenchen.de Wed Jun 1 03:39:47 2016 From: g.landry at physik.uni-muenchen.de (Guillaume Landry) Date: Wed, 1 Jun 2016 09:39:47 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E8FFC.3010903@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> Message-ID: <574E9143.8080002@physik.uni-muenchen.de> Good morning Cyril, Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG and 10 for TV (taken from example). Possibly I could reduce the number of TV iterations? Looking forward to your optimizations. Cheers Guillaume Dr. Guillaume Landry Ludwig Maximilians University (LMU) Munich Medical Physics Am Coulombwall 1 85748 Garching Tel:+49 (0) 89 289-14077 Fax:+49 (0) 89 289-14072 On 06/01/2016 09:34 AM, Cyril Mory wrote: > Hi Guillaume, > > Can you also tell how many iterations you have performed (main loop, > conjugate gradient, and TV) ? > If you are performing 30 iterations of the main loop, with 4 CG > iterations, then considering the size of your data I do not think > anything is wrong. Reconstructing a smaller volume will give you a > large speedup (time is almost linear with number of voxels), so I > would recommend that you try again with the smallest possible volume, > i.e. the bounding box of your patient. > > Are you running the release 1.2.0 version ? If so, note that on the > master branch of the git repository, I am adding optimizations for the > 4D reconstructions. It is not fully functional at the moment, but I'm > currently working 100% of my time on it. I will let you know about the > next updates. > > Regards, > Cyril > > On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >> >> Hi Simon, >> >> Thanks for mailing list suggestion. My initial question was about >> typical reconstruction times for rtkfourdrooster. What I tried is >> summarized below: >> >> -Volume size was 410 410 264 and could be easily reduced by a good >> margin. >> >> -The GPU is quadro M4000 with 8GB >> >> -about 2300 256x256 projections with shifted elekta panel (so called >> M20) >> >> -10 phases >> >> -for the motion mask at the moment I just used the FOV mask for first >> try. >> >> --gamma_time 0.0001 >> --gamma_space 0.0001 >> - spacing 1 1 1 >> --niter 30 >> --cgiter 4 >> --tviter 10 >> >> >> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >> >> The image looked nice, albeit with the TV "feel/plastic-y". >> >> Thanks for your feedback >> Guillaume >> >> >> >> >> Quoting Simon Rit : >> >>> Hi Guillaume, >>> I'm adding RTK user list to this conversation, it's better to have >>> these conversations on the mailing list IMO. Can you tell us what's >>> the volume size and the GPU? >>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>> Simon >>> >>> On Tue, May 31, 2016 at 5:29 PM, >>> wrote: >>>> Hi Simon, >>>> >>>> I tried the rooster recon. I used the parameters from the example >>>> page. The results looks rather nice but it took several hours to >>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>> >>>> Guillaume > From cyril.mory at uclouvain.be Wed Jun 1 03:44:13 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:44:13 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E9143.8080002@physik.uni-muenchen.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> Message-ID: <574E924D.30403@uclouvain.be> The bottleneck is the 4D conjugate gradient, and by far. You can also try to reduce the number of main loop iterations (10 should already give a nice result, but you may need more for your application). That, plus reducing the size of your reconstructed volume, plus the optimizations I'm working on, should give you a reconstruction time of less than one hour. On 06/01/2016 09:39 AM, Guillaume Landry wrote: > Good morning Cyril, > > Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG > and 10 for TV (taken from example). Possibly I could reduce the number > of TV iterations? > > Looking forward to your optimizations. > > Cheers > Guillaume > > Dr. Guillaume Landry > Ludwig Maximilians University (LMU) Munich > Medical Physics > Am Coulombwall 1 > 85748 Garching > Tel:+49 (0) 89 289-14077 > Fax:+49 (0) 89 289-14072 > > On 06/01/2016 09:34 AM, Cyril Mory wrote: >> Hi Guillaume, >> >> Can you also tell how many iterations you have performed (main loop, >> conjugate gradient, and TV) ? >> If you are performing 30 iterations of the main loop, with 4 CG >> iterations, then considering the size of your data I do not think >> anything is wrong. Reconstructing a smaller volume will give you a >> large speedup (time is almost linear with number of voxels), so I >> would recommend that you try again with the smallest possible volume, >> i.e. the bounding box of your patient. >> >> Are you running the release 1.2.0 version ? If so, note that on the >> master branch of the git repository, I am adding optimizations for the >> 4D reconstructions. It is not fully functional at the moment, but I'm >> currently working 100% of my time on it. I will let you know about the >> next updates. >> >> Regards, >> Cyril >> >> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>> Hi Simon, >>> >>> Thanks for mailing list suggestion. My initial question was about >>> typical reconstruction times for rtkfourdrooster. What I tried is >>> summarized below: >>> >>> -Volume size was 410 410 264 and could be easily reduced by a good >>> margin. >>> >>> -The GPU is quadro M4000 with 8GB >>> >>> -about 2300 256x256 projections with shifted elekta panel (so called >>> M20) >>> >>> -10 phases >>> >>> -for the motion mask at the moment I just used the FOV mask for first >>> try. >>> >>> --gamma_time 0.0001 >>> --gamma_space 0.0001 >>> - spacing 1 1 1 >>> --niter 30 >>> --cgiter 4 >>> --tviter 10 >>> >>> >>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>> >>> The image looked nice, albeit with the TV "feel/plastic-y". >>> >>> Thanks for your feedback >>> Guillaume >>> >>> >>> >>> >>> Quoting Simon Rit : >>> >>>> Hi Guillaume, >>>> I'm adding RTK user list to this conversation, it's better to have >>>> these conversations on the mailing list IMO. Can you tell us what's >>>> the volume size and the GPU? >>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>> Simon >>>> >>>> On Tue, May 31, 2016 at 5:29 PM, >>>> wrote: >>>>> Hi Simon, >>>>> >>>>> I tried the rooster recon. I used the parameters from the example >>>>> page. The results looks rather nice but it took several hours to >>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>> >>>>> Guillaume From cyril.mory at uclouvain.be Thu Jun 2 07:58:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 2 Jun 2016 13:58:07 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E924D.30403@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> <574E924D.30403@uclouvain.be> Message-ID: <57501F4F.8050006@uclouvain.be> Hi Guillaume, Just wanted to let you know : if you perform a 4D CT for the planning, and use motion estimation on that 4D CT (thus getting either one 4D displacement vector field, or two inverse-consistent 4D DVFs), you can use this/these DVF(s) in ROOSTER. It should bring you a significant improvement of image quality, and on my datasets I was able to reduce the number of iterations of the main loop to 10 without problems. We can discuss this further if you are interested. Cyril On 06/01/2016 09:44 AM, Cyril Mory wrote: > The bottleneck is the 4D conjugate gradient, and by far. You can also > try to reduce the number of main loop iterations (10 should already > give a nice result, but you may need more for your application). > That, plus reducing the size of your reconstructed volume, plus the > optimizations I'm working on, should give you a reconstruction time of > less than one hour. > > On 06/01/2016 09:39 AM, Guillaume Landry wrote: >> Good morning Cyril, >> >> Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG >> and 10 for TV (taken from example). Possibly I could reduce the number >> of TV iterations? >> >> Looking forward to your optimizations. >> >> Cheers >> Guillaume >> >> Dr. Guillaume Landry >> Ludwig Maximilians University (LMU) Munich >> Medical Physics >> Am Coulombwall 1 >> 85748 Garching >> Tel:+49 (0) 89 289-14077 >> Fax:+49 (0) 89 289-14072 >> >> On 06/01/2016 09:34 AM, Cyril Mory wrote: >>> Hi Guillaume, >>> >>> Can you also tell how many iterations you have performed (main loop, >>> conjugate gradient, and TV) ? >>> If you are performing 30 iterations of the main loop, with 4 CG >>> iterations, then considering the size of your data I do not think >>> anything is wrong. Reconstructing a smaller volume will give you a >>> large speedup (time is almost linear with number of voxels), so I >>> would recommend that you try again with the smallest possible volume, >>> i.e. the bounding box of your patient. >>> >>> Are you running the release 1.2.0 version ? If so, note that on the >>> master branch of the git repository, I am adding optimizations for the >>> 4D reconstructions. It is not fully functional at the moment, but I'm >>> currently working 100% of my time on it. I will let you know about the >>> next updates. >>> >>> Regards, >>> Cyril >>> >>> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>>> Hi Simon, >>>> >>>> Thanks for mailing list suggestion. My initial question was about >>>> typical reconstruction times for rtkfourdrooster. What I tried is >>>> summarized below: >>>> >>>> -Volume size was 410 410 264 and could be easily reduced by a good >>>> margin. >>>> >>>> -The GPU is quadro M4000 with 8GB >>>> >>>> -about 2300 256x256 projections with shifted elekta panel (so called >>>> M20) >>>> >>>> -10 phases >>>> >>>> -for the motion mask at the moment I just used the FOV mask for first >>>> try. >>>> >>>> --gamma_time 0.0001 >>>> --gamma_space 0.0001 >>>> - spacing 1 1 1 >>>> --niter 30 >>>> --cgiter 4 >>>> --tviter 10 >>>> >>>> >>>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>>> >>>> The image looked nice, albeit with the TV "feel/plastic-y". >>>> >>>> Thanks for your feedback >>>> Guillaume >>>> >>>> >>>> >>>> >>>> Quoting Simon Rit : >>>> >>>>> Hi Guillaume, >>>>> I'm adding RTK user list to this conversation, it's better to have >>>>> these conversations on the mailing list IMO. Can you tell us what's >>>>> the volume size and the GPU? >>>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>>> Simon >>>>> >>>>> On Tue, May 31, 2016 at 5:29 PM, >>>>> wrote: >>>>>> Hi Simon, >>>>>> >>>>>> I tried the rooster recon. I used the parameters from the example >>>>>> page. The results looks rather nice but it took several hours to >>>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>>> >>>>>> Guillaume > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users From solomoncztang at gmail.com Tue Jun 7 18:27:35 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 7 Jun 2016 15:27:35 -0700 Subject: [Rtk-users] Cmake build error help In-Reply-To: <573171C8.80400@creatis.insa-lyon.fr> References: <573171C8.80400@creatis.insa-lyon.fr> Message-ID: My apologies for the delay, I updated GetGitRevision and it got past the initial issue. Unfortunately, the final build still failed with cuda enabled because NVCC 7.5 does not support Visual Studio 2015. On Mon, May 9, 2016 at 10:29 PM, Simon Rit wrote: > Hi, > Can you update GetGitRevisionDescription.cmake and > GetGitRevisionDescription.cmake.in from > https://github.com/rpavlik/cmake-modules and see if the new versions fix > this issue? > Thanks, > Simon > > PS: plead keep using the mailing list > > > On 10/05/2016 03:09, Solomon Tang wrote: > > Hi Simon, > > I am rebuilding RTK after moving to Visual Studio 2015 with cmake 3.5.2 > and am running into the following error: > > CMake Error at build/applications/CMakeFiles/git-data/grabRef.cmake:36 > (file): > file failed to open for reading (No such file or directory): > > > C:/Work/Tools/Current/RTK-1.2.0/build/applications/CMakeFiles/git-data/head-ref > Call Stack (most recent call first): > cmake/GetGitRevisionDescription.cmake:77 (include) > applications/CMakeLists.txt:5 (get_git_head_revision) > > I am using ITK 4.9.0 and fresh download of RTK 1.2.0. > > How do I resolve this issue? > > Thanks again, > > Solomon > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Tue Jun 14 09:12:34 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Tue, 14 Jun 2016 15:12:34 +0200 Subject: [Rtk-users] CUDA Ramp filter Message-ID: Dear all, When I use rtkramp with cuda option, I am getting following error ExceptionObject caught with streamer->Update() in file D:\programming\cpp\ext_li bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 itk::ExceptionObject (000000ADA7DAF220) Location: "unknown" File: d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil ter.txx Line: 50 Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol utionImageFilter assumes that input requested and buffered regions are equal. However, cpu version of ramp filter works fine. Thanks in advance. With regards, Shiras -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Tue Jun 14 09:38:06 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Tue, 14 Jun 2016 15:38:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: Message-ID: <576008BE.1060506@uclouvain.be> Hi Shiras, We found that bug recently with Sebastien Brousmiche and fixed it, at least for the use case we were considering. Can you try with the git master version of RTK ? Alternatively, you can replace reader->Update() with reader->UpdateOutputInformation() in line 61 of rtkramp.cxx and see if it fixes the problem. Regards, Cyril On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Wed Jun 15 04:50:17 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Wed, 15 Jun 2016 10:50:17 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <576008BE.1060506@uclouvain.be> References: <576008BE.1060506@uclouvain.be> Message-ID: Dear Cyril, Thanks a lot. Now rtkramp.exe works with cuda option. I am trying to integrate rtk cuda ramp filter into my recon program. I read the projections with ProjectionsReader and pass image pointer to cuda ramp filter pipeline using cudaRampFilter->SetInput(projections); I am getting runtime error and it says Error during cuda ramp filtering :: D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu :97: itk::ERROR: CUFFT ERROR #2 Do I need to enable or disable any parameter while reading projections to get rid of this error? I changed rtk_proj_reader_->Update to rtk_proj_reader_->UpdateOutputInformation(); But I am still getting the error. The error exists only with CudaFFTRampImageFilter and FFTRampImageFilter works fine. With regards, Shiras On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory wrote: > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, at > least for the use case we were considering. Can you try with the git master > version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 15 05:02:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 15 Jun 2016 11:02:07 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> Message-ID: <5761198F.7060504@uclouvain.be> Hi Shiras, Another user had the same error some years ago : http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html It seemed to be a GPU memory size issue. Can you tell what GPU you use, are what are the size and number of your projections ? Can you try with a single projection (you can use the "rtksubselect" application to create such a dataset out of yours) ? Best regards, Cyril On 06/15/2016 10:50 AM, Shiras Abdurahman wrote: > Dear Cyril, > > Thanks a lot. Now rtkramp.exe works with cuda option. > I am trying to integrate rtk cuda ramp filter into my recon program. I > read the projections with ProjectionsReader and pass image pointer to > cuda ramp filter pipeline using > cudaRampFilter->SetInput(projections); > > I am getting runtime error and it says > Error during cuda ramp filtering :: > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > :97: > itk::ERROR: CUFFT ERROR #2 > > Do I need to enable or disable any parameter while reading projections > to get rid of this error? I changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > But I am still getting the error. > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > With regards, > Shiras > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory > wrote: > > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, > at least for the use case we were considering. Can you try with > the git master version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> Dear all, >> >> When I use rtkramp with cuda option, I am getting following error >> >> ExceptionObject caught with streamer->Update() in file >> D:\programming\cpp\ext_li >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 >> >> itk::ExceptionObject (000000ADA7DAF220) >> Location: "unknown" >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> ter.txx >> Line: 50 >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol >> utionImageFilter assumes that input requested and buffered >> regions are equal. >> >> However, cpu version of ramp filter works fine. >> >> Thanks in advance. >> >> With regards, >> Shiras >> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 15 05:42:16 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 15 Jun 2016 11:42:16 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <5761198F.7060504@uclouvain.be> References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Hi, I recently added the --subsetsize option (see this commit ). You can try "--subsetsize 1" instead of using rtksubselect. Simon On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > >> >> >> Dear Cyril, >> >> >> >> Thanks a lot. Now rtkramp.exe works with cuda option. >> >> I am trying to integrate rtk cuda ramp filter into my recon >> program. I read the projections with ProjectionsReader and >> pass image pointer to cuda ramp filter pipeline using >> >> cudaRampFilter->SetInput(projections); >> >> >> >> >> >> I am getting runtime error and it says >> >> >> Error during cuda ramp filtering :: >> >> D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu >> >> :97: >> >> itk::ERROR: CUFFT ERROR #2 >> >> >> >> >> >> Do I need to enable or disable any parameter while reading >> projections to get rid of this error? I >> changed rtk_proj_reader_->Update >> to rtk_proj_reader_->UpdateOutputInformation(); >> >> But I am still getting the error. >> >> The error exists only with CudaFFTRampImageFilter >> and FFTRampImageFilter works fine. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Tue, Jun 14, 2016 at 3:38 PM, Cyril >> Mory > >> wrote: >> >> >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >>> >>> >>> >>> Dear all, >>> >>> >>> >>> When I use rtkramp with cuda option, I am >>> getting following error >>> >>> >>> >>> >>> >>> ExceptionObject caught with >>> streamer->Update() in file >>> D:\programming\cpp\ext_li >>> >>> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >>> line 93 >>> >>> >>> >>> >>> itk::ExceptionObject (000000ADA7DAF220) >>> >>> Location: "unknown" >>> >>> File: >>> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >>> >>> ter.txx >>> >>> Line: 50 >>> >>> Description: itk::ERROR: >>> CudaFFTRampImageFilter(000000ADAA53B490): >>> CudaFFTConvol >>> >>> utionImageFilter assumes that input >>> requested and buffered regions are equal. >>> >>> >>> >>> >>> >>> However, cpu version of ramp filter works >>> fine. >>> >>> >>> >>> >>> Thanks in advance. >>> >>> >>> >>> >>> With regards, >>> >>> Shiras >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >> >> >> >> >> >> >> >> >> > > > > > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amjad.n.cet at gmail.com Thu Jun 16 04:39:46 2016 From: amjad.n.cet at gmail.com (AMJAD N) Date: Thu, 16 Jun 2016 14:09:46 +0530 Subject: [Rtk-users] CUDA compilation error Message-ID: Hi all, I have been trying to create a new filter for flat field image correction. I have implemented the same in normal mode (which works fine.) and was trying to write one in CUDA mode for the past week. I had created 4 files in order to perform the Flat Field image correction filter as i followed the standard in GitHub : RTK Cuda files. which includes : rtkCudaFlatFieldImageFilter.h : is a header file contains the declaration of various functions and data members rtkCudaFlatFieldImageFilter.cxx : contains the body of the function defined in the header file and included the file "rtkCudaFlatFieldImageFilter.hcu" inorder to call wrapper function rtkCudaFlatFieldImageFilter.hcu : contains the function prototype of the wrapper function rtkCudaFlatFieldImageFilter.cu : contains the kernel function and the wrapper function in which the kernel function is called. When building the project I am getting error as Error c2059 syntax error at ' <<<' " in rtkCudaFlatFieldImageFilter.cu at kernel calling statement in Cuda Programming file. *So how should I compile the whole program?* My working environment is Microsoft Windows 7 32bit. Visual Studio 2013 CUDA ToolKit 6.5 GeForce 210 graphics card Thanks and Regards AMJAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Fri Jun 17 04:53:06 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Fri, 17 Jun 2016 10:53:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Dear Cyril, Yes. When I reduced the number of projections, I am not getting this error anymore. My initial projection size which caused the error was 1420x1416x21. It seems that error is due to CUDA memory issues. My GPU is GeForce GTX 670. With regards, Shiras On Wed, Jun 15, 2016 at 11:42 AM, Simon Rit wrote: > Hi, > I recently added the --subsetsize option (see this commit > ). > You can try "--subsetsize 1" instead of using rtksubselect. > Simon > > > On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > > > > Dear Cyril, > > > > Thanks a lot. Now rtkramp.exe works with cuda option. > > I am trying to integrate rtk cuda ramp filter into my recon > program. I read the projections with ProjectionsReader and > pass image pointer to cuda ramp filter pipeline using > > cudaRampFilter->SetInput(projections); > > > > > > I am getting runtime error and it says > > > Error during cuda ramp filtering :: > > > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > > :97: > > itk::ERROR: CUFFT ERROR #2 > > > > > > Do I need to enable or disable any parameter while reading > projections to get rid of this error? I > changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > > But I am still getting the error. > > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > > > > With regards, > > Shiras > > > > > > > > > > > > > > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril > Mory > wrote: > > >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >> >> >> >> Dear all, >> >> >> >> When I use rtkramp with cuda option, I am >> getting following error >> >> >> >> >> >> ExceptionObject caught with >> streamer->Update() in file >> D:\programming\cpp\ext_li >> >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >> line 93 >> >> >> >> >> itk::ExceptionObject (000000ADA7DAF220) >> >> Location: "unknown" >> >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> >> ter.txx >> >> Line: 50 >> >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): >> CudaFFTConvol >> >> utionImageFilter assumes that input >> requested and buffered regions are equal. >> >> >> >> >> >> However, cpu version of ramp filter works >> fine. >> >> >> >> >> Thanks in advance. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users >> >> >> >> >> >> >> > > > > > > > > > > > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Fri Jun 17 05:07:18 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Fri, 17 Jun 2016 11:07:18 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer Message-ID: Hi everyone, I need some help for updating a JSON file for the ConjugateGradientConeBeamReconstructionFilter. I want to test a new implementation I made on this filter to perform a support constraint for the reconstructed image. The constraint consists in a binary mask passed as an attribute. This attribute is a pointer to an image of type TOutputImage. The default value (in the constructor) is NULL. I don't know how to write it in the JSON file to wrap this member : { "name" : "SupportMask", "type" : ?, "default" : ?, "briefdescriptionSet" : "", "detaileddescriptionSet" : "", "briefdescriptionGet" : "", "detaileddescriptionGet" : "" } Does it also need to perform a specific cast with the optional field custom_itk_cast ? I don't really understand how it works. Thanks in advance for your help. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 17 12:46:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 17 Jun 2016 18:46:31 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Fabien, I can't say I master this but I had to do something similar in FieldOfViewImageFilter.json . Look at the "ProjectionsStack" parameter which is actually a 3D image. How did I come up with such a complicated code? No clue, but SimpleITK has similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json . My guess is that passing an image as a parameters in an itk image filter is not so common... I hope this helps, Simon On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey wrote: > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to perform a > support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. This > attribute is a pointer to an image of type TOutputImage. The default value > (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional field > custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Mon Jun 20 03:30:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Mon, 20 Jun 2016 09:30:07 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: <57679B7F.2060000@uclouvain.be> Hi, A question that then comes to my mind : why do you pass the image as parameter ? Passing it as input, you would benefit from the pipeline features, such as making your output outdated when you modify your input binary mask, or loading of only the required part of your binary mask, ... Did you try it, and it didn't work ? I can help you do it this way if you need. Cyril On 06/17/2016 06:46 PM, Simon Rit wrote: > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. > How did I come up with such a complicated code? No clue, but SimpleITK > has similar ugly json files, e.g., > LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image > filter is not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to > perform a support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. > This attribute is a pointer to an image of type TOutputImage. The > default value (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional > field custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 03:59:41 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 09:59:41 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Thanks for your help. It seems to be what I need ! I will try this and tell you if it works. Fabien. 2016-06-17 18:46 GMT+02:00 Simon Rit : > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 04:04:44 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 10:04:44 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: <57679B7F.2060000@uclouvain.be> References: <57679B7F.2060000@uclouvain.be> Message-ID: Hi Cyril, Of course it could be a solution, but as the filter as already 3 inputs, I did not want to add this mask as a fourth one as it seems to me that it is very optional. But I understand that it would be useful for a better memory handling. I did not try your solution and I have to confess that I do not feel sufficiently good in "RTK programming". So I willl try first my solution and we can eventually discuss in the future for a better way for implementing this feature ! Thanks for your response Cyril ! Fabien 2016-06-20 9:30 GMT+02:00 Cyril Mory : > Hi, > > A question that then comes to my mind : why do you pass the image as > parameter ? Passing it as input, you would benefit from the pipeline > features, such as making your output outdated when you modify your input > binary mask, or loading of only the required part of your binary mask, ... > Did you try it, and it didn't work ? I can help you do it this way if you > need. > > Cyril > > > On 06/17/2016 06:46 PM, Simon Rit wrote: > > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Tue Jun 21 03:27:06 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Tue, 21 Jun 2016 09:27:06 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Your solution works fine ! Thanks. I just noticed something to be careful with : the function "CastImageToITK" (in $RTK_HOME/utilities/SimpleRTK/Code/BasicFilters/include/srtkImageFilter.h) does not accept NULL pointer (an error is returned) while the default value set in the JSON file seems to declare a (0,0) image whose pointer is NULL. As a consequence it is mandatory to set an image before executing the filter. So if you plan, as this is in my case, to allow the filter not to do something if no image has been set, it will not work in SimpleRTK with this custom cast. Fabien. 2016-06-20 9:59 GMT+02:00 Fabien Momey : > Hi Simon, > > Thanks for your help. > > It seems to be what I need ! I will try this and tell you if it works. > > Fabien. > > 2016-06-17 18:46 GMT+02:00 Simon Rit : > >> Hi Fabien, >> I can't say I master this but I had to do something similar in >> FieldOfViewImageFilter.json >> . >> Look at the "ProjectionsStack" parameter which is actually a 3D image. How >> did I come up with such a complicated code? No clue, but SimpleITK has >> similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json >> . >> My guess is that passing an image as a parameters in an itk image filter is >> not so common... >> I hope this helps, >> Simon >> >> On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey >> wrote: >> >>> Hi everyone, >>> >>> I need some help for updating a JSON file for the >>> ConjugateGradientConeBeamReconstructionFilter. >>> >>> I want to test a new implementation I made on this filter to perform a >>> support constraint for the reconstructed image. >>> >>> The constraint consists in a binary mask passed as an attribute. This >>> attribute is a pointer to an image of type TOutputImage. The default value >>> (in the constructor) is NULL. >>> >>> I don't know how to write it in the JSON file to wrap this member : >>> >>> { >>> "name" : "SupportMask", >>> "type" : ?, >>> "default" : ?, >>> "briefdescriptionSet" : "", >>> "detaileddescriptionSet" : "", >>> "briefdescriptionGet" : "", >>> "detaileddescriptionGet" : "" >>> } >>> >>> Does it also need to perform a specific cast with the optional field >>> custom_itk_cast ? I don't really understand how it works. >>> >>> Thanks in advance for your help. >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From C.Zoellner at physik.uni-muenchen.de Thu Jun 23 09:48:19 2016 From: C.Zoellner at physik.uni-muenchen.de (=?UTF-8?Q?Christoph_Z=c3=b6llner?=) Date: Thu, 23 Jun 2016 15:48:19 +0200 Subject: [Rtk-users] rtksubselect Message-ID: <576BE8A3.40409@physik.uni-muenchen.de> Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Thu Jun 23 10:22:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 23 Jun 2016 16:22:39 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <576BF0AF.8000507@uclouvain.be> Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Jun 23 10:01:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 23 Jun 2016 16:01:31 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <27bf15f0-4a1a-2b3d-b876-f5989e3bbf9a@creatis.insa-lyon.fr> Hi, On my computer, it works but I had to change your regular expression to '.*.his' instead of '*.his'. It's a good idea to keep the single quotes on the command line to avoid interpretation by the command line interpreter. If this is not the issue, you can try to add the -v option to check the number of projections that is found. Simon On 23/06/2016 15:48, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From ana.vaniqui at maastro.nl Thu Jun 23 10:41:51 2016 From: ana.vaniqui at maastro.nl (Ana Vaniqui) Date: Thu, 23 Jun 2016 14:41:51 +0000 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BF0AF.8000507@uclouvain.be> References: <576BE8A3.40409@physik.uni-muenchen.de>, <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I just want to add that a tutorial on regular expressions for beginners would be very much appreciated.. Kind regards, Ana ________________________________ From: Rtk-users on behalf of Cyril Mory Sent: Thursday, June 23, 2016 4:22:39 PM To: Christoph Z?llner; rtk-users at public.kitware.com Subject: Re: [Rtk-users] rtksubselect Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 24 07:11:40 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 24 Jun 2016 13:11:40 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: References: <576BE8A3.40409@physik.uni-muenchen.de> <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I don't have a tutorial for you but you can start by reading the ITK doc: https://itk.org/Doxygen/html/classitk_1_1RegularExpressionSeriesFileNames.html There are tons of tutorials on the web (and I don't know a specifically good one), the important part to remember is that there are several formats for regular expressions and ITK uses one of them. Note that you don't have to use them in most cases. For example, Christoph could have use "-r his" to match all filenames containing "his". Simon On Thu, Jun 23, 2016 at 4:41 PM, Ana Vaniqui wrote: > Hi, > > > I just want to add that a tutorial on regular expressions for beginners > would be very much appreciated.. > > > Kind regards, > > Ana > > > ------------------------------ > *From:* Rtk-users on behalf of > Cyril Mory > *Sent:* Thursday, June 23, 2016 4:22:39 PM > *To:* Christoph Z?llner; rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] rtksubselect > > Hi Christoph, > > The error lies in the regular expression: replace the "*.his" with > ".*.his" and it should work. > > By the way: does anyone know have a tutorial on regular expressions for > beginners to recommend ? > > Cyril > > On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the largest > possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Mon Jun 27 17:56:22 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Mon, 27 Jun 2016 14:56:22 -0700 Subject: [Rtk-users] Realistic Image Quality? Message-ID: Hi Simon, I am using RTK to simulate CT acquisitions using different detector sizes to see how this impact on image quality might change some of our in-house metrics. The images I have linked to below have been created using rtkforwardprojections with different projection spacings (0.3 isometric and 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection stepsize is equal to the projection spacing. The window levels between images of their respective rows are the same. I am simply wondering if the differences between these images are realistic. I would expect the image with a detector size than is more than twice as large as the original would be drastically different when in fact they turn out to be incredibly similar. Are the assumptions made about projection spacing == cuda stepsize == simulated hardware detector size incorrect? https://gyazo.com/e86436826f687a2db4b234699d050450 https://gyazo.com/ca9612218f082e78ba3082950a27fa4c Solomon -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Tue Jun 28 03:14:49 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Tue, 28 Jun 2016 09:14:49 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: What is the magnification factor of your geometry? 2016-06-27 23:56 GMT+02:00 Solomon Tang : > Hi Simon, > > I am using RTK to simulate CT acquisitions using different detector sizes > to see how this impact on image quality might change some of our in-house > metrics. > > The images I have linked to below have been created using > rtkforwardprojections with different projection spacings (0.3 isometric and > 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and > image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection > stepsize is equal to the projection spacing. The window levels between > images of their respective rows are the same. > > I am simply wondering if the differences between these images are > realistic. I would expect the image with a detector size than is more than > twice as large as the original would be drastically different when in fact > they turn out to be incredibly similar. Are the assumptions made about > projection spacing == cuda stepsize == simulated hardware detector size > incorrect? > > > https://gyazo.com/e86436826f687a2db4b234699d050450 > > https://gyazo.com/ca9612218f082e78ba3082950a27fa4c > > Solomon > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Jun 28 04:34:07 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 28 Jun 2016 10:34:07 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, I don't expect a drastic change, only a slight loss of spatial resolution if the ray distance at the isocenter (I agree with Chao that it plays an important role) is larger than the original voxel size. Maybe it's there but you would need to zoom more to see it. You would see a more realistic difference if you were adding photon noise to your data. Simon On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > What is the magnification factor of your geometry? > > 2016-06-27 23:56 GMT+02:00 Solomon Tang : > >> Hi Simon, >> >> I am using RTK to simulate CT acquisitions using different detector sizes >> to see how this impact on image quality might change some of our in-house >> metrics. >> >> The images I have linked to below have been created using >> rtkforwardprojections with different projection spacings (0.3 isometric and >> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >> stepsize is equal to the projection spacing. The window levels between >> images of their respective rows are the same. >> >> I am simply wondering if the differences between these images are >> realistic. I would expect the image with a detector size than is more than >> twice as large as the original would be drastically different when in fact >> they turn out to be incredibly similar. Are the assumptions made about >> projection spacing == cuda stepsize == simulated hardware detector size >> incorrect? >> >> >> https://gyazo.com/e86436826f687a2db4b234699d050450 >> >> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >> >> Solomon >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Tue Jun 28 18:09:15 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 28 Jun 2016 15:09:15 -0700 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Thanks for the feedback Chao and Simon, My geometry was using default RTK sdd/sid settings. I have now changed it to match the DICOM header from the original images (1085.6 SDD, 595 SID), but not much has qualitatively changed. How do you suggest adding photon noise? I have discovered an itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling level. I'm assuming the reconstructed image should be passed through the filter, and not the projection. On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit wrote: > Hi, > I don't expect a drastic change, only a slight loss of spatial resolution > if the ray distance at the isocenter (I agree with Chao that it plays an > important role) is larger than the original voxel size. Maybe it's there > but you would need to zoom more to see it. > You would see a more realistic difference if you were adding photon noise > to your data. > Simon > > On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > >> What is the magnification factor of your geometry? >> >> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >> >>> Hi Simon, >>> >>> I am using RTK to simulate CT acquisitions using different detector >>> sizes to see how this impact on image quality might change some of our >>> in-house metrics. >>> >>> The images I have linked to below have been created using >>> rtkforwardprojections with different projection spacings (0.3 isometric and >>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>> stepsize is equal to the projection spacing. The window levels between >>> images of their respective rows are the same. >>> >>> I am simply wondering if the differences between these images are >>> realistic. I would expect the image with a detector size than is more than >>> twice as large as the original would be drastically different when in fact >>> they turn out to be incredibly similar. Are the assumptions made about >>> projection spacing == cuda stepsize == simulated hardware detector size >>> incorrect? >>> >>> >>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>> >>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>> >>> Solomon >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 29 01:28:21 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 29 Jun 2016 07:28:21 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, Attached is the python script using SimpleRTK that I have used to do the simulation of figure 6 of this publication . The paragraph where I describe what I'm doing starts with "The same simulations were repeated with Poisson noise". The interesting part of the script for you is line 158 where if I'm given a number of photons I0, I add Poisson noise. Simon On Wed, Jun 29, 2016 at 12:09 AM, Solomon Tang wrote: > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: offsetRecon2.py Type: text/x-python Size: 6981 bytes Desc: not available URL: From cyril.mory at uclouvain.be Wed Jun 29 04:51:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 29 Jun 2016 10:51:39 +0200 Subject: [Rtk-users] Replacement for TV with lower peak memory usage In-Reply-To: References: Message-ID: <57738C1B.9050206@uclouvain.be> Hi Louie, Please ask the mailing list, or at least CC it, when your question may be of interest to other RTK users. Indeed, I recommend to use rtkregularizedconjugategradient instead of ADMM_TV or ADMM_wavelets. You can activate TV regularization, wavelets regularization, or both, and it will be simpler to tune than ADMM. If you run into trouble, ask on the mailing list :) Cheers, Cyril On 06/29/2016 10:45 AM, Liu Yu wrote: > Hi Cyril, > > You said you don't recommend using the ADMM_TV method due to the > speed. Which was the alternative you suggested during the training? Is > it Regularized CG? > > Cheers, > Louie > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Wed Jun 29 04:53:28 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Wed, 29 Jun 2016 10:53:28 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi Solomon, The magnification is about 1.8. Given that the voxel spacing of your volume is 0.4688x0.4688x0.6, the corresponding projection spacing is roughly 0.84x1.08. Therefore 0.3 or 0.75 pixel spacing of your detector would not give much difference. There were just interpolation instead of real additional information that were introduced by 0.3 spacing. If you do have small structures in your object and you use a much finer grid for your volume in the simulation, I would expect to see more difference then. Regards, Chao 2016-06-29 0:09 GMT+02:00 Solomon Tang : > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 1 03:34:20 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:34:20 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> Message-ID: <574E8FFC.3010903@uclouvain.be> Hi Guillaume, Can you also tell how many iterations you have performed (main loop, conjugate gradient, and TV) ? If you are performing 30 iterations of the main loop, with 4 CG iterations, then considering the size of your data I do not think anything is wrong. Reconstructing a smaller volume will give you a large speedup (time is almost linear with number of voxels), so I would recommend that you try again with the smallest possible volume, i.e. the bounding box of your patient. Are you running the release 1.2.0 version ? If so, note that on the master branch of the git repository, I am adding optimizations for the 4D reconstructions. It is not fully functional at the moment, but I'm currently working 100% of my time on it. I will let you know about the next updates. Regards, Cyril On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: > > Hi Simon, > > Thanks for mailing list suggestion. My initial question was about > typical reconstruction times for rtkfourdrooster. What I tried is > summarized below: > > -Volume size was 410 410 264 and could be easily reduced by a good > margin. > > -The GPU is quadro M4000 with 8GB > > -about 2300 256x256 projections with shifted elekta panel (so called M20) > > -10 phases > > -for the motion mask at the moment I just used the FOV mask for first > try. > > --gamma_time 0.0001 > --gamma_space 0.0001 > - spacing 1 1 1 > --niter 30 > --cgiter 4 > --tviter 10 > > > Recon time was about 5-6 hours. I saw about 4 Gb used on the card. > > The image looked nice, albeit with the TV "feel/plastic-y". > > Thanks for your feedback > Guillaume > > > > > Quoting Simon Rit : > >> Hi Guillaume, >> I'm adding RTK user list to this conversation, it's better to have >> these conversations on the mailing list IMO. Can you tell us what's >> the volume size and the GPU? >> Cyril is ROOSTER's dev, maybe he could comment on recon times. >> Simon >> >> On Tue, May 31, 2016 at 5:29 PM, >> wrote: >>> Hi Simon, >>> >>> I tried the rooster recon. I used the parameters from the example >>> page. The results looks rather nice but it took several hours to run >>> (5-6). Its a big dataset of about 2000 256x256 projections. >>> >>> Guillaume From g.landry at physik.uni-muenchen.de Wed Jun 1 03:39:47 2016 From: g.landry at physik.uni-muenchen.de (Guillaume Landry) Date: Wed, 1 Jun 2016 09:39:47 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E8FFC.3010903@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> Message-ID: <574E9143.8080002@physik.uni-muenchen.de> Good morning Cyril, Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG and 10 for TV (taken from example). Possibly I could reduce the number of TV iterations? Looking forward to your optimizations. Cheers Guillaume Dr. Guillaume Landry Ludwig Maximilians University (LMU) Munich Medical Physics Am Coulombwall 1 85748 Garching Tel:+49 (0) 89 289-14077 Fax:+49 (0) 89 289-14072 On 06/01/2016 09:34 AM, Cyril Mory wrote: > Hi Guillaume, > > Can you also tell how many iterations you have performed (main loop, > conjugate gradient, and TV) ? > If you are performing 30 iterations of the main loop, with 4 CG > iterations, then considering the size of your data I do not think > anything is wrong. Reconstructing a smaller volume will give you a > large speedup (time is almost linear with number of voxels), so I > would recommend that you try again with the smallest possible volume, > i.e. the bounding box of your patient. > > Are you running the release 1.2.0 version ? If so, note that on the > master branch of the git repository, I am adding optimizations for the > 4D reconstructions. It is not fully functional at the moment, but I'm > currently working 100% of my time on it. I will let you know about the > next updates. > > Regards, > Cyril > > On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >> >> Hi Simon, >> >> Thanks for mailing list suggestion. My initial question was about >> typical reconstruction times for rtkfourdrooster. What I tried is >> summarized below: >> >> -Volume size was 410 410 264 and could be easily reduced by a good >> margin. >> >> -The GPU is quadro M4000 with 8GB >> >> -about 2300 256x256 projections with shifted elekta panel (so called >> M20) >> >> -10 phases >> >> -for the motion mask at the moment I just used the FOV mask for first >> try. >> >> --gamma_time 0.0001 >> --gamma_space 0.0001 >> - spacing 1 1 1 >> --niter 30 >> --cgiter 4 >> --tviter 10 >> >> >> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >> >> The image looked nice, albeit with the TV "feel/plastic-y". >> >> Thanks for your feedback >> Guillaume >> >> >> >> >> Quoting Simon Rit : >> >>> Hi Guillaume, >>> I'm adding RTK user list to this conversation, it's better to have >>> these conversations on the mailing list IMO. Can you tell us what's >>> the volume size and the GPU? >>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>> Simon >>> >>> On Tue, May 31, 2016 at 5:29 PM, >>> wrote: >>>> Hi Simon, >>>> >>>> I tried the rooster recon. I used the parameters from the example >>>> page. The results looks rather nice but it took several hours to >>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>> >>>> Guillaume > From cyril.mory at uclouvain.be Wed Jun 1 03:44:13 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:44:13 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E9143.8080002@physik.uni-muenchen.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> Message-ID: <574E924D.30403@uclouvain.be> The bottleneck is the 4D conjugate gradient, and by far. You can also try to reduce the number of main loop iterations (10 should already give a nice result, but you may need more for your application). That, plus reducing the size of your reconstructed volume, plus the optimizations I'm working on, should give you a reconstruction time of less than one hour. On 06/01/2016 09:39 AM, Guillaume Landry wrote: > Good morning Cyril, > > Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG > and 10 for TV (taken from example). Possibly I could reduce the number > of TV iterations? > > Looking forward to your optimizations. > > Cheers > Guillaume > > Dr. Guillaume Landry > Ludwig Maximilians University (LMU) Munich > Medical Physics > Am Coulombwall 1 > 85748 Garching > Tel:+49 (0) 89 289-14077 > Fax:+49 (0) 89 289-14072 > > On 06/01/2016 09:34 AM, Cyril Mory wrote: >> Hi Guillaume, >> >> Can you also tell how many iterations you have performed (main loop, >> conjugate gradient, and TV) ? >> If you are performing 30 iterations of the main loop, with 4 CG >> iterations, then considering the size of your data I do not think >> anything is wrong. Reconstructing a smaller volume will give you a >> large speedup (time is almost linear with number of voxels), so I >> would recommend that you try again with the smallest possible volume, >> i.e. the bounding box of your patient. >> >> Are you running the release 1.2.0 version ? If so, note that on the >> master branch of the git repository, I am adding optimizations for the >> 4D reconstructions. It is not fully functional at the moment, but I'm >> currently working 100% of my time on it. I will let you know about the >> next updates. >> >> Regards, >> Cyril >> >> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>> Hi Simon, >>> >>> Thanks for mailing list suggestion. My initial question was about >>> typical reconstruction times for rtkfourdrooster. What I tried is >>> summarized below: >>> >>> -Volume size was 410 410 264 and could be easily reduced by a good >>> margin. >>> >>> -The GPU is quadro M4000 with 8GB >>> >>> -about 2300 256x256 projections with shifted elekta panel (so called >>> M20) >>> >>> -10 phases >>> >>> -for the motion mask at the moment I just used the FOV mask for first >>> try. >>> >>> --gamma_time 0.0001 >>> --gamma_space 0.0001 >>> - spacing 1 1 1 >>> --niter 30 >>> --cgiter 4 >>> --tviter 10 >>> >>> >>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>> >>> The image looked nice, albeit with the TV "feel/plastic-y". >>> >>> Thanks for your feedback >>> Guillaume >>> >>> >>> >>> >>> Quoting Simon Rit : >>> >>>> Hi Guillaume, >>>> I'm adding RTK user list to this conversation, it's better to have >>>> these conversations on the mailing list IMO. Can you tell us what's >>>> the volume size and the GPU? >>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>> Simon >>>> >>>> On Tue, May 31, 2016 at 5:29 PM, >>>> wrote: >>>>> Hi Simon, >>>>> >>>>> I tried the rooster recon. I used the parameters from the example >>>>> page. The results looks rather nice but it took several hours to >>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>> >>>>> Guillaume From cyril.mory at uclouvain.be Thu Jun 2 07:58:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 2 Jun 2016 13:58:07 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E924D.30403@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> <574E924D.30403@uclouvain.be> Message-ID: <57501F4F.8050006@uclouvain.be> Hi Guillaume, Just wanted to let you know : if you perform a 4D CT for the planning, and use motion estimation on that 4D CT (thus getting either one 4D displacement vector field, or two inverse-consistent 4D DVFs), you can use this/these DVF(s) in ROOSTER. It should bring you a significant improvement of image quality, and on my datasets I was able to reduce the number of iterations of the main loop to 10 without problems. We can discuss this further if you are interested. Cyril On 06/01/2016 09:44 AM, Cyril Mory wrote: > The bottleneck is the 4D conjugate gradient, and by far. You can also > try to reduce the number of main loop iterations (10 should already > give a nice result, but you may need more for your application). > That, plus reducing the size of your reconstructed volume, plus the > optimizations I'm working on, should give you a reconstruction time of > less than one hour. > > On 06/01/2016 09:39 AM, Guillaume Landry wrote: >> Good morning Cyril, >> >> Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG >> and 10 for TV (taken from example). Possibly I could reduce the number >> of TV iterations? >> >> Looking forward to your optimizations. >> >> Cheers >> Guillaume >> >> Dr. Guillaume Landry >> Ludwig Maximilians University (LMU) Munich >> Medical Physics >> Am Coulombwall 1 >> 85748 Garching >> Tel:+49 (0) 89 289-14077 >> Fax:+49 (0) 89 289-14072 >> >> On 06/01/2016 09:34 AM, Cyril Mory wrote: >>> Hi Guillaume, >>> >>> Can you also tell how many iterations you have performed (main loop, >>> conjugate gradient, and TV) ? >>> If you are performing 30 iterations of the main loop, with 4 CG >>> iterations, then considering the size of your data I do not think >>> anything is wrong. Reconstructing a smaller volume will give you a >>> large speedup (time is almost linear with number of voxels), so I >>> would recommend that you try again with the smallest possible volume, >>> i.e. the bounding box of your patient. >>> >>> Are you running the release 1.2.0 version ? If so, note that on the >>> master branch of the git repository, I am adding optimizations for the >>> 4D reconstructions. It is not fully functional at the moment, but I'm >>> currently working 100% of my time on it. I will let you know about the >>> next updates. >>> >>> Regards, >>> Cyril >>> >>> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>>> Hi Simon, >>>> >>>> Thanks for mailing list suggestion. My initial question was about >>>> typical reconstruction times for rtkfourdrooster. What I tried is >>>> summarized below: >>>> >>>> -Volume size was 410 410 264 and could be easily reduced by a good >>>> margin. >>>> >>>> -The GPU is quadro M4000 with 8GB >>>> >>>> -about 2300 256x256 projections with shifted elekta panel (so called >>>> M20) >>>> >>>> -10 phases >>>> >>>> -for the motion mask at the moment I just used the FOV mask for first >>>> try. >>>> >>>> --gamma_time 0.0001 >>>> --gamma_space 0.0001 >>>> - spacing 1 1 1 >>>> --niter 30 >>>> --cgiter 4 >>>> --tviter 10 >>>> >>>> >>>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>>> >>>> The image looked nice, albeit with the TV "feel/plastic-y". >>>> >>>> Thanks for your feedback >>>> Guillaume >>>> >>>> >>>> >>>> >>>> Quoting Simon Rit : >>>> >>>>> Hi Guillaume, >>>>> I'm adding RTK user list to this conversation, it's better to have >>>>> these conversations on the mailing list IMO. Can you tell us what's >>>>> the volume size and the GPU? >>>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>>> Simon >>>>> >>>>> On Tue, May 31, 2016 at 5:29 PM, >>>>> wrote: >>>>>> Hi Simon, >>>>>> >>>>>> I tried the rooster recon. I used the parameters from the example >>>>>> page. The results looks rather nice but it took several hours to >>>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>>> >>>>>> Guillaume > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users From solomoncztang at gmail.com Tue Jun 7 18:27:35 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 7 Jun 2016 15:27:35 -0700 Subject: [Rtk-users] Cmake build error help In-Reply-To: <573171C8.80400@creatis.insa-lyon.fr> References: <573171C8.80400@creatis.insa-lyon.fr> Message-ID: My apologies for the delay, I updated GetGitRevision and it got past the initial issue. Unfortunately, the final build still failed with cuda enabled because NVCC 7.5 does not support Visual Studio 2015. On Mon, May 9, 2016 at 10:29 PM, Simon Rit wrote: > Hi, > Can you update GetGitRevisionDescription.cmake and > GetGitRevisionDescription.cmake.in from > https://github.com/rpavlik/cmake-modules and see if the new versions fix > this issue? > Thanks, > Simon > > PS: plead keep using the mailing list > > > On 10/05/2016 03:09, Solomon Tang wrote: > > Hi Simon, > > I am rebuilding RTK after moving to Visual Studio 2015 with cmake 3.5.2 > and am running into the following error: > > CMake Error at build/applications/CMakeFiles/git-data/grabRef.cmake:36 > (file): > file failed to open for reading (No such file or directory): > > > C:/Work/Tools/Current/RTK-1.2.0/build/applications/CMakeFiles/git-data/head-ref > Call Stack (most recent call first): > cmake/GetGitRevisionDescription.cmake:77 (include) > applications/CMakeLists.txt:5 (get_git_head_revision) > > I am using ITK 4.9.0 and fresh download of RTK 1.2.0. > > How do I resolve this issue? > > Thanks again, > > Solomon > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Tue Jun 14 09:12:34 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Tue, 14 Jun 2016 15:12:34 +0200 Subject: [Rtk-users] CUDA Ramp filter Message-ID: Dear all, When I use rtkramp with cuda option, I am getting following error ExceptionObject caught with streamer->Update() in file D:\programming\cpp\ext_li bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 itk::ExceptionObject (000000ADA7DAF220) Location: "unknown" File: d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil ter.txx Line: 50 Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol utionImageFilter assumes that input requested and buffered regions are equal. However, cpu version of ramp filter works fine. Thanks in advance. With regards, Shiras -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Tue Jun 14 09:38:06 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Tue, 14 Jun 2016 15:38:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: Message-ID: <576008BE.1060506@uclouvain.be> Hi Shiras, We found that bug recently with Sebastien Brousmiche and fixed it, at least for the use case we were considering. Can you try with the git master version of RTK ? Alternatively, you can replace reader->Update() with reader->UpdateOutputInformation() in line 61 of rtkramp.cxx and see if it fixes the problem. Regards, Cyril On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Wed Jun 15 04:50:17 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Wed, 15 Jun 2016 10:50:17 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <576008BE.1060506@uclouvain.be> References: <576008BE.1060506@uclouvain.be> Message-ID: Dear Cyril, Thanks a lot. Now rtkramp.exe works with cuda option. I am trying to integrate rtk cuda ramp filter into my recon program. I read the projections with ProjectionsReader and pass image pointer to cuda ramp filter pipeline using cudaRampFilter->SetInput(projections); I am getting runtime error and it says Error during cuda ramp filtering :: D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu :97: itk::ERROR: CUFFT ERROR #2 Do I need to enable or disable any parameter while reading projections to get rid of this error? I changed rtk_proj_reader_->Update to rtk_proj_reader_->UpdateOutputInformation(); But I am still getting the error. The error exists only with CudaFFTRampImageFilter and FFTRampImageFilter works fine. With regards, Shiras On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory wrote: > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, at > least for the use case we were considering. Can you try with the git master > version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 15 05:02:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 15 Jun 2016 11:02:07 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> Message-ID: <5761198F.7060504@uclouvain.be> Hi Shiras, Another user had the same error some years ago : http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html It seemed to be a GPU memory size issue. Can you tell what GPU you use, are what are the size and number of your projections ? Can you try with a single projection (you can use the "rtksubselect" application to create such a dataset out of yours) ? Best regards, Cyril On 06/15/2016 10:50 AM, Shiras Abdurahman wrote: > Dear Cyril, > > Thanks a lot. Now rtkramp.exe works with cuda option. > I am trying to integrate rtk cuda ramp filter into my recon program. I > read the projections with ProjectionsReader and pass image pointer to > cuda ramp filter pipeline using > cudaRampFilter->SetInput(projections); > > I am getting runtime error and it says > Error during cuda ramp filtering :: > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > :97: > itk::ERROR: CUFFT ERROR #2 > > Do I need to enable or disable any parameter while reading projections > to get rid of this error? I changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > But I am still getting the error. > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > With regards, > Shiras > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory > wrote: > > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, > at least for the use case we were considering. Can you try with > the git master version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> Dear all, >> >> When I use rtkramp with cuda option, I am getting following error >> >> ExceptionObject caught with streamer->Update() in file >> D:\programming\cpp\ext_li >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 >> >> itk::ExceptionObject (000000ADA7DAF220) >> Location: "unknown" >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> ter.txx >> Line: 50 >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol >> utionImageFilter assumes that input requested and buffered >> regions are equal. >> >> However, cpu version of ramp filter works fine. >> >> Thanks in advance. >> >> With regards, >> Shiras >> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 15 05:42:16 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 15 Jun 2016 11:42:16 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <5761198F.7060504@uclouvain.be> References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Hi, I recently added the --subsetsize option (see this commit ). You can try "--subsetsize 1" instead of using rtksubselect. Simon On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > >> >> >> Dear Cyril, >> >> >> >> Thanks a lot. Now rtkramp.exe works with cuda option. >> >> I am trying to integrate rtk cuda ramp filter into my recon >> program. I read the projections with ProjectionsReader and >> pass image pointer to cuda ramp filter pipeline using >> >> cudaRampFilter->SetInput(projections); >> >> >> >> >> >> I am getting runtime error and it says >> >> >> Error during cuda ramp filtering :: >> >> D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu >> >> :97: >> >> itk::ERROR: CUFFT ERROR #2 >> >> >> >> >> >> Do I need to enable or disable any parameter while reading >> projections to get rid of this error? I >> changed rtk_proj_reader_->Update >> to rtk_proj_reader_->UpdateOutputInformation(); >> >> But I am still getting the error. >> >> The error exists only with CudaFFTRampImageFilter >> and FFTRampImageFilter works fine. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Tue, Jun 14, 2016 at 3:38 PM, Cyril >> Mory > >> wrote: >> >> >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >>> >>> >>> >>> Dear all, >>> >>> >>> >>> When I use rtkramp with cuda option, I am >>> getting following error >>> >>> >>> >>> >>> >>> ExceptionObject caught with >>> streamer->Update() in file >>> D:\programming\cpp\ext_li >>> >>> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >>> line 93 >>> >>> >>> >>> >>> itk::ExceptionObject (000000ADA7DAF220) >>> >>> Location: "unknown" >>> >>> File: >>> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >>> >>> ter.txx >>> >>> Line: 50 >>> >>> Description: itk::ERROR: >>> CudaFFTRampImageFilter(000000ADAA53B490): >>> CudaFFTConvol >>> >>> utionImageFilter assumes that input >>> requested and buffered regions are equal. >>> >>> >>> >>> >>> >>> However, cpu version of ramp filter works >>> fine. >>> >>> >>> >>> >>> Thanks in advance. >>> >>> >>> >>> >>> With regards, >>> >>> Shiras >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >> >> >> >> >> >> >> >> >> > > > > > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amjad.n.cet at gmail.com Thu Jun 16 04:39:46 2016 From: amjad.n.cet at gmail.com (AMJAD N) Date: Thu, 16 Jun 2016 14:09:46 +0530 Subject: [Rtk-users] CUDA compilation error Message-ID: Hi all, I have been trying to create a new filter for flat field image correction. I have implemented the same in normal mode (which works fine.) and was trying to write one in CUDA mode for the past week. I had created 4 files in order to perform the Flat Field image correction filter as i followed the standard in GitHub : RTK Cuda files. which includes : rtkCudaFlatFieldImageFilter.h : is a header file contains the declaration of various functions and data members rtkCudaFlatFieldImageFilter.cxx : contains the body of the function defined in the header file and included the file "rtkCudaFlatFieldImageFilter.hcu" inorder to call wrapper function rtkCudaFlatFieldImageFilter.hcu : contains the function prototype of the wrapper function rtkCudaFlatFieldImageFilter.cu : contains the kernel function and the wrapper function in which the kernel function is called. When building the project I am getting error as Error c2059 syntax error at ' <<<' " in rtkCudaFlatFieldImageFilter.cu at kernel calling statement in Cuda Programming file. *So how should I compile the whole program?* My working environment is Microsoft Windows 7 32bit. Visual Studio 2013 CUDA ToolKit 6.5 GeForce 210 graphics card Thanks and Regards AMJAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Fri Jun 17 04:53:06 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Fri, 17 Jun 2016 10:53:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Dear Cyril, Yes. When I reduced the number of projections, I am not getting this error anymore. My initial projection size which caused the error was 1420x1416x21. It seems that error is due to CUDA memory issues. My GPU is GeForce GTX 670. With regards, Shiras On Wed, Jun 15, 2016 at 11:42 AM, Simon Rit wrote: > Hi, > I recently added the --subsetsize option (see this commit > ). > You can try "--subsetsize 1" instead of using rtksubselect. > Simon > > > On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > > > > Dear Cyril, > > > > Thanks a lot. Now rtkramp.exe works with cuda option. > > I am trying to integrate rtk cuda ramp filter into my recon > program. I read the projections with ProjectionsReader and > pass image pointer to cuda ramp filter pipeline using > > cudaRampFilter->SetInput(projections); > > > > > > I am getting runtime error and it says > > > Error during cuda ramp filtering :: > > > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > > :97: > > itk::ERROR: CUFFT ERROR #2 > > > > > > Do I need to enable or disable any parameter while reading > projections to get rid of this error? I > changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > > But I am still getting the error. > > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > > > > With regards, > > Shiras > > > > > > > > > > > > > > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril > Mory > wrote: > > >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >> >> >> >> Dear all, >> >> >> >> When I use rtkramp with cuda option, I am >> getting following error >> >> >> >> >> >> ExceptionObject caught with >> streamer->Update() in file >> D:\programming\cpp\ext_li >> >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >> line 93 >> >> >> >> >> itk::ExceptionObject (000000ADA7DAF220) >> >> Location: "unknown" >> >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> >> ter.txx >> >> Line: 50 >> >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): >> CudaFFTConvol >> >> utionImageFilter assumes that input >> requested and buffered regions are equal. >> >> >> >> >> >> However, cpu version of ramp filter works >> fine. >> >> >> >> >> Thanks in advance. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users >> >> >> >> >> >> >> > > > > > > > > > > > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Fri Jun 17 05:07:18 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Fri, 17 Jun 2016 11:07:18 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer Message-ID: Hi everyone, I need some help for updating a JSON file for the ConjugateGradientConeBeamReconstructionFilter. I want to test a new implementation I made on this filter to perform a support constraint for the reconstructed image. The constraint consists in a binary mask passed as an attribute. This attribute is a pointer to an image of type TOutputImage. The default value (in the constructor) is NULL. I don't know how to write it in the JSON file to wrap this member : { "name" : "SupportMask", "type" : ?, "default" : ?, "briefdescriptionSet" : "", "detaileddescriptionSet" : "", "briefdescriptionGet" : "", "detaileddescriptionGet" : "" } Does it also need to perform a specific cast with the optional field custom_itk_cast ? I don't really understand how it works. Thanks in advance for your help. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 17 12:46:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 17 Jun 2016 18:46:31 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Fabien, I can't say I master this but I had to do something similar in FieldOfViewImageFilter.json . Look at the "ProjectionsStack" parameter which is actually a 3D image. How did I come up with such a complicated code? No clue, but SimpleITK has similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json . My guess is that passing an image as a parameters in an itk image filter is not so common... I hope this helps, Simon On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey wrote: > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to perform a > support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. This > attribute is a pointer to an image of type TOutputImage. The default value > (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional field > custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Mon Jun 20 03:30:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Mon, 20 Jun 2016 09:30:07 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: <57679B7F.2060000@uclouvain.be> Hi, A question that then comes to my mind : why do you pass the image as parameter ? Passing it as input, you would benefit from the pipeline features, such as making your output outdated when you modify your input binary mask, or loading of only the required part of your binary mask, ... Did you try it, and it didn't work ? I can help you do it this way if you need. Cyril On 06/17/2016 06:46 PM, Simon Rit wrote: > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. > How did I come up with such a complicated code? No clue, but SimpleITK > has similar ugly json files, e.g., > LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image > filter is not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to > perform a support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. > This attribute is a pointer to an image of type TOutputImage. The > default value (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional > field custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 03:59:41 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 09:59:41 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Thanks for your help. It seems to be what I need ! I will try this and tell you if it works. Fabien. 2016-06-17 18:46 GMT+02:00 Simon Rit : > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 04:04:44 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 10:04:44 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: <57679B7F.2060000@uclouvain.be> References: <57679B7F.2060000@uclouvain.be> Message-ID: Hi Cyril, Of course it could be a solution, but as the filter as already 3 inputs, I did not want to add this mask as a fourth one as it seems to me that it is very optional. But I understand that it would be useful for a better memory handling. I did not try your solution and I have to confess that I do not feel sufficiently good in "RTK programming". So I willl try first my solution and we can eventually discuss in the future for a better way for implementing this feature ! Thanks for your response Cyril ! Fabien 2016-06-20 9:30 GMT+02:00 Cyril Mory : > Hi, > > A question that then comes to my mind : why do you pass the image as > parameter ? Passing it as input, you would benefit from the pipeline > features, such as making your output outdated when you modify your input > binary mask, or loading of only the required part of your binary mask, ... > Did you try it, and it didn't work ? I can help you do it this way if you > need. > > Cyril > > > On 06/17/2016 06:46 PM, Simon Rit wrote: > > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Tue Jun 21 03:27:06 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Tue, 21 Jun 2016 09:27:06 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Your solution works fine ! Thanks. I just noticed something to be careful with : the function "CastImageToITK" (in $RTK_HOME/utilities/SimpleRTK/Code/BasicFilters/include/srtkImageFilter.h) does not accept NULL pointer (an error is returned) while the default value set in the JSON file seems to declare a (0,0) image whose pointer is NULL. As a consequence it is mandatory to set an image before executing the filter. So if you plan, as this is in my case, to allow the filter not to do something if no image has been set, it will not work in SimpleRTK with this custom cast. Fabien. 2016-06-20 9:59 GMT+02:00 Fabien Momey : > Hi Simon, > > Thanks for your help. > > It seems to be what I need ! I will try this and tell you if it works. > > Fabien. > > 2016-06-17 18:46 GMT+02:00 Simon Rit : > >> Hi Fabien, >> I can't say I master this but I had to do something similar in >> FieldOfViewImageFilter.json >> . >> Look at the "ProjectionsStack" parameter which is actually a 3D image. How >> did I come up with such a complicated code? No clue, but SimpleITK has >> similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json >> . >> My guess is that passing an image as a parameters in an itk image filter is >> not so common... >> I hope this helps, >> Simon >> >> On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey >> wrote: >> >>> Hi everyone, >>> >>> I need some help for updating a JSON file for the >>> ConjugateGradientConeBeamReconstructionFilter. >>> >>> I want to test a new implementation I made on this filter to perform a >>> support constraint for the reconstructed image. >>> >>> The constraint consists in a binary mask passed as an attribute. This >>> attribute is a pointer to an image of type TOutputImage. The default value >>> (in the constructor) is NULL. >>> >>> I don't know how to write it in the JSON file to wrap this member : >>> >>> { >>> "name" : "SupportMask", >>> "type" : ?, >>> "default" : ?, >>> "briefdescriptionSet" : "", >>> "detaileddescriptionSet" : "", >>> "briefdescriptionGet" : "", >>> "detaileddescriptionGet" : "" >>> } >>> >>> Does it also need to perform a specific cast with the optional field >>> custom_itk_cast ? I don't really understand how it works. >>> >>> Thanks in advance for your help. >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From C.Zoellner at physik.uni-muenchen.de Thu Jun 23 09:48:19 2016 From: C.Zoellner at physik.uni-muenchen.de (=?UTF-8?Q?Christoph_Z=c3=b6llner?=) Date: Thu, 23 Jun 2016 15:48:19 +0200 Subject: [Rtk-users] rtksubselect Message-ID: <576BE8A3.40409@physik.uni-muenchen.de> Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Thu Jun 23 10:22:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 23 Jun 2016 16:22:39 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <576BF0AF.8000507@uclouvain.be> Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Jun 23 10:01:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 23 Jun 2016 16:01:31 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <27bf15f0-4a1a-2b3d-b876-f5989e3bbf9a@creatis.insa-lyon.fr> Hi, On my computer, it works but I had to change your regular expression to '.*.his' instead of '*.his'. It's a good idea to keep the single quotes on the command line to avoid interpretation by the command line interpreter. If this is not the issue, you can try to add the -v option to check the number of projections that is found. Simon On 23/06/2016 15:48, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From ana.vaniqui at maastro.nl Thu Jun 23 10:41:51 2016 From: ana.vaniqui at maastro.nl (Ana Vaniqui) Date: Thu, 23 Jun 2016 14:41:51 +0000 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BF0AF.8000507@uclouvain.be> References: <576BE8A3.40409@physik.uni-muenchen.de>, <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I just want to add that a tutorial on regular expressions for beginners would be very much appreciated.. Kind regards, Ana ________________________________ From: Rtk-users on behalf of Cyril Mory Sent: Thursday, June 23, 2016 4:22:39 PM To: Christoph Z?llner; rtk-users at public.kitware.com Subject: Re: [Rtk-users] rtksubselect Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 24 07:11:40 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 24 Jun 2016 13:11:40 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: References: <576BE8A3.40409@physik.uni-muenchen.de> <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I don't have a tutorial for you but you can start by reading the ITK doc: https://itk.org/Doxygen/html/classitk_1_1RegularExpressionSeriesFileNames.html There are tons of tutorials on the web (and I don't know a specifically good one), the important part to remember is that there are several formats for regular expressions and ITK uses one of them. Note that you don't have to use them in most cases. For example, Christoph could have use "-r his" to match all filenames containing "his". Simon On Thu, Jun 23, 2016 at 4:41 PM, Ana Vaniqui wrote: > Hi, > > > I just want to add that a tutorial on regular expressions for beginners > would be very much appreciated.. > > > Kind regards, > > Ana > > > ------------------------------ > *From:* Rtk-users on behalf of > Cyril Mory > *Sent:* Thursday, June 23, 2016 4:22:39 PM > *To:* Christoph Z?llner; rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] rtksubselect > > Hi Christoph, > > The error lies in the regular expression: replace the "*.his" with > ".*.his" and it should work. > > By the way: does anyone know have a tutorial on regular expressions for > beginners to recommend ? > > Cyril > > On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the largest > possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Mon Jun 27 17:56:22 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Mon, 27 Jun 2016 14:56:22 -0700 Subject: [Rtk-users] Realistic Image Quality? Message-ID: Hi Simon, I am using RTK to simulate CT acquisitions using different detector sizes to see how this impact on image quality might change some of our in-house metrics. The images I have linked to below have been created using rtkforwardprojections with different projection spacings (0.3 isometric and 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection stepsize is equal to the projection spacing. The window levels between images of their respective rows are the same. I am simply wondering if the differences between these images are realistic. I would expect the image with a detector size than is more than twice as large as the original would be drastically different when in fact they turn out to be incredibly similar. Are the assumptions made about projection spacing == cuda stepsize == simulated hardware detector size incorrect? https://gyazo.com/e86436826f687a2db4b234699d050450 https://gyazo.com/ca9612218f082e78ba3082950a27fa4c Solomon -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Tue Jun 28 03:14:49 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Tue, 28 Jun 2016 09:14:49 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: What is the magnification factor of your geometry? 2016-06-27 23:56 GMT+02:00 Solomon Tang : > Hi Simon, > > I am using RTK to simulate CT acquisitions using different detector sizes > to see how this impact on image quality might change some of our in-house > metrics. > > The images I have linked to below have been created using > rtkforwardprojections with different projection spacings (0.3 isometric and > 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and > image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection > stepsize is equal to the projection spacing. The window levels between > images of their respective rows are the same. > > I am simply wondering if the differences between these images are > realistic. I would expect the image with a detector size than is more than > twice as large as the original would be drastically different when in fact > they turn out to be incredibly similar. Are the assumptions made about > projection spacing == cuda stepsize == simulated hardware detector size > incorrect? > > > https://gyazo.com/e86436826f687a2db4b234699d050450 > > https://gyazo.com/ca9612218f082e78ba3082950a27fa4c > > Solomon > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Jun 28 04:34:07 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 28 Jun 2016 10:34:07 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, I don't expect a drastic change, only a slight loss of spatial resolution if the ray distance at the isocenter (I agree with Chao that it plays an important role) is larger than the original voxel size. Maybe it's there but you would need to zoom more to see it. You would see a more realistic difference if you were adding photon noise to your data. Simon On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > What is the magnification factor of your geometry? > > 2016-06-27 23:56 GMT+02:00 Solomon Tang : > >> Hi Simon, >> >> I am using RTK to simulate CT acquisitions using different detector sizes >> to see how this impact on image quality might change some of our in-house >> metrics. >> >> The images I have linked to below have been created using >> rtkforwardprojections with different projection spacings (0.3 isometric and >> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >> stepsize is equal to the projection spacing. The window levels between >> images of their respective rows are the same. >> >> I am simply wondering if the differences between these images are >> realistic. I would expect the image with a detector size than is more than >> twice as large as the original would be drastically different when in fact >> they turn out to be incredibly similar. Are the assumptions made about >> projection spacing == cuda stepsize == simulated hardware detector size >> incorrect? >> >> >> https://gyazo.com/e86436826f687a2db4b234699d050450 >> >> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >> >> Solomon >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Tue Jun 28 18:09:15 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 28 Jun 2016 15:09:15 -0700 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Thanks for the feedback Chao and Simon, My geometry was using default RTK sdd/sid settings. I have now changed it to match the DICOM header from the original images (1085.6 SDD, 595 SID), but not much has qualitatively changed. How do you suggest adding photon noise? I have discovered an itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling level. I'm assuming the reconstructed image should be passed through the filter, and not the projection. On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit wrote: > Hi, > I don't expect a drastic change, only a slight loss of spatial resolution > if the ray distance at the isocenter (I agree with Chao that it plays an > important role) is larger than the original voxel size. Maybe it's there > but you would need to zoom more to see it. > You would see a more realistic difference if you were adding photon noise > to your data. > Simon > > On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > >> What is the magnification factor of your geometry? >> >> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >> >>> Hi Simon, >>> >>> I am using RTK to simulate CT acquisitions using different detector >>> sizes to see how this impact on image quality might change some of our >>> in-house metrics. >>> >>> The images I have linked to below have been created using >>> rtkforwardprojections with different projection spacings (0.3 isometric and >>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>> stepsize is equal to the projection spacing. The window levels between >>> images of their respective rows are the same. >>> >>> I am simply wondering if the differences between these images are >>> realistic. I would expect the image with a detector size than is more than >>> twice as large as the original would be drastically different when in fact >>> they turn out to be incredibly similar. Are the assumptions made about >>> projection spacing == cuda stepsize == simulated hardware detector size >>> incorrect? >>> >>> >>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>> >>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>> >>> Solomon >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 29 01:28:21 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 29 Jun 2016 07:28:21 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, Attached is the python script using SimpleRTK that I have used to do the simulation of figure 6 of this publication . The paragraph where I describe what I'm doing starts with "The same simulations were repeated with Poisson noise". The interesting part of the script for you is line 158 where if I'm given a number of photons I0, I add Poisson noise. Simon On Wed, Jun 29, 2016 at 12:09 AM, Solomon Tang wrote: > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: offsetRecon2.py Type: text/x-python Size: 6981 bytes Desc: not available URL: From cyril.mory at uclouvain.be Wed Jun 29 04:51:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 29 Jun 2016 10:51:39 +0200 Subject: [Rtk-users] Replacement for TV with lower peak memory usage In-Reply-To: References: Message-ID: <57738C1B.9050206@uclouvain.be> Hi Louie, Please ask the mailing list, or at least CC it, when your question may be of interest to other RTK users. Indeed, I recommend to use rtkregularizedconjugategradient instead of ADMM_TV or ADMM_wavelets. You can activate TV regularization, wavelets regularization, or both, and it will be simpler to tune than ADMM. If you run into trouble, ask on the mailing list :) Cheers, Cyril On 06/29/2016 10:45 AM, Liu Yu wrote: > Hi Cyril, > > You said you don't recommend using the ADMM_TV method due to the > speed. Which was the alternative you suggested during the training? Is > it Regularized CG? > > Cheers, > Louie > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Wed Jun 29 04:53:28 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Wed, 29 Jun 2016 10:53:28 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi Solomon, The magnification is about 1.8. Given that the voxel spacing of your volume is 0.4688x0.4688x0.6, the corresponding projection spacing is roughly 0.84x1.08. Therefore 0.3 or 0.75 pixel spacing of your detector would not give much difference. There were just interpolation instead of real additional information that were introduced by 0.3 spacing. If you do have small structures in your object and you use a much finer grid for your volume in the simulation, I would expect to see more difference then. Regards, Chao 2016-06-29 0:09 GMT+02:00 Solomon Tang : > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 1 03:34:20 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:34:20 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> Message-ID: <574E8FFC.3010903@uclouvain.be> Hi Guillaume, Can you also tell how many iterations you have performed (main loop, conjugate gradient, and TV) ? If you are performing 30 iterations of the main loop, with 4 CG iterations, then considering the size of your data I do not think anything is wrong. Reconstructing a smaller volume will give you a large speedup (time is almost linear with number of voxels), so I would recommend that you try again with the smallest possible volume, i.e. the bounding box of your patient. Are you running the release 1.2.0 version ? If so, note that on the master branch of the git repository, I am adding optimizations for the 4D reconstructions. It is not fully functional at the moment, but I'm currently working 100% of my time on it. I will let you know about the next updates. Regards, Cyril On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: > > Hi Simon, > > Thanks for mailing list suggestion. My initial question was about > typical reconstruction times for rtkfourdrooster. What I tried is > summarized below: > > -Volume size was 410 410 264 and could be easily reduced by a good > margin. > > -The GPU is quadro M4000 with 8GB > > -about 2300 256x256 projections with shifted elekta panel (so called M20) > > -10 phases > > -for the motion mask at the moment I just used the FOV mask for first > try. > > --gamma_time 0.0001 > --gamma_space 0.0001 > - spacing 1 1 1 > --niter 30 > --cgiter 4 > --tviter 10 > > > Recon time was about 5-6 hours. I saw about 4 Gb used on the card. > > The image looked nice, albeit with the TV "feel/plastic-y". > > Thanks for your feedback > Guillaume > > > > > Quoting Simon Rit : > >> Hi Guillaume, >> I'm adding RTK user list to this conversation, it's better to have >> these conversations on the mailing list IMO. Can you tell us what's >> the volume size and the GPU? >> Cyril is ROOSTER's dev, maybe he could comment on recon times. >> Simon >> >> On Tue, May 31, 2016 at 5:29 PM, >> wrote: >>> Hi Simon, >>> >>> I tried the rooster recon. I used the parameters from the example >>> page. The results looks rather nice but it took several hours to run >>> (5-6). Its a big dataset of about 2000 256x256 projections. >>> >>> Guillaume From g.landry at physik.uni-muenchen.de Wed Jun 1 03:39:47 2016 From: g.landry at physik.uni-muenchen.de (Guillaume Landry) Date: Wed, 1 Jun 2016 09:39:47 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E8FFC.3010903@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> Message-ID: <574E9143.8080002@physik.uni-muenchen.de> Good morning Cyril, Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG and 10 for TV (taken from example). Possibly I could reduce the number of TV iterations? Looking forward to your optimizations. Cheers Guillaume Dr. Guillaume Landry Ludwig Maximilians University (LMU) Munich Medical Physics Am Coulombwall 1 85748 Garching Tel:+49 (0) 89 289-14077 Fax:+49 (0) 89 289-14072 On 06/01/2016 09:34 AM, Cyril Mory wrote: > Hi Guillaume, > > Can you also tell how many iterations you have performed (main loop, > conjugate gradient, and TV) ? > If you are performing 30 iterations of the main loop, with 4 CG > iterations, then considering the size of your data I do not think > anything is wrong. Reconstructing a smaller volume will give you a > large speedup (time is almost linear with number of voxels), so I > would recommend that you try again with the smallest possible volume, > i.e. the bounding box of your patient. > > Are you running the release 1.2.0 version ? If so, note that on the > master branch of the git repository, I am adding optimizations for the > 4D reconstructions. It is not fully functional at the moment, but I'm > currently working 100% of my time on it. I will let you know about the > next updates. > > Regards, > Cyril > > On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >> >> Hi Simon, >> >> Thanks for mailing list suggestion. My initial question was about >> typical reconstruction times for rtkfourdrooster. What I tried is >> summarized below: >> >> -Volume size was 410 410 264 and could be easily reduced by a good >> margin. >> >> -The GPU is quadro M4000 with 8GB >> >> -about 2300 256x256 projections with shifted elekta panel (so called >> M20) >> >> -10 phases >> >> -for the motion mask at the moment I just used the FOV mask for first >> try. >> >> --gamma_time 0.0001 >> --gamma_space 0.0001 >> - spacing 1 1 1 >> --niter 30 >> --cgiter 4 >> --tviter 10 >> >> >> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >> >> The image looked nice, albeit with the TV "feel/plastic-y". >> >> Thanks for your feedback >> Guillaume >> >> >> >> >> Quoting Simon Rit : >> >>> Hi Guillaume, >>> I'm adding RTK user list to this conversation, it's better to have >>> these conversations on the mailing list IMO. Can you tell us what's >>> the volume size and the GPU? >>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>> Simon >>> >>> On Tue, May 31, 2016 at 5:29 PM, >>> wrote: >>>> Hi Simon, >>>> >>>> I tried the rooster recon. I used the parameters from the example >>>> page. The results looks rather nice but it took several hours to >>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>> >>>> Guillaume > From cyril.mory at uclouvain.be Wed Jun 1 03:44:13 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 1 Jun 2016 09:44:13 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E9143.8080002@physik.uni-muenchen.de> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> Message-ID: <574E924D.30403@uclouvain.be> The bottleneck is the 4D conjugate gradient, and by far. You can also try to reduce the number of main loop iterations (10 should already give a nice result, but you may need more for your application). That, plus reducing the size of your reconstructed volume, plus the optimizations I'm working on, should give you a reconstruction time of less than one hour. On 06/01/2016 09:39 AM, Guillaume Landry wrote: > Good morning Cyril, > > Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG > and 10 for TV (taken from example). Possibly I could reduce the number > of TV iterations? > > Looking forward to your optimizations. > > Cheers > Guillaume > > Dr. Guillaume Landry > Ludwig Maximilians University (LMU) Munich > Medical Physics > Am Coulombwall 1 > 85748 Garching > Tel:+49 (0) 89 289-14077 > Fax:+49 (0) 89 289-14072 > > On 06/01/2016 09:34 AM, Cyril Mory wrote: >> Hi Guillaume, >> >> Can you also tell how many iterations you have performed (main loop, >> conjugate gradient, and TV) ? >> If you are performing 30 iterations of the main loop, with 4 CG >> iterations, then considering the size of your data I do not think >> anything is wrong. Reconstructing a smaller volume will give you a >> large speedup (time is almost linear with number of voxels), so I >> would recommend that you try again with the smallest possible volume, >> i.e. the bounding box of your patient. >> >> Are you running the release 1.2.0 version ? If so, note that on the >> master branch of the git repository, I am adding optimizations for the >> 4D reconstructions. It is not fully functional at the moment, but I'm >> currently working 100% of my time on it. I will let you know about the >> next updates. >> >> Regards, >> Cyril >> >> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>> Hi Simon, >>> >>> Thanks for mailing list suggestion. My initial question was about >>> typical reconstruction times for rtkfourdrooster. What I tried is >>> summarized below: >>> >>> -Volume size was 410 410 264 and could be easily reduced by a good >>> margin. >>> >>> -The GPU is quadro M4000 with 8GB >>> >>> -about 2300 256x256 projections with shifted elekta panel (so called >>> M20) >>> >>> -10 phases >>> >>> -for the motion mask at the moment I just used the FOV mask for first >>> try. >>> >>> --gamma_time 0.0001 >>> --gamma_space 0.0001 >>> - spacing 1 1 1 >>> --niter 30 >>> --cgiter 4 >>> --tviter 10 >>> >>> >>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>> >>> The image looked nice, albeit with the TV "feel/plastic-y". >>> >>> Thanks for your feedback >>> Guillaume >>> >>> >>> >>> >>> Quoting Simon Rit : >>> >>>> Hi Guillaume, >>>> I'm adding RTK user list to this conversation, it's better to have >>>> these conversations on the mailing list IMO. Can you tell us what's >>>> the volume size and the GPU? >>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>> Simon >>>> >>>> On Tue, May 31, 2016 at 5:29 PM, >>>> wrote: >>>>> Hi Simon, >>>>> >>>>> I tried the rooster recon. I used the parameters from the example >>>>> page. The results looks rather nice but it took several hours to >>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>> >>>>> Guillaume From cyril.mory at uclouvain.be Thu Jun 2 07:58:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 2 Jun 2016 13:58:07 +0200 Subject: [Rtk-users] Rooster In-Reply-To: <574E924D.30403@uclouvain.be> References: <20160531194828.Horde.Im1irUOnkCrL1p8oGSue_A5@webmail.physik.lmu.de> <574E8FFC.3010903@uclouvain.be> <574E9143.8080002@physik.uni-muenchen.de> <574E924D.30403@uclouvain.be> Message-ID: <57501F4F.8050006@uclouvain.be> Hi Guillaume, Just wanted to let you know : if you perform a 4D CT for the planning, and use motion estimation on that 4D CT (thus getting either one 4D displacement vector field, or two inverse-consistent 4D DVFs), you can use this/these DVF(s) in ROOSTER. It should bring you a significant improvement of image quality, and on my datasets I was able to reduce the number of iterations of the main loop to 10 without problems. We can discuss this further if you are interested. Cyril On 06/01/2016 09:44 AM, Cyril Mory wrote: > The bottleneck is the 4D conjugate gradient, and by far. You can also > try to reduce the number of main loop iterations (10 should already > give a nice result, but you may need more for your application). > That, plus reducing the size of your reconstructed volume, plus the > optimizations I'm working on, should give you a reconstruction time of > less than one hour. > > On 06/01/2016 09:39 AM, Guillaume Landry wrote: >> Good morning Cyril, >> >> Thanks for answering, yes I used 1.2.0. I did 30 main iterations, 4 CG >> and 10 for TV (taken from example). Possibly I could reduce the number >> of TV iterations? >> >> Looking forward to your optimizations. >> >> Cheers >> Guillaume >> >> Dr. Guillaume Landry >> Ludwig Maximilians University (LMU) Munich >> Medical Physics >> Am Coulombwall 1 >> 85748 Garching >> Tel:+49 (0) 89 289-14077 >> Fax:+49 (0) 89 289-14072 >> >> On 06/01/2016 09:34 AM, Cyril Mory wrote: >>> Hi Guillaume, >>> >>> Can you also tell how many iterations you have performed (main loop, >>> conjugate gradient, and TV) ? >>> If you are performing 30 iterations of the main loop, with 4 CG >>> iterations, then considering the size of your data I do not think >>> anything is wrong. Reconstructing a smaller volume will give you a >>> large speedup (time is almost linear with number of voxels), so I >>> would recommend that you try again with the smallest possible volume, >>> i.e. the bounding box of your patient. >>> >>> Are you running the release 1.2.0 version ? If so, note that on the >>> master branch of the git repository, I am adding optimizations for the >>> 4D reconstructions. It is not fully functional at the moment, but I'm >>> currently working 100% of my time on it. I will let you know about the >>> next updates. >>> >>> Regards, >>> Cyril >>> >>> On 05/31/2016 07:48 PM, G.Landry at physik.uni-muenchen.de wrote: >>>> Hi Simon, >>>> >>>> Thanks for mailing list suggestion. My initial question was about >>>> typical reconstruction times for rtkfourdrooster. What I tried is >>>> summarized below: >>>> >>>> -Volume size was 410 410 264 and could be easily reduced by a good >>>> margin. >>>> >>>> -The GPU is quadro M4000 with 8GB >>>> >>>> -about 2300 256x256 projections with shifted elekta panel (so called >>>> M20) >>>> >>>> -10 phases >>>> >>>> -for the motion mask at the moment I just used the FOV mask for first >>>> try. >>>> >>>> --gamma_time 0.0001 >>>> --gamma_space 0.0001 >>>> - spacing 1 1 1 >>>> --niter 30 >>>> --cgiter 4 >>>> --tviter 10 >>>> >>>> >>>> Recon time was about 5-6 hours. I saw about 4 Gb used on the card. >>>> >>>> The image looked nice, albeit with the TV "feel/plastic-y". >>>> >>>> Thanks for your feedback >>>> Guillaume >>>> >>>> >>>> >>>> >>>> Quoting Simon Rit : >>>> >>>>> Hi Guillaume, >>>>> I'm adding RTK user list to this conversation, it's better to have >>>>> these conversations on the mailing list IMO. Can you tell us what's >>>>> the volume size and the GPU? >>>>> Cyril is ROOSTER's dev, maybe he could comment on recon times. >>>>> Simon >>>>> >>>>> On Tue, May 31, 2016 at 5:29 PM, >>>>> wrote: >>>>>> Hi Simon, >>>>>> >>>>>> I tried the rooster recon. I used the parameters from the example >>>>>> page. The results looks rather nice but it took several hours to >>>>>> run (5-6). Its a big dataset of about 2000 256x256 projections. >>>>>> >>>>>> Guillaume > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users From solomoncztang at gmail.com Tue Jun 7 18:27:35 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 7 Jun 2016 15:27:35 -0700 Subject: [Rtk-users] Cmake build error help In-Reply-To: <573171C8.80400@creatis.insa-lyon.fr> References: <573171C8.80400@creatis.insa-lyon.fr> Message-ID: My apologies for the delay, I updated GetGitRevision and it got past the initial issue. Unfortunately, the final build still failed with cuda enabled because NVCC 7.5 does not support Visual Studio 2015. On Mon, May 9, 2016 at 10:29 PM, Simon Rit wrote: > Hi, > Can you update GetGitRevisionDescription.cmake and > GetGitRevisionDescription.cmake.in from > https://github.com/rpavlik/cmake-modules and see if the new versions fix > this issue? > Thanks, > Simon > > PS: plead keep using the mailing list > > > On 10/05/2016 03:09, Solomon Tang wrote: > > Hi Simon, > > I am rebuilding RTK after moving to Visual Studio 2015 with cmake 3.5.2 > and am running into the following error: > > CMake Error at build/applications/CMakeFiles/git-data/grabRef.cmake:36 > (file): > file failed to open for reading (No such file or directory): > > > C:/Work/Tools/Current/RTK-1.2.0/build/applications/CMakeFiles/git-data/head-ref > Call Stack (most recent call first): > cmake/GetGitRevisionDescription.cmake:77 (include) > applications/CMakeLists.txt:5 (get_git_head_revision) > > I am using ITK 4.9.0 and fresh download of RTK 1.2.0. > > How do I resolve this issue? > > Thanks again, > > Solomon > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Tue Jun 14 09:12:34 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Tue, 14 Jun 2016 15:12:34 +0200 Subject: [Rtk-users] CUDA Ramp filter Message-ID: Dear all, When I use rtkramp with cuda option, I am getting following error ExceptionObject caught with streamer->Update() in file D:\programming\cpp\ext_li bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 itk::ExceptionObject (000000ADA7DAF220) Location: "unknown" File: d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil ter.txx Line: 50 Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol utionImageFilter assumes that input requested and buffered regions are equal. However, cpu version of ramp filter works fine. Thanks in advance. With regards, Shiras -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Tue Jun 14 09:38:06 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Tue, 14 Jun 2016 15:38:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: Message-ID: <576008BE.1060506@uclouvain.be> Hi Shiras, We found that bug recently with Sebastien Brousmiche and fixed it, at least for the use case we were considering. Can you try with the git master version of RTK ? Alternatively, you can replace reader->Update() with reader->UpdateOutputInformation() in line 61 of rtkramp.cxx and see if it fixes the problem. Regards, Cyril On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Wed Jun 15 04:50:17 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Wed, 15 Jun 2016 10:50:17 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <576008BE.1060506@uclouvain.be> References: <576008BE.1060506@uclouvain.be> Message-ID: Dear Cyril, Thanks a lot. Now rtkramp.exe works with cuda option. I am trying to integrate rtk cuda ramp filter into my recon program. I read the projections with ProjectionsReader and pass image pointer to cuda ramp filter pipeline using cudaRampFilter->SetInput(projections); I am getting runtime error and it says Error during cuda ramp filtering :: D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu :97: itk::ERROR: CUFFT ERROR #2 Do I need to enable or disable any parameter while reading projections to get rid of this error? I changed rtk_proj_reader_->Update to rtk_proj_reader_->UpdateOutputInformation(); But I am still getting the error. The error exists only with CudaFFTRampImageFilter and FFTRampImageFilter works fine. With regards, Shiras On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory wrote: > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, at > least for the use case we were considering. Can you try with the git master > version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: > > Dear all, > > When I use rtkramp with cuda option, I am getting following error > > ExceptionObject caught with streamer->Update() in file > D:\programming\cpp\ext_li > bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 > > itk::ExceptionObject (000000ADA7DAF220) > Location: "unknown" > File: > d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil > ter.txx > Line: 50 > Description: itk::ERROR: CudaFFTRampImageFilter(000000ADAA53B490): > CudaFFTConvol > utionImageFilter assumes that input requested and buffered regions are > equal. > > However, cpu version of ramp filter works fine. > > Thanks in advance. > > With regards, > Shiras > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Wed Jun 15 05:02:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 15 Jun 2016 11:02:07 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> Message-ID: <5761198F.7060504@uclouvain.be> Hi Shiras, Another user had the same error some years ago : http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html It seemed to be a GPU memory size issue. Can you tell what GPU you use, are what are the size and number of your projections ? Can you try with a single projection (you can use the "rtksubselect" application to create such a dataset out of yours) ? Best regards, Cyril On 06/15/2016 10:50 AM, Shiras Abdurahman wrote: > Dear Cyril, > > Thanks a lot. Now rtkramp.exe works with cuda option. > I am trying to integrate rtk cuda ramp filter into my recon program. I > read the projections with ProjectionsReader and pass image pointer to > cuda ramp filter pipeline using > cudaRampFilter->SetInput(projections); > > I am getting runtime error and it says > Error during cuda ramp filtering :: > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > :97: > itk::ERROR: CUFFT ERROR #2 > > Do I need to enable or disable any parameter while reading projections > to get rid of this error? I changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > But I am still getting the error. > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > With regards, > Shiras > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril Mory > wrote: > > Hi Shiras, > > We found that bug recently with Sebastien Brousmiche and fixed it, > at least for the use case we were considering. Can you try with > the git master version of RTK ? > Alternatively, you can replace > > reader->Update() > > with > > reader->UpdateOutputInformation() > > in line 61 of rtkramp.cxx and see if it fixes the problem. > > Regards, > Cyril > > > On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> Dear all, >> >> When I use rtkramp with cuda option, I am getting following error >> >> ExceptionObject caught with streamer->Update() in file >> D:\programming\cpp\ext_li >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx line 93 >> >> itk::ExceptionObject (000000ADA7DAF220) >> Location: "unknown" >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> ter.txx >> Line: 50 >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): CudaFFTConvol >> utionImageFilter assumes that input requested and buffered >> regions are equal. >> >> However, cpu version of ramp filter works fine. >> >> Thanks in advance. >> >> With regards, >> Shiras >> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 15 05:42:16 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 15 Jun 2016 11:42:16 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: <5761198F.7060504@uclouvain.be> References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Hi, I recently added the --subsetsize option (see this commit ). You can try "--subsetsize 1" instead of using rtksubselect. Simon On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > >> >> >> Dear Cyril, >> >> >> >> Thanks a lot. Now rtkramp.exe works with cuda option. >> >> I am trying to integrate rtk cuda ramp filter into my recon >> program. I read the projections with ProjectionsReader and >> pass image pointer to cuda ramp filter pipeline using >> >> cudaRampFilter->SetInput(projections); >> >> >> >> >> >> I am getting runtime error and it says >> >> >> Error during cuda ramp filtering :: >> >> D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu >> >> :97: >> >> itk::ERROR: CUFFT ERROR #2 >> >> >> >> >> >> Do I need to enable or disable any parameter while reading >> projections to get rid of this error? I >> changed rtk_proj_reader_->Update >> to rtk_proj_reader_->UpdateOutputInformation(); >> >> But I am still getting the error. >> >> The error exists only with CudaFFTRampImageFilter >> and FFTRampImageFilter works fine. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Tue, Jun 14, 2016 at 3:38 PM, Cyril >> Mory > >> wrote: >> >> >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >>> >>> >>> >>> Dear all, >>> >>> >>> >>> When I use rtkramp with cuda option, I am >>> getting following error >>> >>> >>> >>> >>> >>> ExceptionObject caught with >>> streamer->Update() in file >>> D:\programming\cpp\ext_li >>> >>> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >>> line 93 >>> >>> >>> >>> >>> itk::ExceptionObject (000000ADA7DAF220) >>> >>> Location: "unknown" >>> >>> File: >>> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >>> >>> ter.txx >>> >>> Line: 50 >>> >>> Description: itk::ERROR: >>> CudaFFTRampImageFilter(000000ADAA53B490): >>> CudaFFTConvol >>> >>> utionImageFilter assumes that input >>> requested and buffered regions are equal. >>> >>> >>> >>> >>> >>> However, cpu version of ramp filter works >>> fine. >>> >>> >>> >>> >>> Thanks in advance. >>> >>> >>> >>> >>> With regards, >>> >>> Shiras >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >> >> >> >> >> >> >> >> >> > > > > > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amjad.n.cet at gmail.com Thu Jun 16 04:39:46 2016 From: amjad.n.cet at gmail.com (AMJAD N) Date: Thu, 16 Jun 2016 14:09:46 +0530 Subject: [Rtk-users] CUDA compilation error Message-ID: Hi all, I have been trying to create a new filter for flat field image correction. I have implemented the same in normal mode (which works fine.) and was trying to write one in CUDA mode for the past week. I had created 4 files in order to perform the Flat Field image correction filter as i followed the standard in GitHub : RTK Cuda files. which includes : rtkCudaFlatFieldImageFilter.h : is a header file contains the declaration of various functions and data members rtkCudaFlatFieldImageFilter.cxx : contains the body of the function defined in the header file and included the file "rtkCudaFlatFieldImageFilter.hcu" inorder to call wrapper function rtkCudaFlatFieldImageFilter.hcu : contains the function prototype of the wrapper function rtkCudaFlatFieldImageFilter.cu : contains the kernel function and the wrapper function in which the kernel function is called. When building the project I am getting error as Error c2059 syntax error at ' <<<' " in rtkCudaFlatFieldImageFilter.cu at kernel calling statement in Cuda Programming file. *So how should I compile the whole program?* My working environment is Microsoft Windows 7 32bit. Visual Studio 2013 CUDA ToolKit 6.5 GeForce 210 graphics card Thanks and Regards AMJAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From shiraska at gmail.com Fri Jun 17 04:53:06 2016 From: shiraska at gmail.com (Shiras Abdurahman) Date: Fri, 17 Jun 2016 10:53:06 +0200 Subject: [Rtk-users] CUDA Ramp filter In-Reply-To: References: <576008BE.1060506@uclouvain.be> <5761198F.7060504@uclouvain.be> Message-ID: Dear Cyril, Yes. When I reduced the number of projections, I am not getting this error anymore. My initial projection size which caused the error was 1420x1416x21. It seems that error is due to CUDA memory issues. My GPU is GeForce GTX 670. With regards, Shiras On Wed, Jun 15, 2016 at 11:42 AM, Simon Rit wrote: > Hi, > I recently added the --subsetsize option (see this commit > ). > You can try "--subsetsize 1" instead of using rtksubselect. > Simon > > > On 15/06/2016 11:02, Cyril Mory wrote: > > > > > > > Hi Shiras, > > > > Another user had the same error some years ago : > > http://public.kitware.com/pipermail/rtk-users/2012-November/000028.html > > It seemed to be a GPU memory size issue. > > > > Can you tell what GPU you use, are what are the size and number of > your projections ? Can you try with a single projection (you can use > the "rtksubselect" application to create such a dataset out of > yours) ? > > > > Best regards, > > Cyril > > > > On 06/15/2016 10:50 AM, Shiras > Abdurahman wrote: > > > > > Dear Cyril, > > > > Thanks a lot. Now rtkramp.exe works with cuda option. > > I am trying to integrate rtk cuda ramp filter into my recon > program. I read the projections with ProjectionsReader and > pass image pointer to cuda ramp filter pipeline using > > cudaRampFilter->SetInput(projections); > > > > > > I am getting runtime error and it says > > > Error during cuda ramp filtering :: > > > D:/programming/cpp/ext_libs/rtk_1_2/src/code/rtkCudaFFTConvolutionImageFilter.cu > > :97: > > itk::ERROR: CUFFT ERROR #2 > > > > > > Do I need to enable or disable any parameter while reading > projections to get rid of this error? I > changed rtk_proj_reader_->Update > to rtk_proj_reader_->UpdateOutputInformation(); > > But I am still getting the error. > > The error exists only with CudaFFTRampImageFilter > and FFTRampImageFilter works fine. > > > > > With regards, > > Shiras > > > > > > > > > > > > > > > > > > > On Tue, Jun 14, 2016 at 3:38 PM, Cyril > Mory > wrote: > > >> Hi Shiras, >> >> >> >> We found that bug recently with Sebastien Brousmiche and >> fixed it, at least for the use case we were considering. >> Can you try with the git master version of RTK ? >> >> Alternatively, you can replace >> >> >> >> reader->Update() >> >> >> >> with >> >> >> >> reader->UpdateOutputInformation() >> >> >> >> in line 61 of rtkramp.cxx and see if it fixes the problem. >> >> >> >> Regards, >> >> Cyril >> >> >> >> >> >> On 06/14/2016 03:12 PM, Shiras Abdurahman wrote: >> >> >> >> >> >> >> >> Dear all, >> >> >> >> When I use rtkramp with cuda option, I am >> getting following error >> >> >> >> >> >> ExceptionObject caught with >> streamer->Update() in file >> D:\programming\cpp\ext_li >> >> bs\rtk_1_2\src\applications\rtkramp\rtkramp.cxx >> line 93 >> >> >> >> >> itk::ExceptionObject (000000ADA7DAF220) >> >> Location: "unknown" >> >> File: >> d:\programming\cpp\ext_libs\rtk_1_2\src\code\rtkCudaFFTConvolutionImageFil >> >> ter.txx >> >> Line: 50 >> >> Description: itk::ERROR: >> CudaFFTRampImageFilter(000000ADAA53B490): >> CudaFFTConvol >> >> utionImageFilter assumes that input >> requested and buffered regions are equal. >> >> >> >> >> >> However, cpu version of ramp filter works >> fine. >> >> >> >> >> Thanks in advance. >> >> >> >> >> With regards, >> >> Shiras >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users >> >> >> >> >> >> >> > > > > > > > > > > > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Fri Jun 17 05:07:18 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Fri, 17 Jun 2016 11:07:18 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer Message-ID: Hi everyone, I need some help for updating a JSON file for the ConjugateGradientConeBeamReconstructionFilter. I want to test a new implementation I made on this filter to perform a support constraint for the reconstructed image. The constraint consists in a binary mask passed as an attribute. This attribute is a pointer to an image of type TOutputImage. The default value (in the constructor) is NULL. I don't know how to write it in the JSON file to wrap this member : { "name" : "SupportMask", "type" : ?, "default" : ?, "briefdescriptionSet" : "", "detaileddescriptionSet" : "", "briefdescriptionGet" : "", "detaileddescriptionGet" : "" } Does it also need to perform a specific cast with the optional field custom_itk_cast ? I don't really understand how it works. Thanks in advance for your help. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 17 12:46:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 17 Jun 2016 18:46:31 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Fabien, I can't say I master this but I had to do something similar in FieldOfViewImageFilter.json . Look at the "ProjectionsStack" parameter which is actually a 3D image. How did I come up with such a complicated code? No clue, but SimpleITK has similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json . My guess is that passing an image as a parameters in an itk image filter is not so common... I hope this helps, Simon On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey wrote: > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to perform a > support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. This > attribute is a pointer to an image of type TOutputImage. The default value > (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional field > custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Mon Jun 20 03:30:07 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Mon, 20 Jun 2016 09:30:07 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: <57679B7F.2060000@uclouvain.be> Hi, A question that then comes to my mind : why do you pass the image as parameter ? Passing it as input, you would benefit from the pipeline features, such as making your output outdated when you modify your input binary mask, or loading of only the required part of your binary mask, ... Did you try it, and it didn't work ? I can help you do it this way if you need. Cyril On 06/17/2016 06:46 PM, Simon Rit wrote: > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. > How did I come up with such a complicated code? No clue, but SimpleITK > has similar ugly json files, e.g., > LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image > filter is not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > > Hi everyone, > > I need some help for updating a JSON file for the > ConjugateGradientConeBeamReconstructionFilter. > > I want to test a new implementation I made on this filter to > perform a support constraint for the reconstructed image. > > The constraint consists in a binary mask passed as an attribute. > This attribute is a pointer to an image of type TOutputImage. The > default value (in the constructor) is NULL. > > I don't know how to write it in the JSON file to wrap this member : > > { > "name" : "SupportMask", > "type" : ?, > "default" : ?, > "briefdescriptionSet" : "", > "detaileddescriptionSet" : "", > "briefdescriptionGet" : "", > "detaileddescriptionGet" : "" > } > > Does it also need to perform a specific cast with the optional > field custom_itk_cast ? I don't really understand how it works. > > Thanks in advance for your help. > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 03:59:41 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 09:59:41 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Thanks for your help. It seems to be what I need ! I will try this and tell you if it works. Fabien. 2016-06-17 18:46 GMT+02:00 Simon Rit : > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Mon Jun 20 04:04:44 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Mon, 20 Jun 2016 10:04:44 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: <57679B7F.2060000@uclouvain.be> References: <57679B7F.2060000@uclouvain.be> Message-ID: Hi Cyril, Of course it could be a solution, but as the filter as already 3 inputs, I did not want to add this mask as a fourth one as it seems to me that it is very optional. But I understand that it would be useful for a better memory handling. I did not try your solution and I have to confess that I do not feel sufficiently good in "RTK programming". So I willl try first my solution and we can eventually discuss in the future for a better way for implementing this feature ! Thanks for your response Cyril ! Fabien 2016-06-20 9:30 GMT+02:00 Cyril Mory : > Hi, > > A question that then comes to my mind : why do you pass the image as > parameter ? Passing it as input, you would benefit from the pipeline > features, such as making your output outdated when you modify your input > binary mask, or loading of only the required part of your binary mask, ... > Did you try it, and it didn't work ? I can help you do it this way if you > need. > > Cyril > > > On 06/17/2016 06:46 PM, Simon Rit wrote: > > Hi Fabien, > I can't say I master this but I had to do something similar in > FieldOfViewImageFilter.json > . > Look at the "ProjectionsStack" parameter which is actually a 3D image. How > did I come up with such a complicated code? No clue, but SimpleITK has > similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json > . > My guess is that passing an image as a parameters in an itk image filter is > not so common... > I hope this helps, > Simon > > On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey > wrote: > >> Hi everyone, >> >> I need some help for updating a JSON file for the >> ConjugateGradientConeBeamReconstructionFilter. >> >> I want to test a new implementation I made on this filter to perform a >> support constraint for the reconstructed image. >> >> The constraint consists in a binary mask passed as an attribute. This >> attribute is a pointer to an image of type TOutputImage. The default value >> (in the constructor) is NULL. >> >> I don't know how to write it in the JSON file to wrap this member : >> >> { >> "name" : "SupportMask", >> "type" : ?, >> "default" : ?, >> "briefdescriptionSet" : "", >> "detaileddescriptionSet" : "", >> "briefdescriptionGet" : "", >> "detaileddescriptionGet" : "" >> } >> >> Does it also need to perform a specific cast with the optional field >> custom_itk_cast ? I don't really understand how it works. >> >> Thanks in advance for your help. >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fabien.momey at gmail.com Tue Jun 21 03:27:06 2016 From: fabien.momey at gmail.com (Fabien Momey) Date: Tue, 21 Jun 2016 09:27:06 +0200 Subject: [Rtk-users] Wrapping python and json file : member image pointer In-Reply-To: References: Message-ID: Hi Simon, Your solution works fine ! Thanks. I just noticed something to be careful with : the function "CastImageToITK" (in $RTK_HOME/utilities/SimpleRTK/Code/BasicFilters/include/srtkImageFilter.h) does not accept NULL pointer (an error is returned) while the default value set in the JSON file seems to declare a (0,0) image whose pointer is NULL. As a consequence it is mandatory to set an image before executing the filter. So if you plan, as this is in my case, to allow the filter not to do something if no image has been set, it will not work in SimpleRTK with this custom cast. Fabien. 2016-06-20 9:59 GMT+02:00 Fabien Momey : > Hi Simon, > > Thanks for your help. > > It seems to be what I need ! I will try this and tell you if it works. > > Fabien. > > 2016-06-17 18:46 GMT+02:00 Simon Rit : > >> Hi Fabien, >> I can't say I master this but I had to do something similar in >> FieldOfViewImageFilter.json >> . >> Look at the "ProjectionsStack" parameter which is actually a 3D image. How >> did I come up with such a complicated code? No clue, but SimpleITK has >> similar ugly json files, e.g., LabelMapContourOverlayImageFilter.json >> . >> My guess is that passing an image as a parameters in an itk image filter is >> not so common... >> I hope this helps, >> Simon >> >> On Fri, Jun 17, 2016 at 11:07 AM, Fabien Momey >> wrote: >> >>> Hi everyone, >>> >>> I need some help for updating a JSON file for the >>> ConjugateGradientConeBeamReconstructionFilter. >>> >>> I want to test a new implementation I made on this filter to perform a >>> support constraint for the reconstructed image. >>> >>> The constraint consists in a binary mask passed as an attribute. This >>> attribute is a pointer to an image of type TOutputImage. The default value >>> (in the constructor) is NULL. >>> >>> I don't know how to write it in the JSON file to wrap this member : >>> >>> { >>> "name" : "SupportMask", >>> "type" : ?, >>> "default" : ?, >>> "briefdescriptionSet" : "", >>> "detaileddescriptionSet" : "", >>> "briefdescriptionGet" : "", >>> "detaileddescriptionGet" : "" >>> } >>> >>> Does it also need to perform a specific cast with the optional field >>> custom_itk_cast ? I don't really understand how it works. >>> >>> Thanks in advance for your help. >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From C.Zoellner at physik.uni-muenchen.de Thu Jun 23 09:48:19 2016 From: C.Zoellner at physik.uni-muenchen.de (=?UTF-8?Q?Christoph_Z=c3=b6llner?=) Date: Thu, 23 Jun 2016 15:48:19 +0200 Subject: [Rtk-users] rtksubselect Message-ID: <576BE8A3.40409@physik.uni-muenchen.de> Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyril.mory at uclouvain.be Thu Jun 23 10:22:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Thu, 23 Jun 2016 16:22:39 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <576BF0AF.8000507@uclouvain.be> Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Jun 23 10:01:31 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 23 Jun 2016 16:01:31 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BE8A3.40409@physik.uni-muenchen.de> References: <576BE8A3.40409@physik.uni-muenchen.de> Message-ID: <27bf15f0-4a1a-2b3d-b876-f5989e3bbf9a@creatis.insa-lyon.fr> Hi, On my computer, it works but I had to change your regular expression to '.*.his' instead of '*.his'. It's a good idea to keep the single quotes on the command line to avoid interpretation by the command line interpreter. If this is not the issue, you can try to add the -v option to check the number of projections that is found. Simon On 23/06/2016 15:48, Christoph Z?llner wrote: > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r > *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the > largest possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From ana.vaniqui at maastro.nl Thu Jun 23 10:41:51 2016 From: ana.vaniqui at maastro.nl (Ana Vaniqui) Date: Thu, 23 Jun 2016 14:41:51 +0000 Subject: [Rtk-users] rtksubselect In-Reply-To: <576BF0AF.8000507@uclouvain.be> References: <576BE8A3.40409@physik.uni-muenchen.de>, <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I just want to add that a tutorial on regular expressions for beginners would be very much appreciated.. Kind regards, Ana ________________________________ From: Rtk-users on behalf of Cyril Mory Sent: Thursday, June 23, 2016 4:22:39 PM To: Christoph Z?llner; rtk-users at public.kitware.com Subject: Re: [Rtk-users] rtksubselect Hi Christoph, The error lies in the regular expression: replace the "*.his" with ".*.his" and it should work. By the way: does anyone know have a tutorial on regular expressions for beginners to recommend ? Cyril On 06/23/2016 03:48 PM, Christoph Z?llner wrote: Dear all, I want to use rtksubselect to create single geometryfiles for every projection for parallelization purposes. When using the following command: rtksubselect -g geometryfilename.xml --out_proj subsettest.mha --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his I get this error: ExceptionObject caught with paste->Update() in file /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx line 113 itk::InvalidRequestedRegionError (0x1818600) Location: "unknown" File: /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx Line: 393 Description: Requested region is (at least partially) outside the largest possible region. Invalid requested region error triggered by ProjectionsReader img->GetRequestedRegion() = [ ImageRegion (0x180ea40) Dimension: 3 Index: [4, 4, 1] Size: [504, 504, 1] ] img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) Dimension: 3 Index: [4, 4, 0] Size: [504, 504, 1] ] it works for the first file though when using -f 0 -l 1 regards, Christoph _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Fri Jun 24 07:11:40 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Fri, 24 Jun 2016 13:11:40 +0200 Subject: [Rtk-users] rtksubselect In-Reply-To: References: <576BE8A3.40409@physik.uni-muenchen.de> <576BF0AF.8000507@uclouvain.be> Message-ID: Hi, I don't have a tutorial for you but you can start by reading the ITK doc: https://itk.org/Doxygen/html/classitk_1_1RegularExpressionSeriesFileNames.html There are tons of tutorials on the web (and I don't know a specifically good one), the important part to remember is that there are several formats for regular expressions and ITK uses one of them. Note that you don't have to use them in most cases. For example, Christoph could have use "-r his" to match all filenames containing "his". Simon On Thu, Jun 23, 2016 at 4:41 PM, Ana Vaniqui wrote: > Hi, > > > I just want to add that a tutorial on regular expressions for beginners > would be very much appreciated.. > > > Kind regards, > > Ana > > > ------------------------------ > *From:* Rtk-users on behalf of > Cyril Mory > *Sent:* Thursday, June 23, 2016 4:22:39 PM > *To:* Christoph Z?llner; rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] rtksubselect > > Hi Christoph, > > The error lies in the regular expression: replace the "*.his" with > ".*.his" and it should work. > > By the way: does anyone know have a tutorial on regular expressions for > beginners to recommend ? > > Cyril > > On 06/23/2016 03:48 PM, Christoph Z?llner wrote: > > Dear all, > > I want to use rtksubselect to create single geometryfiles for every > projection for parallelization purposes. When using the following command: > > rtksubselect -g geometryfilename.xml --out_proj subsettest.mha > --out_geometry subsettestgeom.xml -f 1 -l 2 -p projectionfolder -r *.his > > > I get this error: > > ExceptionObject caught with paste->Update() in file > /scratch-local/rauscher/rtk/RTK/applications/rtksubselect/rtksubselect.cxx > line 113 > > itk::InvalidRequestedRegionError (0x1818600) > Location: "unknown" > File: > /scratch-local/rauscher/itk/InsightToolkit-4.8.2/Modules/Core/Common/src/itkDataObject.cxx > Line: 393 > Description: Requested region is (at least partially) outside the largest > possible region. > > > Invalid requested region error triggered by ProjectionsReader > img->GetRequestedRegion() = [ ImageRegion (0x180ea40) > Dimension: 3 > Index: [4, 4, 1] > Size: [504, 504, 1] > ] > img->GetLargestPossibleRegion() = [ ImageRegion (0x180ea08) > Dimension: 3 > Index: [4, 4, 0] > Size: [504, 504, 1] > ] > > it works for the first file though when using -f 0 -l 1 > > regards, > Christoph > > > _______________________________________________ > Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users > > > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Mon Jun 27 17:56:22 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Mon, 27 Jun 2016 14:56:22 -0700 Subject: [Rtk-users] Realistic Image Quality? Message-ID: Hi Simon, I am using RTK to simulate CT acquisitions using different detector sizes to see how this impact on image quality might change some of our in-house metrics. The images I have linked to below have been created using rtkforwardprojections with different projection spacings (0.3 isometric and 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection stepsize is equal to the projection spacing. The window levels between images of their respective rows are the same. I am simply wondering if the differences between these images are realistic. I would expect the image with a detector size than is more than twice as large as the original would be drastically different when in fact they turn out to be incredibly similar. Are the assumptions made about projection spacing == cuda stepsize == simulated hardware detector size incorrect? https://gyazo.com/e86436826f687a2db4b234699d050450 https://gyazo.com/ca9612218f082e78ba3082950a27fa4c Solomon -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Tue Jun 28 03:14:49 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Tue, 28 Jun 2016 09:14:49 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: What is the magnification factor of your geometry? 2016-06-27 23:56 GMT+02:00 Solomon Tang : > Hi Simon, > > I am using RTK to simulate CT acquisitions using different detector sizes > to see how this impact on image quality might change some of our in-house > metrics. > > The images I have linked to below have been created using > rtkforwardprojections with different projection spacings (0.3 isometric and > 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and > image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection > stepsize is equal to the projection spacing. The window levels between > images of their respective rows are the same. > > I am simply wondering if the differences between these images are > realistic. I would expect the image with a detector size than is more than > twice as large as the original would be drastically different when in fact > they turn out to be incredibly similar. Are the assumptions made about > projection spacing == cuda stepsize == simulated hardware detector size > incorrect? > > > https://gyazo.com/e86436826f687a2db4b234699d050450 > > https://gyazo.com/ca9612218f082e78ba3082950a27fa4c > > Solomon > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Jun 28 04:34:07 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 28 Jun 2016 10:34:07 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, I don't expect a drastic change, only a slight loss of spatial resolution if the ray distance at the isocenter (I agree with Chao that it plays an important role) is larger than the original voxel size. Maybe it's there but you would need to zoom more to see it. You would see a more realistic difference if you were adding photon noise to your data. Simon On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > What is the magnification factor of your geometry? > > 2016-06-27 23:56 GMT+02:00 Solomon Tang : > >> Hi Simon, >> >> I am using RTK to simulate CT acquisitions using different detector sizes >> to see how this impact on image quality might change some of our in-house >> metrics. >> >> The images I have linked to below have been created using >> rtkforwardprojections with different projection spacings (0.3 isometric and >> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >> stepsize is equal to the projection spacing. The window levels between >> images of their respective rows are the same. >> >> I am simply wondering if the differences between these images are >> realistic. I would expect the image with a detector size than is more than >> twice as large as the original would be drastically different when in fact >> they turn out to be incredibly similar. Are the assumptions made about >> projection spacing == cuda stepsize == simulated hardware detector size >> incorrect? >> >> >> https://gyazo.com/e86436826f687a2db4b234699d050450 >> >> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >> >> Solomon >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From solomoncztang at gmail.com Tue Jun 28 18:09:15 2016 From: solomoncztang at gmail.com (Solomon Tang) Date: Tue, 28 Jun 2016 15:09:15 -0700 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Thanks for the feedback Chao and Simon, My geometry was using default RTK sdd/sid settings. I have now changed it to match the DICOM header from the original images (1085.6 SDD, 595 SID), but not much has qualitatively changed. How do you suggest adding photon noise? I have discovered an itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling level. I'm assuming the reconstructed image should be passed through the filter, and not the projection. On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit wrote: > Hi, > I don't expect a drastic change, only a slight loss of spatial resolution > if the ray distance at the isocenter (I agree with Chao that it plays an > important role) is larger than the original voxel size. Maybe it's there > but you would need to zoom more to see it. > You would see a more realistic difference if you were adding photon noise > to your data. > Simon > > On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: > >> What is the magnification factor of your geometry? >> >> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >> >>> Hi Simon, >>> >>> I am using RTK to simulate CT acquisitions using different detector >>> sizes to see how this impact on image quality might change some of our >>> in-house metrics. >>> >>> The images I have linked to below have been created using >>> rtkforwardprojections with different projection spacings (0.3 isometric and >>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>> stepsize is equal to the projection spacing. The window levels between >>> images of their respective rows are the same. >>> >>> I am simply wondering if the differences between these images are >>> realistic. I would expect the image with a detector size than is more than >>> twice as large as the original would be drastically different when in fact >>> they turn out to be incredibly similar. Are the assumptions made about >>> projection spacing == cuda stepsize == simulated hardware detector size >>> incorrect? >>> >>> >>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>> >>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>> >>> Solomon >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Wed Jun 29 01:28:21 2016 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Wed, 29 Jun 2016 07:28:21 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi, Attached is the python script using SimpleRTK that I have used to do the simulation of figure 6 of this publication . The paragraph where I describe what I'm doing starts with "The same simulations were repeated with Poisson noise". The interesting part of the script for you is line 158 where if I'm given a number of photons I0, I add Poisson noise. Simon On Wed, Jun 29, 2016 at 12:09 AM, Solomon Tang wrote: > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: offsetRecon2.py Type: text/x-python Size: 6981 bytes Desc: not available URL: From cyril.mory at uclouvain.be Wed Jun 29 04:51:39 2016 From: cyril.mory at uclouvain.be (Cyril Mory) Date: Wed, 29 Jun 2016 10:51:39 +0200 Subject: [Rtk-users] Replacement for TV with lower peak memory usage In-Reply-To: References: Message-ID: <57738C1B.9050206@uclouvain.be> Hi Louie, Please ask the mailing list, or at least CC it, when your question may be of interest to other RTK users. Indeed, I recommend to use rtkregularizedconjugategradient instead of ADMM_TV or ADMM_wavelets. You can activate TV regularization, wavelets regularization, or both, and it will be simpler to tune than ADMM. If you run into trouble, ask on the mailing list :) Cheers, Cyril On 06/29/2016 10:45 AM, Liu Yu wrote: > Hi Cyril, > > You said you don't recommend using the ADMM_TV method due to the > speed. Which was the alternative you suggested during the training? Is > it Regularized CG? > > Cheers, > Louie > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wuchao04 at gmail.com Wed Jun 29 04:53:28 2016 From: wuchao04 at gmail.com (Chao Wu) Date: Wed, 29 Jun 2016 10:53:28 +0200 Subject: [Rtk-users] Realistic Image Quality? In-Reply-To: References: Message-ID: Hi Solomon, The magnification is about 1.8. Given that the voxel spacing of your volume is 0.4688x0.4688x0.6, the corresponding projection spacing is roughly 0.84x1.08. Therefore 0.3 or 0.75 pixel spacing of your detector would not give much difference. There were just interpolation instead of real additional information that were introduced by 0.3 spacing. If you do have small structures in your object and you use a much finer grid for your volume in the simulation, I would expect to see more difference then. Regards, Chao 2016-06-29 0:09 GMT+02:00 Solomon Tang : > Thanks for the feedback Chao and Simon, > > My geometry was using default RTK sdd/sid settings. I have now changed it > to match the DICOM header from the original images (1085.6 SDD, 595 SID), > but not much has qualitatively changed. > > How do you suggest adding photon noise? I have discovered an > itkShotNoiseImageFilter but I'm not sure what is an acceptable scaling > level. I'm assuming the reconstructed image should be passed through the > filter, and not the projection. > > > > On Tue, Jun 28, 2016 at 1:34 AM, Simon Rit > wrote: > >> Hi, >> I don't expect a drastic change, only a slight loss of spatial resolution >> if the ray distance at the isocenter (I agree with Chao that it plays an >> important role) is larger than the original voxel size. Maybe it's there >> but you would need to zoom more to see it. >> You would see a more realistic difference if you were adding photon noise >> to your data. >> Simon >> >> On Tue, Jun 28, 2016 at 9:14 AM, Chao Wu wrote: >> >>> What is the magnification factor of your geometry? >>> >>> 2016-06-27 23:56 GMT+02:00 Solomon Tang : >>> >>>> Hi Simon, >>>> >>>> I am using RTK to simulate CT acquisitions using different detector >>>> sizes to see how this impact on image quality might change some of our >>>> in-house metrics. >>>> >>>> The images I have linked to below have been created using >>>> rtkforwardprojections with different projection spacings (0.3 isometric and >>>> 0.75 isometric) reconstructed with rtkfdk with the same pixel spacing and >>>> image dimensions (0.4688x0.4688x0.6 | 512x512x225). The CUDA projection >>>> stepsize is equal to the projection spacing. The window levels between >>>> images of their respective rows are the same. >>>> >>>> I am simply wondering if the differences between these images are >>>> realistic. I would expect the image with a detector size than is more than >>>> twice as large as the original would be drastically different when in fact >>>> they turn out to be incredibly similar. Are the assumptions made about >>>> projection spacing == cuda stepsize == simulated hardware detector size >>>> incorrect? >>>> >>>> >>>> https://gyazo.com/e86436826f687a2db4b234699d050450 >>>> >>>> https://gyazo.com/ca9612218f082e78ba3082950a27fa4c >>>> >>>> Solomon >>>> >>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users at public.kitware.com >>>> http://public.kitware.com/mailman/listinfo/rtk-users >>>> >>>> >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: