[Rtk-users] Generating signal data from Amsterdam Shroud

Cyril Mory cyril.mory at uclouvain.be
Thu Oct 1 04:02:23 EDT 2015


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>
> *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
>
>     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
>
>         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
>
>             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
>
>             Fax: +1-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
> http://public.kitware.com/mailman/listinfo/rtk-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20151001/605a559b/attachment-0009.html>


More information about the Rtk-users mailing list