[Rtk-users] Generating signal data from Amsterdam Shroud
Julien Jomier
julien.jomier at kitware.com
Tue Oct 6 11:00:16 EDT 2015
Yang, Simon,
As I mentioned previously, you cannot build ITK with FFTW on Windows
without setting ITK_USE_SYSTEM_FFTW=ON. You should get a warning in
CMake specifying this. So the only solution to build ITK with FFTW on
Windows is to use an externally compiled version of FFTW.
Julien
On 06/10/2015 16:49, Yang K Park wrote:
> Hi Simon,
>
> It seems that I misunderstood before. This time, I’ve followed your
> suggestion and encountered an error as follows:
>
> H:\lib\itk4.8.1\SRC\Modules\Filtering\FFT\include\itkFFTWGlobalConfiguration.h(31):
> fatal error C1083: Cannot open include file: 'fftw3.h': No such file or
> directory
>
> I’ve tested this with itk4.8.1, which is the most up-to-date release
> version.
>
> It seems that I need to specify the external fftw header file (fftw3.h),
> but the user interface for input does not appear in CMake unless I set
> ITK_USE_SYSTEM_FFTW=ON, as I have pointed out.
>
> I hope this report can help itk developers resolve the issue.
>
> Thanks.
>
> Yang
>
> *From:*simon.rit at gmail.com [mailto:simon.rit at gmail.com] *On Behalf Of
> *Simon Rit
> *Sent:* Tuesday, October 06, 2015 9:11 AM
> *To:* Yang K Park <theday79 at gmail.com>
> *Cc:* Cyril Mory <cyril.mory at uclouvain.be>; Matthew J. Riblett
> <riblettmj at mymail.vcu.edu>; rtk-users at public.kitware.com
> *Subject:* Re: [Rtk-users] Generating signal data from Amsterdam Shroud
>
> Thanks Yang. I think I wasn't clear but what I meant was not to disable
> FFTW but to compile and use FFTW in ITK by using
> ITK_USE_FFTWF=ON
> ITK_USE_FFTWD=ON
> ITK_USE_SYSTEM_FFTW=OFF
>
> instead of what I think you used
> ITK_USE_FFTWF=ON
> ITK_USE_FFTWD=ON
> ITK_USE_SYSTEM_FFTW=ON
>
> Julien Jomier from Kitware told me that both configurations worked for
> him but your initial message suggests that the first did not work for
> you. If you can confirm and explain your config (ITK version, compiler,
> etc.).
>
> Simon
>
> PS: your test is useful anyway, I'll try to make the error message
> clearer when FFTW is not used.
>
> On Mon, Oct 5, 2015 at 7:53 PM, Yang K Park <theday79 at gmail.com
> <mailto:theday79 at gmail.com>> wrote:
>
> Hi Simon,
>
> I’ve just tried to build it without FFTW library, as you have asked.
>
> I have encountered an error as shown in the attached pictures in
> running “rtkextractshroudsignal” application.
>
> It seems that ITK_FFT cannot find the peak signals successfully,
> making FFTW mandatory.
>
> (I guess Matt had experienced same issue in Linux environment.)
>
> Hope it helps.
>
> Yang
>
> *From:*simon.rit at gmail.com <mailto:simon.rit at gmail.com>
> [mailto:simon.rit at gmail.com <mailto:simon.rit at gmail.com>] *On Behalf
> Of *Simon Rit
> *Sent:* Monday, October 05, 2015 1:45 AM
> *To:* Yang K Park <theday79 at gmail.com <mailto:theday79 at gmail.com>>
> *Cc:* Cyril Mory <cyril.mory at uclouvain.be
> <mailto:cyril.mory at uclouvain.be>>; Matthew J. Riblett
> <riblettmj at mymail.vcu.edu <mailto:riblettmj at mymail.vcu.edu>>;
> rtk-users at public.kitware.com <mailto:rtk-users at public.kitware.com>
>
>
> *Subject:* Re: [Rtk-users] Generating signal data from Amsterdam Shroud
>
> Thanks a lot Yang for the detailed report, I'm sure that will be
> helpful to many people. For my personal information, did you try to
> compile FFTW from ITK as well? If it didn't work, could you let us
> know what was the problem?
>
> Simon
>
> On Thu, Oct 1, 2015 at 11:33 PM, Yang K Park <theday79 at gmail.com
> <mailto:theday79 at gmail.com>> wrote:
>
> Hi Cyril,
>
> Thanks a lot for your advices.
>
> Thanks to your help, I did some trials and errors and finally
> succeeded.
>
> Following is the final version of my instruction.
>
> Thanks.
>
> Yang
>
> p.s. To RTK developers
>
> Extracting phase signal from CBCT looks beautiful and very
> convenient! I really like it. Thanks for your hard works on this.
>
> [ITK/RTK compile instruction to use FFTW: For windows7 with VS2013]
>
> <System used for this test>
>
> - Windows 7 64 bit
>
> - Visual Studio 2013
>
> - Cmake 3.1.0
>
> - ITK 4.8.0
>
> - CUDA v6.5
>
> - RTK: Up-to-date (revision: 3346)
>
> <Procedures>
>
> 1.Prepare fftw library files
>
> a.Download FFTW 3.3.4 from http://www.fftw.org/install/windows.html
>
> b.Unzip it in a proper directory (e.g.
> ~/lib/FFTW3.3.4/fftw-3.3.4-dll64)
>
> c.Find VS2013 command prompt short-cut (Start --> Program -->
> Visual Studio 2013 --> Tools -->VS2013 x64 Native Tools Command
> Prompt)
>
> d.Set "Start in" property of the shortcut to the directory where
> FFTW files are located and then run the shortcut
>
> e.Convert *.def files to *.lib files by typing following commands.
>
> "lib /machine:x64 /def:libfftw3-3.def" (for double)
>
> "lib /machine:x64 /def:libfftw3f-3.def" (for float)
>
> 2.Cmake for ITK
>
> a.Configure
>
> b.Turn on the following and reconfigure
>
> i.ITK_USE_SYSTEM_FFTW (mandatory to make the following options
> appear)
>
> c.Set proper paths for FFTW_INCLUDE_PATH, FFTWD_LIB and FFTW_LIB
> values
>
> e.g.)
>
> i.FFTW_INCLUDE_PATH = H:/lib/FFTW/fftw-3.3.4-dll64
>
> ii.FFTWD_LIB = H:/lib/FFTW/fftw-3.3.4-dll64/libfftw3-3.lib
>
> iii.FFTWF_LIB = H:/lib/FFTW/fftw-3.3.4-dll64/libfftw3f-3.lib
>
> iv.FFTWD_THREADS_LIB and FFTWF_THREAD_LIB may remain blank.
>
> d."BUILD_SHARED_LIBS" can be turned off (no effect on FFTW),
> BUILD_EXAMPLE can be turned off
>
> e.Reconfigure, Generate
>
> 3.Build ITK with Visual Studio
>
> a.In both Debug and Release
>
> 4.Cmake for RTK
>
> a.Default settings were used.
>
> b."BUILD_SHARED_LIBS" can be turned off (no effect on FFTW)
>
> 5.Build RTK using Visual Studio
>
> 6.Copy dll files to RTK bin folders
>
> a.Which files?: libfftw3-3.dll, libfftw3f-3.dll
>
> b.To where?: (~RTK)\bin\Release and (~RTK)\bin\Debug
>
> c.
>
> 7.Build RTK with Visual Studio
>
> *From:*Cyril Mory [mailto:cyril.mory at uclouvain.be
> <mailto:cyril.mory at uclouvain.be>]
> *Sent:* Thursday, October 01, 2015 4:02 AM
> *To:* Yang K Park <theday79 at gmail.com
> <mailto:theday79 at gmail.com>>; 'Matthew J. Riblett'
> <riblettmj at mymail.vcu.edu <mailto:riblettmj at mymail.vcu.edu>>;
> rtk-users at public.kitware.com <mailto:rtk-users at public.kitware.com>
>
>
> *Subject:* Re: [Rtk-users] Generating signal data from Amsterdam
> Shroud
>
> Hi Yang,
>
> First, a quick explanation: ITK embeds FFTW. On linux, you just
> have to activate it in the CMake options. On Windows, you cannot
> do that. I do not have a clue why, but you cannot. You have to
> install FFTW separately.
>
> Now, a solution: The quickest way is to download the precompiled
> DLLs from http://www.fftw.org/install/windows.html
> On that same page, follow the indications on how to create the
> .lib files (that is absolutely necessary). You may have to run
> the "lib.exe" program from the VS developer prompt instead of
> the standard windows cmd.exe prompt. Specify you CPU
> architecture explicitly, just to be sure.
>
> Then in the CMake options of ITK, set the following:
> FFTWF_LIB = TheRelevantFolderOnYourSystem/libfftw3f-3.lib
> FFTW_INCLUDE_PATH = TheRelevantFolderOnYourSystem/
>
> Let the rest of the FFTW options blank. Compile ITK, then RTK,
> and you should be fine. I have successfully compiled this with
> BUILD_SHARED_LIBS = ON (on both ITK and RTK), I don't know if it
> matters.
>
> If it works for you, then you might want to play around with the
> other FFTW .lib files, and send on this mailing list a more
> complete set of CMAKE options that works. I have tried some
> other combinations without success, so I'd be happy to learn more.
>
> Hope it helps,
> Cyril
>
> On 09/30/2015 11:12 PM, Yang K Park wrote:
>
> Hi Matt,
>
> Thank you so much for your help, again.
>
> Unfortunately, I’m using windows system (windows7 64 with VS
> 2013) and I guess this could be a challenging issue to me.
>
> Hi RTK users,
>
> Is there anyone who successfully compiled RTK with “ITK +
> FFTW” in windows system?
>
> I’m just trying to use *rtkextractshroudsignal* and it seems
> to require FFTW library externally.
>
> When I tried to use FFTW 3.3.4, I’ve encountered link errors
> as shown below.
>
> Any help will be highly appreciated.
>
> Yang
>
> *From:*Matthew J. Riblett [mailto:riblettmj at mymail.vcu.edu]
> *Sent:* Wednesday, September 30, 2015 5:01 PM
> *To:* Yang K Park <theday79 at gmail.com>
> <mailto:theday79 at gmail.com>
> *Subject:* Re: [Rtk-users] Generating signal data from
> Amsterdam Shroud
>
> Yang,
>
> I’m running on Ubuntu 14.04 LTS and used the distribution
> library (FFTW 3.3.3). If you’re running on a Debian-based
> linux system, you can also install the full development
> library set using the following command: */sudo apt-get
> install libfftw3-3 libfftw3-dev/*. Then just make sure that
> these libraries are being used by rerunning CCMake.
>
> I’m not quite sure about the error being thrown in your
> build, but perhaps one of the main developers would be able
> to provide some more insight into the issue.
>
> Hope this helps,
>
> — Matt
>
> __
>
> Matthew J. Riblett
> Virginia Commonwealth University
> Department of Radiation Oncology
> Medical Physics Graduate Program
>
> Office: Sanger Hall, Room B1-013
>
> 401 College Street | P.O. Box 980058
>
> Richmond, Virginia 23298
>
> VCU Email: riblettmj at vcu.edu <mailto:riblettmj at vcu.edu>
> MCV Office Phone: +1.804.628.4858 <tel:%2B1.804.628.4858>
>
> On Sep 30, 2015, at 4:44 PM, Yang K Park
> <theday79 at gmail.com <mailto:theday79 at gmail.com>> wrote:
>
> Hi Matt,
>
> Thank you so much for your advice.
>
> Recently I have revisited this project and tried to
> compile ITK with those options on as you suggested.
>
> I’ve tried to use the up-to-date version of FFTW
> (3.3.4), but it seems that it doesn’t work with RTK.
>
> There were some link errors like:
>
> rtkextractshroudsignal.obj : error LNK2019: unresolved
> external symbol __imp_fftw_execute referenced in
> function "protected: virtual void __cdecl
> itk::FFTWComplexToComplexFFTImageFilter<class
> itk::Image<class std::complex<double>,1>
> >::BeforeThreadedGenerateData(void)"
> (?BeforeThreadedGenerateData@?
>
> May I ask you which version of fftw you are successfully
> using in which system(Windows or Linux)?
>
> Thanks.
>
> Yang
>
> *From:* Matthew J. Riblett
> [mailto:riblettmj at mymail.vcu.edu]
> *Sent:* Friday, September 18, 2015 6:56 PM
> *To:* Yang K Park <theday79 at gmail.com
> <mailto:theday79 at gmail.com>>
> *Subject:* Re: [Rtk-users] Generating signal data from
> Amsterdam Shroud
>
> Yang,
>
> One ITK requirement of the new RTK version is the
> inclusion of the Fast Fourier Transform components.
> This requires compilation with the ITK_USE_FFTWF and the
>
> ITK_USE_FFTWD options. I know, I didn’t compile that
> way initially, and it took a little bit of time to
> figure out.
>
> Hope that helps,
>
> — Matt
>
> __
>
> Matthew J. Riblett
> Virginia Commonwealth University
> Department of Radiation Oncology
> Medical Physics Graduate Program
>
> Office: Sanger Hall, Room B1-013
>
> 401 College Street | P.O. Box 980058
>
> Richmond, Virginia 23298
>
> VCU Email: riblettmj at vcu.edu <mailto:riblettmj at vcu.edu>
> MCV Office Phone: +1.804.628.4858 <tel:%2B1.804.628.4858>
>
> On Sep 18, 2015, at 4:55 PM, Yang K Park
> <theday79 at gmail.com <mailto:theday79 at gmail.com>> wrote:
>
> Hi Matt,
>
> That sounds great! I really appreciate your advice.
>
> I’m now compiling itk-4.8 to use that feature since
> I’ve found my itk version is a bit obsolete (4.4).
>
> Thanks!
>
> Yang
>
> *From:* Matthew J. Riblett
> [mailto:riblettmj at mymail.vcu.edu]
> *Sent:* Friday, September 18, 2015 4:31 PM
> *To:* Yang K Park <theday79 at gmail.com
> <mailto:theday79 at gmail.com>>
> *Subject:* Re: [Rtk-users] Generating signal data
> from Amsterdam Shroud
>
> Hi Yang,
>
> Nice to hear from you! I have had some success
> since my initial posting – in fact I’m currently
> working on a new method for accomplishing this task
> in certain challenging cases.
>
> The most recent version of RTK provides an update to
> the rtkextractshroudsignal application which
> provides a phase signal output when called using the
> ‘-p’ flag at runtime:
>
> */rtkextractshroudsignal -i shroud.mhd -o
> raw_signal.txt -p phase_signal.txt --method
> LINEAR_BETWEEN_MINIMA/*
>
> From what I’ve experienced, this generally provides
> a good signal [0,1) characterizing the respiratory
> phase using the default settings. Occasionally,
> I’ve run into issues where the default ‘unsharpness’
> parameter needs to be adjusted to give a clear
> signal (by appending the *--unsharp ##* flag to the
> command). On more challenging shroud images –
> notably, those with little detectable signal from
> background – additional contrast-enhancement by
> pre-processing of the shroud has assisted in signal
> extraction.
>
> I hope that helps – and please let me know how it
> works out for you.
>
> — Matt
>
> __
>
> Matthew J. Riblett
> Virginia Commonwealth University
> Department of Radiation Oncology
> Medical Physics Graduate Program
>
> Office: Sanger Hall, Room B1-013
>
> 401 College Street | P.O. Box 980058
>
> Richmond, Virginia 23298
>
> VCU Email: riblettmj at vcu.edu <mailto:riblettmj at vcu.edu>
> MCV Office Phone: +1.804.628.4858
> <tel:%2B1.804.628.4858>
>
> On Sep 18, 2015, at 4:12 PM, Yang K Park
> <theday79 at gmail.com <mailto:theday79 at gmail.com>>
> wrote:
>
> Hi Matthew,
>
> Hello, I found you in the RTK-thread.
>
> Recently, I’ve encountered exactly same issue
> and it would be highly appreciated if you can
> share with me your updates on this issue.
>
> Thanks.
>
> Yang
>
> _______________________________________________
>
> Yang-Kyun Park, Ph.D., DABR
>
> Assistant physicist & Instructor
>
> Department of Radiation Oncology
>
> Massachusetts General Hospital & Harvard Medical
> School
>
> 55 Fruit Street, Boston, MA 02114
>
> Tel: +1-617-726-0186 <tel:%2B1-617-726-0186>
>
> Fax: +1-617-726-3603 <tel:%2B1-617-726-3603>
>
> *From:* Rtk-users
> [mailto:rtk-users-bounces at public.kitware.com]
> *On Behalf Of *Joel Beaudry
> *Sent:* Tuesday, March 17, 2015 5:25 PM
> *To:* Matthew J. Riblett
> <riblettmj at mymail.vcu.edu
> <mailto:riblettmj at mymail.vcu.edu>>
> *Cc:* rtk-users at public.kitware.com
> <mailto:rtk-users at public.kitware.com>
> *Subject:* Re: [Rtk-users] Generating signal
> data from Amsterdam Shroud
>
> Hi Matthew,
>
> I'm not sure of what was used in the Matlab
> script, but I've had good success with using a
> Hilbert function in python (scipy). I'm sure
> that Matlab has an equivalent function, and
> maybe that is what was used?
>
> Hope that helps,
>
> Joel
>
> On Wed, Mar 11, 2015 at 2:40 PM, Matthew J.
> Riblett <riblettmj at mymail.vcu.edu
> <mailto:riblettmj at mymail.vcu.edu>> wrote:
>
> Hello fellow RTK users,
>
> I was wondering if anyone has a
> straightforward method of going from the
> results of the rtkamsterdamshroud and
> rtkextractshroudsignal applications to a
> [0,1) phase signal for performing
> motion-compensated reconstruction. I’ve
> been following along with the MC-CBCT
> Reconstruction example
> (http://wiki.openrtk.org/index.php/RTK/Examples/MCCBCTReconstruction),
> and there is an indication that Matlab is
> used to process the should signal prior to
> feeding it back into the reconstruction
> application, but there is no mention of how
> this is accomplished. I’m trying to
> implement this into an automated workflow
> and I’d love to know how this was accomplished.
>
> Thanks!
>
> — Matt
>
> __
>
> Matthew J. Riblett
> Virginia Commonwealth University
> Department of Radiation Oncology
> Medical Physics Graduate Program
>
> Office: Sanger Hall, Room B1-013
>
> 401 College Street | P.O. Box 980058
>
> Richmond, Virginia 23298
>
> VCU Email: riblettmj at vcu.edu
> <mailto:riblettmj at vcu.edu>
> MCV Office Phone: +1.804.628.4858
> <tel:%2B1.804.628.4858>
>
>
> _______________________________________________
> Rtk-users mailing list
> Rtk-users at public.kitware.com
> <mailto:Rtk-users at public.kitware.com>
> http://public.kitware.com/mailman/listinfo/rtk-users
>
> _______________________________________________
>
> Rtk-users mailing list
>
> Rtk-users at public.kitware.com
> <mailto:Rtk-users at public.kitware.com>
>
> http://public.kitware.com/mailman/listinfo/rtk-users
>
>
> _______________________________________________
> Rtk-users mailing list
> Rtk-users at public.kitware.com <mailto: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
>
More information about the Rtk-users
mailing list