<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Hi Thibaut,</p>
<p><br>
</p>
<p></p>
<div>This story does not apply to castor version 3.0, because I then got empty (NaN) images when reconstructing with -im, I had also emailed about this. </div>
<div>Castor version 3.1 has solved this problem, now I only have this 'blur' on the images. I will send you a private email with my dataset and further specifications of the data.</div>
<div><br>
</div>
<div>Thank you very much for making time for this.</div>
<div><br>
</div>
<div>Inge</div>
<br>
<p></p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Van:</b> Castor-users <castor-users-bounces@lists.castor-project.org> namens castor-users-request@lists.castor-project.org <castor-users-request@lists.castor-project.org><br>
<b>Verzonden:</b> dinsdag 29 september 2020 14:33:01<br>
<b>Aan:</b> castor-users@lists.castor-project.org<br>
<b>Onderwerp:</b> Castor-users Digest, Vol 36, Issue 22</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Send Castor-users mailing list submissions to<br>
        castor-users@lists.castor-project.org<br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="http://lists.castor-project.org/listinfo/castor-users">http://lists.castor-project.org/listinfo/castor-users</a><br>
or, via email, send a message with subject or body 'help' to<br>
        castor-users-request@lists.castor-project.org<br>
<br>
You can reach the person managing the list at<br>
        castor-users-owner@lists.castor-project.org<br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of Castor-users digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
   1. Re: Castor-users Digest, Vol 36, Issue 17 (tmerlin)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Tue, 29 Sep 2020 14:32:54 +0200<br>
From: tmerlin <Thibaut.Merlin@univ-brest.fr><br>
To: castor-users@lists.castor-project.org<br>
Subject: Re: [Castor-users] Castor-users Digest, Vol 36, Issue 17<br>
Message-ID: <781597a3-3873-9c50-4115-be5bff7a5f50@univ-brest.fr><br>
Content-Type: text/plain; charset="windows-1252"; Format="flowed"<br>
<br>
Hi Inge,<br>
<br>
<br>
Thank you for detailing the issue. The difference should come from the <br>
sensitivity image weighing, as for -im case the weighing depends (among <br>
other things) on the duration between two motion triggers. Using -rm, <br>
the sensitivity images for each gate are simply averaged so it would <br>
work only if the motion triggers are evenly spaced during the <br>
acquisition, which is actually the case with your setup. What I don't <br>
understand is why do you get these artifacts using -im, which should be <br>
the proper way to go... Did you get this problem with the v3.0 version <br>
as well ? Or is it just with the v3.1 version ? If you could upload the <br>
data somewhere, I will have a look.<br>
<br>
<br>
Best regards,<br>
<br>
Thibaut<br>
<br>
<br>
<br>
On 28/09/2020 09:26, Schagt, I.H. van der wrote:<br>
><br>
> Hello Thibaut,<br>
><br>
><br>
> I understand your explanation, but it seems to me that the correction <br>
> is applied in a different way in respiratory motion correction than in <br>
> involuntary motion correction.<br>
><br>
> I have one dataset (PET list mode) of a Nema phantom that 'moves' in <br>
> the x-y direction. The phantom is always in one position for 300s and <br>
> then it moves in one moment to another position where it is 300s. This <br>
> in total for three positions. (The translation of the phantom is 2 cm <br>
> in x- and y-direction).<br>
><br>
> I reconstructed this dataset in two ways:<br>
><br>
> - 1. reconstruction with involuntary motion correction (-im) where the <br>
> splitting of the data is done by timestamps (motion triggers), motion <br>
> triggers on 0s, 300s and 600s.<br>
><br>
> - 2. Reconstruction with respiratory motion correction (-rm) where the <br>
> splitting of the data is done by gates (respiratory triggers), the <br>
> data is split based on how many events belonged to each phantom position.<br>
><br>
> In this way, the splitting should take place on exact the same moment <br>
> and I used the exact same deformation file. Furthermore, I used the <br>
> exact same attenuation correction map.<br>
><br>
><br>
> But I get different images after reconstruction (see attached image). <br>
> The image of the -im reconstruction differs from the image of the -rm <br>
> reconstruction in the places where the density of the tissue changes <br>
> when the phantom moves (outside of phantom and in the middle <br>
> cilinder). That is why I suspect that something else happens with the <br>
> attenuation correction (sensitivity images) between these two methods <br>
> of motion correction.<br>
><br>
><br>
> I can imagine this is quite an extensive story, but I wanted to <br>
> explain it well. Hopefully this makes it a little bit more clear.<br>
><br>
><br>
> Kind regards,<br>
><br>
> Inge<br>
><br>
> ------------------------------------------------------------------------<br>
> *Van:* Castor-users <castor-users-bounces@lists.castor-project.org> <br>
> namens castor-users-request@lists.castor-project.org <br>
> <castor-users-request@lists.castor-project.org><br>
> *Verzonden:* donderdag 24 september 2020 11:39:46<br>
> *Aan:* castor-users@lists.castor-project.org<br>
> *Onderwerp:* Castor-users Digest, Vol 36, Issue 17<br>
> Send Castor-users mailing list submissions to<br>
>         castor-users@lists.castor-project.org<br>
><br>
> To subscribe or unsubscribe via the World Wide Web, visit<br>
> <a href="http://lists.castor-project.org/listinfo/castor-users">http://lists.castor-project.org/listinfo/castor-users</a><br>
> or, via email, send a message with subject or body 'help' to<br>
>         castor-users-request@lists.castor-project.org<br>
><br>
> You can reach the person managing the list at<br>
>         castor-users-owner@lists.castor-project.org<br>
><br>
> When replying, please edit your Subject line so it is more specific<br>
> than "Re: Contents of Castor-users digest..."<br>
><br>
><br>
> Today's Topics:<br>
><br>
>    1. Re: Castor-users Digest, Vol 36, Issue 13 (tmerlin)<br>
><br>
><br>
> ----------------------------------------------------------------------<br>
><br>
> Message: 1<br>
> Date: Thu, 24 Sep 2020 11:40:03 +0200<br>
> From: tmerlin <Thibaut.Merlin@univ-brest.fr><br>
> To: castor-users@lists.castor-project.org<br>
> Subject: Re: [Castor-users] Castor-users Digest, Vol 36, Issue 13<br>
> Message-ID: <9ebf85b5-fdb0-1b58-d5c4-03b4f2f25560@univ-brest.fr><br>
> Content-Type: text/plain; charset="windows-1252"; Format="flowed"<br>
><br>
> Hi Inge,<br>
><br>
><br>
> I am not sure about what you mean by moving along the deformations.<br>
><br>
> - With involuntary patient motion (-im), a sensitivity image is computed<br>
> for each subset of data between motion triggers. If an attenuation image<br>
> is provided, it is transformed using the "forward" deformation<br>
> parameters. They are then transformed back to the reference position,<br>
> and receive the proper weighing before being merged together (finally<br>
> you get one sensitivity image by frame, or just one image if you don't<br>
> have any frame).<br>
><br>
> - The process is similar with motion correction for gating. One<br>
> sensitivity image is computed for each set of transformation parameters<br>
> (i.e, each gate), then they are deformed back into the reference<br>
> position and merged together.<br>
><br>
><br>
> During reconstruction, these sensitivity images are always used on<br>
> images transformed back in the reference position.<br>
><br>
><br>
> I hope this helps to clarify the process.<br>
><br>
><br>
> Thibaut<br>
><br>
><br>
><br>
><br>
> On 22/09/2020 18:44, Schagt, I.H. van der wrote:<br>
> ><br>
> > Hello Thibaut,<br>
> ><br>
> ><br>
> > You are totally right, I enabled CASToR_BUILD_SAMPLE_UTILITIES in<br>
> > Cmake and that worked. I can now build the projects and do<br>
> > reconstructions.<br>
> ><br>
> ><br>
> > Lastly, I noticed one more thing. When I reconstruct images with the<br>
> > -im option and I use attenuation correction, the attenuation map<br>
> > doesn't move along with the deformations, while this was the case for<br>
> > the -rm option (respiratory motion).<br>
> ><br>
> > Is this the intention and/or is it possible to let the attenuation map<br>
> > move along with the deformations?<br>
> ><br>
> ><br>
> > Above all, many thanks for your help!<br>
> ><br>
> ><br>
> > Inge<br>
> ><br>
> > ------------------------------------------------------------------------<br>
> > *Van:* Castor-users <castor-users-bounces@lists.castor-project.org><br>
> > namens castor-users-request@lists.castor-project.org<br>
> > <castor-users-request@lists.castor-project.org><br>
> > *Verzonden:* dinsdag 22 september 2020 10:24:31<br>
> > *Aan:* castor-users@lists.castor-project.org<br>
> > *Onderwerp:* Castor-users Digest, Vol 36, Issue 13<br>
> > Send Castor-users mailing list submissions to<br>
> >         castor-users@lists.castor-project.org<br>
> ><br>
> > To subscribe or unsubscribe via the World Wide Web, visit<br>
> > <a href="http://lists.castor-project.org/listinfo/castor-users">http://lists.castor-project.org/listinfo/castor-users</a><br>
> > or, via email, send a message with subject or body 'help' to<br>
> >         castor-users-request@lists.castor-project.org<br>
> ><br>
> > You can reach the person managing the list at<br>
> >         castor-users-owner@lists.castor-project.org<br>
> ><br>
> > When replying, please edit your Subject line so it is more specific<br>
> > than "Re: Contents of Castor-users digest..."<br>
> ><br>
> ><br>
> > Today's Topics:<br>
> ><br>
> >    1. Re:  Problems with –im (involuntary patient motion<br>
> >       correction) (tmerlin)<br>
> ><br>
> ><br>
> > ----------------------------------------------------------------------<br>
> ><br>
> > Message: 1<br>
> > Date: Tue, 22 Sep 2020 10:24:50 +0200<br>
> > From: tmerlin <Thibaut.Merlin@univ-brest.fr><br>
> > To: castor-users@lists.castor-project.org<br>
> > Subject: Re: [Castor-users]  Problems with –im (involuntary patient<br>
> >         motion correction)<br>
> > Message-ID: <6cf8c8f2-aceb-39d4-65d8-d620386cd9d2@univ-brest.fr><br>
> > Content-Type: text/plain; charset="windows-1252"; Format="flowed"<br>
> ><br>
> ><br>
> > Hi Inge,<br>
> ><br>
> ><br>
> > The building problem might come from the CMake configuration file, as<br>
> > these projects have been relocated (now you must enable<br>
> > CASToR_BUILD_SAMPLE_UTILITIES in cmake to build them). It should not<br>
> > have caused issues to build the solution though, so I will have a closer<br>
> > look at it.<br>
> ><br>
> ><br>
> > Could you try to rebuild the 3.1 version with<br>
> > CASToR_BUILD_SAMPLE_UTILITIES enabled ? Alternatively if there are still<br>
> > some issues, you can use the configuration file from the previous<br>
> > version in attachements (to replace the one in the castor directory).<br>
> ><br>
> ><br>
> > Let me know if this helps<br>
> ><br>
> ><br>
> > Kind regards,<br>
> ><br>
> > Thibaut<br>
> ><br>
> ><br>
> ><br>
> > On 22/09/2020 09:41, Schagt, I.H. van der wrote:<br>
> > ><br>
> > > Dear Zacharis,<br>
> > ><br>
> > ><br>
> > > Thank you for your quick response.<br>
> > ><br>
> > > As for oDynamicDataManager, in the datafile header a start time and<br>
> > > duration are indeed given, these are 0s and 900s respectively. even<br>
> > > though these values are included, the frame time stop remains 0s when<br>
> > > I apply motion correction without framing.<br>
> > ><br>
> > > I tried the new version of Castor (V3.1), but I have trouble with<br>
> > > configuring and building te program. Configuring only creates four<br>
> > > projects in the solution (all_build, *castor-recon*, install and<br>
> > > zero_check) instead of seven projects (all_build, *castor-recon*,<br>
> > > install, zero_check, *castor-datafileExplorer,<br>
> > > castor-imageDynamicTools and castor-scannerLUTExplorer*) and this<br>
> > > causes problems building the solution.<br>
> > ><br>
> > > As far as configuring and building is concerned, I did everything the<br>
> > > same as with v_3.0.1. I configured Castor with CMake and tried to<br>
> > > build it in Windows Visual Studio.<br>
> > ><br>
> > > Do you know if the problem with configuring and building could be with<br>
> > > this new version?<br>
> > ><br>
> > ><br>
> > > Kind regards,<br>
> > ><br>
> > > Inge<br>
> > ><br>
> > > <br>
> ------------------------------------------------------------------------<br>
> > > *Van:* Chalampalakis, Zacharias <zacharias.chalampalakis@kcl.ac.uk><br>
> > > *Verzonden:* maandag 21 september 2020 18:21:32<br>
> > > *Aan:* Schagt, I.H. van der; castor-users@lists.castor-project.org<br>
> > > *Onderwerp:* RE: Problems with –im (involuntary patient motion<br>
> > > correction)<br>
> > ><br>
> > > Good afternoon Igne<br>
> > ><br>
> > > Thank you for your email.<br>
> > ><br>
> > > We actually just released a new version of CASToR ( V3.1 ) which fixed<br>
> > > some bugs related to the handling of motion timestamps.<br>
> > ><br>
> > > Maybe you could try with this version , if it is not too difficult ,<br>
> > > to check if the behaviour you experience is related to these bugs ?<br>
> > ><br>
> > > In the latest version , the /oDynamidDataManager/ will remove all<br>
> > > timestamps that occur after the end of the last frame.<br>
> > ><br>
> > > Normally the duration of the frame ( even when not specifying framing<br>
> > > ) is set by the *Start time (s) *and *Duration (s) *entries in the<br>
> > > datafile header.<br>
> > ><br>
> > > Do you have these entries in your datafile header?<br>
> > ><br>
> > > Kind Regards,<br>
> > ><br>
> > > Zacharias Chalampalakis<br>
> > ><br>
> > > *From:*Castor-users <castor-users-bounces@lists.castor-project.org><br>
> > > *On Behalf Of *Schagt, I.H. van der<br>
> > > *Sent:* Monday, September 21, 2020 4:33 PM<br>
> > > *To:* castor-users@lists.castor-project.org<br>
> > > *Subject:* [Castor-users] Problems with –im (involuntary patient<br>
> > > motion correction)<br>
> > ><br>
> > > Dear all,<br>
> > ><br>
> > > I am having trouble with motion correction reconstruction when using<br>
> > > the –im option. When I try to apply motion correction reconstruction I<br>
> > > get the error:<br>
> > ><br>
> > > /Error, the 2th motion trigger timestamp: xxx occurs after the end of<br>
> > > the last frame (frame 1, timestop: 0!/<br>
> > ><br>
> > > This error occurs in the code in the file /oDynamicDataManager/ line<br>
> > > 413 and arises incorrectly. When I do –im reconstruction in<br>
> > > combination with 1 frame (so no framing), the time stop value of the<br>
> > > frame remains 0s, it is not read from the data file. As a result, the<br>
> > > time steps of the motion triggers are greater than the time stop value<br>
> > > of the frame (line 407) and you will eventually get an error. When I<br>
> > > manually adjust this time stop value to the correct value myself, this<br>
> > > error message goes away, but I get incorrect reconstructed images. I<br>
> > > only get black images after reconstruction where each voxel has NaN as<br>
> > > its value. When I apply the same motion correction where I also divide<br>
> > > the data into, for example, 2 frames (-frm…), I get correctly<br>
> > > reconstructed images.<br>
> > ><br>
> > > Does anyone of you know why the option –im gives these weird results,<br>
> > > or what I maybe do wrong?<br>
> > > I use list-mode PET data with a total duration of 900 seconds. For the<br>
> > > motion correction, I used three motion triggers (and deformations).<br>
> > ><br>
> > > Thanks in advance!<br>
> > ><br>
> > > Inge<br>
> > ><br>
> > > <br>
> ------------------------------------------------------------------------<br>
> > ><br>
> > > /De informatie opgenomen in dit bericht kan vertrouwelijk zijn en is<br>
> > > uitsluitend bestemd voor de geadresseerde. Indien u dit bericht<br>
> > > onterecht ontvangt, wordt u verzocht de inhoud niet te gebruiken en de<br>
> > > afzender direct te informeren door het bericht te retourneren. Het<br>
> > > Universitair Medisch Centrum Utrecht is een publiekrechtelijke<br>
> > > rechtspersoon in de zin van de W.H.W. (Wet Hoger Onderwijs en<br>
> > > Wetenschappelijk Onderzoek) en staat geregistreerd bij de Kamer van<br>
> > > Koophandel voor Midden-Nederland onder nr. 30244197. /<br>
> > ><br>
> > > /Denk s.v.p aan het milieu voor u deze e-mail afdrukt. /<br>
> > ><br>
> > > <br>
> ------------------------------------------------------------------------<br>
> > ><br>
> > > /This message may contain confidential information and is intended<br>
> > > exclusively for the addressee. If you receive this message<br>
> > > unintentionally, please do not use the contents but notify the sender<br>
> > > immediately by return e-mail. University Medical Center Utrecht is a<br>
> > > legal person by public law and is registered at the Chamber of<br>
> > > Commerce for Midden-Nederland under no. 30244197. /<br>
> > ><br>
> > > /Please consider the environment before printing this e-mail. /<br>
> > ><br>
> > ><br>
> > > _______________________________________________<br>
> > > Castor-users mailing list<br>
> > > Castor-users@lists.castor-project.org<br>
> > > <a href="http://lists.castor-project.org/listinfo/castor-users">http://lists.castor-project.org/listinfo/castor-users</a><br>
> ><br>
> > --<br>
> > Thibaut MERLIN -- PhD<br>
> ><br>
> > Docteur en Imagerie Médicale au Laboratoire de Traitement de<br>
> > l'Information Medicale (LaTIM - INSERM UMR 1101)<br>
> > Institut Brestois de recherche en Bio-Santé (IBRBS)<br>
> > 12 Avenue Foch, 29200 Brest, FRANCE<br>
> > Tel: 06.75.12.24.90<br>
> ><br>
> > -------------- next part --------------<br>
> > An HTML attachment was scrubbed...<br>
> > URL:<br>
> > <br>
> <<a href="http://lists.castor-project.org/pipermail/castor-users/attachments/20200922/6a9155da/attachment.html">http://lists.castor-project.org/pipermail/castor-users/attachments/20200922/6a9155da/attachment.html</a>><br>
> > -------------- next part --------------<br>
> > # MON 1 Aug 2016 17:02 PM CET<br>
> > # Didier Benoit,  didier.benoit13@gmail.com<br>
> > # Thibaut Merlin, thibaut.merlin@gmail.com<br>
> > # CMAKE compiling the CASToR reconstruction software<br>
> ><br>
> > #---------<br>
> > # Checking the CMAKE version<br>
> > cmake_minimum_required( VERSION 2.8 FATAL_ERROR )<br>
> ><br>
> > #---------<br>
> > # Set the build type<br>
> > set( CMAKE_BUILD_TYPE "Release" CACHE STRING<br>
> >   "Choose the type of build, options are: Debug Release"<br>
> > )<br>
> ><br>
> > #---------<br>
> > # Defining the project<br>
> > project( CASToR )<br>
> > set( CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake-modules<br>
> >   ${CMAKE_MODULE_PATH}<br>
> > )<br>
> ><br>
> > #---------<br>
> > # Defining a list of option<br>
> > option( CASToR_64bits "Build CASToR on 64 bits architecture" YES )<br>
> > option( CASToR_VERBOSE "Print lot of infos from CASToR" NO )<br>
> > option( CASToR_DEBUG "Enable many additionnal checks in primitive<br>
> > functions" NO )<br>
> > option( CASToR_BUILD_GATE_UTILITIES "Build GATE tools for CASToR<br>
> > (require ROOT library)" NO )<br>
> > option( CASToR_BUILD_SAMPLE_UTILITIES "Build Example codes (require<br>
> > ROOT library)" NO )<br>
> > option( CASToR_BUILD_DEVEL "Build devel tools. Must be left unchecked"<br>
> > NO )<br>
> > option( CASToR_ROOT "Build CASToR with ROOT library" NO )<br>
> > option( CASToR_SIMD "Build CASToR with SIMD OPTION" NO )<br>
> > option( CASToR_OMP "Build CASToR with OMP" NO )<br>
> > option( CASToR_MPI "Build CASToR with MPI" NO )<br>
> > # For testing purposes<br>
> > #option( CASToR_DEFORMATION_LEDESMA "Build CASToR with LEDESMA" NO )<br>
> > #option( CASToR_ELASTIX "Build CASToR with ELASTIX" NO )<br>
> ><br>
> ><br>
> > #---------<br>
> > # Find the config file CASToR config<br>
> > find_path( CASTOR_CONFIG_DIR oCASToRConfig.hh.in<br>
> >   ${PROJECT_SOURCE_DIR}<br>
> >   ${PROJECT_SOURCE_DIR}/include/algorithm<br>
> >   ${PROJECT_SOURCE_DIR}/include/analytic_simulator<br>
> >   ${PROJECT_SOURCE_DIR}/include/datafile<br>
> >   ${PROJECT_SOURCE_DIR}/include/dynamic<br>
> >   ${PROJECT_SOURCE_DIR}/include/image<br>
> >   ${PROJECT_SOURCE_DIR}/include/management<br>
> >   ${PROJECT_SOURCE_DIR}/include/optimizer<br>
> >   ${PROJECT_SOURCE_DIR}/include/projector<br>
> >   ${PROJECT_SOURCE_DIR}/include/scanner<br>
> >   ${PROJECT_SOURCE_DIR}/include/utils<br>
> > )<br>
> ><br>
> > #---------<br>
> > # Defining configuration files<br>
> > configure_file(<br>
> >   "${CASTOR_CONFIG_DIR}/oCASToRConfig.hh.in"<br>
> >   "${PROJECT_BINARY_DIR}/oCASToRConfig.hh"<br>
> >   @ONLY<br>
> > )<br>
> ><br>
> > #---------<br>
> > # Setting the CASTOR_CONFIG variable<br>
> > set( CASTOR_CONFIG ${PROJECT_SOURCE_DIR}/config CACHE PATH<br>
> >   "Path to the CASTOR config repository"<br>
> > )<br>
> ><br>
> > #---------<br>
> > # Setting position of the CASToR utilitaries<br>
> > set( TOOLKITS_SOURCE_DIR ${PROJECT_SOURCE_DIR}/toolkits )<br>
> ><br>
> > # To avoid conflict between the makefile from CMake and the makefile<br>
> > provided<br>
> > # by CASToR<br>
> > add_definitions( -DCASToR_USE_CMAKE )<br>
> ><br>
> > ########################################################################<br>
> > # Provide add_compile_options() when not available<br>
> > ########################################################################<br>
> > if( CMAKE_VERSION VERSION_LESS "2.8.12" )<br>
> >     function( add_compile_options )<br>
> >         add_definitions( ${ARGN} )<br>
> >     endfunction( add_compile_options )<br>
> > endif()<br>
> ><br>
> ><br>
> > #---------<br>
> > # Different option for Windows or Unix (Linux/MacOS)<br>
> > if( WIN32 )<br>
> ><br>
> >   #---------<br>
> >   # Delete some flags by default provided by CMAKE<br>
> >   #---------<br>
> >   string( REPLACE "/W3" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} )<br>
> >   string( REPLACE "/O2" "" CMAKE_CXX_FLAGS_RELEASE<br>
> > ${CMAKE_CXX_FLAGS_RELEASE} )<br>
> >   string( REPLACE "/DNDEBUG" "" CMAKE_CXX_FLAGS_RELEASE<br>
> >     ${CMAKE_CXX_FLAGS_RELEASE}<br>
> >   )<br>
> >   string( REPLACE "/MD" "" CMAKE_CXX_FLAGS_RELEASE<br>
> > ${CMAKE_CXX_FLAGS_RELEASE} )<br>
> >   string( REPLACE "/O2" "" CMAKE_CXX_FLAGS_RELEASE<br>
> > ${CMAKE_CXX_FLAGS_RELEASE} )<br>
> ><br>
> >   # Visual studio flags by default /Ox<br>
> >   add_compile_options( /MP )<br>
> ><br>
> >   #---------<br>
> >   # Checking for OpenMP<br>
> >   if( CASToR_OMP )<br>
> >     find_package( OpenMP REQUIRED )<br>
> >     set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}" )<br>
> >     set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}" )<br>
> >     set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}<br>
> >       ${OpenMP_EXE_LINKER_FLAGS}"<br>
> >     )<br>
> >     add_definitions( /DCASTOR_OMP )<br>
> >   endif()<br>
> ><br>
> >   #---------<br>
> >   # Checking for MPI<br>
> >   if( CASToR_MPI )<br>
> >     set( MPIEXEC "C:/Program Files/Microsoft MPI/Bin/mpiexec.exe" )<br>
> >     set( MPI_CXX_INCLUDE_PATH<br>
> >       "C:/Program Files (x86)/Microsoft SDKs/MPI/Include"<br>
> >     )<br>
> >     if( "${CMAKE_SIZEOF_VOID_P}" EQUAL 8 )<br>
> >       set( MS_MPI_ARCH_DIR x64 )<br>
> >     else()<br>
> >       set( MS_MPI_ARCH_DIR x86 )<br>
> >     endif()<br>
> >     set( MPI_CXX_LIBRARIES<br>
> >       "C:/Program Files (x86)/Microsoft<br>
> > SDKs/MPI/Lib/${MS_MPI_ARCH_DIR}/msmpi.lib"<br>
> >     )<br>
> >     set( MPI_C_INCLUDE_PATH "${MPI_CXX_INCLUDE_PATH}" )<br>
> >     set( MPI_C_LIBRARIES "${MPI_CXX_LIBRARIES}" )<br>
> >     set( MPIEXEC_NUMPROC_FLAG "-np" CACHE STRINGS<br>
> >       "Flag used by MPI to specify the number of processes for<br>
> > MPIEXEC; the next option will be the number of processes."<br>
> >     )<br>
> ><br>
> >     include_directories( ${MPI_CXX_INCLUDE_PATH} )<br>
> >     add_definitions( /DCASTOR_MPI )<br>
> >   endif()<br>
> ><br>
> >   #---------<br>
> >   # Checking verbosity<br>
> >   if( CASToR_VERBOSE )<br>
> >     add_compile_options( /W4 )<br>
> >     add_definitions( /DCASTOR_VERBOSE )<br>
> >   endif()<br>
> ><br>
> >   #---------<br>
> >   # Checking debug<br>
> >   if( CASToR_DEBUG )<br>
> >     add_compile_options( /W4 )<br>
> >     add_definitions( /DCASTOR_DEBUG )<br>
> >   endif()<br>
> ><br>
> >   #---------<br>
> >   # Checking the mode Release/Debug<br>
> >   if( CMAKE_BUILD_TYPE MATCHES Release ) # Release mode<br>
> >     # Add release flags<br>
> >     add_compile_options( /Ox /O2 )<br>
> ><br>
> >   else() # Debug mode<br>
> >      # Add debug flags<br>
> >       add_compile_options( /Od )<br>
> >       add_definitions( /DCASTOR_DEBUG )<br>
> >   endif()<br>
> ><br>
> ><br>
> ><br>
> >     #---------<br>
> >   # Checking for ROOT<br>
> >   if( CASToR_ROOT )<br>
> >     find_package( ROOT REQUIRED )<br>
> >     include_directories( ${ROOT_INCLUDE_DIR} )<br>
> >     set( LINK_DIRECTORIES ${ROOT_LIBRARY_DIR} )<br>
> >     add_definitions( -DCASTOR_ROOT )<br>
> >   endif()<br>
> ><br>
> ><br>
> >   #---------<br>
> >   # GATE utilities<br>
> >   if( CASToR_BUILD_GATE_UTILITIES )<br>
> >     if(CASToR_ROOT)<br>
> >     else()<br>
> >       message( "CASToR_ROOT switched to ON (ROOT required for GATE<br>
> > utilities) ${CMAKE_MODULE_PATH}" )<br>
> >       set( ROOT_INCLUDE_DIR $ENV{ROOT_INCLUDE_DIR} )<br>
> >       set( ROOT_LIBRARY_DIR $ENV{ROOT_LIBRARY_DIR} )<br>
> >       include_directories( $ENV{ROOT_INCLUDE_DIR} )<br>
> >       set( LINK_DIRECTORIES ${ROOT_LIBRARY_DIR} )<br>
> >       add_definitions( /DCASTOR_ROOT )<br>
> >       set( CASToR_ROOT ON CACHE BOOL "Force ROOT linking" FORCE)<br>
> >     endif()<br>
> >   endif()<br>
> ><br>
> ><br>
> >   #---------<br>
> >   # Checking for ROOT<br>
> >   if( CASToR_BUILD_SAMPLE_UTILITIES )<br>
> >     if(CASToR_ROOT)<br>
> >     else()<br>
> >       message( "CASToR_ROOT switched to ON (ROOT required for sample<br>
> > code utilities)" )<br>
> >       set( ROOT_INCLUDE_DIR $ENV{ROOT_INCLUDE_DIR} )<br>
> >       set( ROOT_LIBRARY_DIR $ENV{ROOT_LIBRARY_DIR} )<br>
> >       include_directories( $ENV{ROOT_INCLUDE_DIR} )<br>
> >       set( LINK_DIRECTORIES ${ROOT_LIBRARY_DIR} )<br>
> >       add_definitions( /DCASTOR_ROOT )<br>
> >       set( CASToR_ROOT ON CACHE BOOL "Force ROOT linking" FORCE)<br>
> >     endif()<br>
> >   endif()<br>
> ><br>
> >   # Checking for both ROOT & 64bits enabled<br>
> >   # Force to 32 bits in this case, as ROOT can only be 32 bits on WIN<br>
> >   # <a href="https://root-forum.cern.ch/t/native-windows-64-bit-build/9102/27">
https://root-forum.cern.ch/t/native-windows-64-bit-build/9102/27</a><br>
> >   # Display warning message<br>
> ><br>
> >   #---------<br>
> >   # Checking the architecture 64/32 bits<br>
> >   if( CASToR_64bits )<br>
> >     if( CASToR_ROOT )<br>
> >       message( "Architecture set to 32 bits as ROOT can only be built<br>
> > as 32 bits !" )<br>
> >       message( "The generator may have to be manually changed to a 32<br>
> > bits version !" )<br>
> >       set( CASToR_64bits OFF CACHE BOOL "" FORCE)<br>
> >     else()<br>
> >       add_definitions( /D_64 )<br>
> >     endif()<br>
> >   endif()<br>
> ><br>
> ><br>
> ><br>
> > # Unix fork (Linux/MacOS)<br>
> > else()<br>
> ><br>
> >   #---------<br>
> >   # Compiler-specific C++11 activation.<br>
> >   if( "${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" )<br>
> >     execute_process(<br>
> >       COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE<br>
> > GCC_VERSION<br>
> >     )<br>
> >     if( NOT( GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION<br>
> > VERSION_EQUAL 4.7 ) )<br>
> >       message( FATAL_ERROR "${PROJECT_NAME} requires g++ 4.7 or<br>
> > greater." )<br>
> >     endif()<br>
> >     add_compile_options( -std=c++11 )<br>
> >   elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )<br>
> >     add_compile_options( -std=c++11 -stdlib=libc++ )<br>
> >   endif ()<br>
> ><br>
> >   #---------<br>
> >   # Checking the architecture 64/32 bits<br>
> >   if( CASToR_64bits )<br>
> >     add_compile_options( -m64 )<br>
> >     add_definitions( -D_64 )<br>
> >   else()<br>
> >     add_compile_options( -m32 )<br>
> >   endif()<br>
> ><br>
> >   #---------<br>
> >   # Checking verbosity<br>
> >   if( CASToR_VERBOSE )<br>
> >     add_compile_options( -Wall -pedantic -Wextra )<br>
> >     add_definitions( -DCASTOR_VERBOSE )<br>
> >     if( CASToR_SIMD )<br>
> >       add_compile_options( -ftree-vectorizer-verbose=2 )<br>
> >     endif()<br>
> >   endif()<br>
> ><br>
> >   #---------<br>
> >   # Checking debug<br>
> >   if( CASToR_DEBUG )<br>
> >     add_compile_options( -Wall -pedantic -Wextra )<br>
> >     add_definitions( -DCASTOR_DEBUG )<br>
> >     if( CASToR_SIMD )<br>
> >       add_compile_options( -ftree-vectorizer-verbose=2 )<br>
> >     endif()<br>
> >   endif()<br>
> ><br>
> >   #---------<br>
> >   # Checking for OpenMP<br>
> >   if( CASToR_OMP )<br>
> >     find_package( OpenMP REQUIRED )<br>
> >     add_compile_options( ${OpenMP_CXX_FLAGS} )<br>
> >     add_definitions( -DCASTOR_OMP )<br>
> >   endif()<br>
> ><br>
> >   #---------<br>
> >   # Checking for MPI<br>
> >   if( CASToR_MPI )<br>
> >     find_package( MPI REQUIRED )<br>
> >     include_directories( ${MPI_INCLUDE_PATH} )<br>
> >     add_definitions( -DCASTOR_MPI )<br>
> >   endif()<br>
> ><br>
> >   if( CASToR_BUILD_GATE_UTILITIES )<br>
> >     if(CASToR_ROOT)<br>
> >     else()<br>
> >       message( "CASToR_ROOT switched to ON (ROOT required for GATE<br>
> > utilities)" )<br>
> >       set( ROOT_INCLUDE_DIR $ENV{ROOT_INCLUDE_DIR} )<br>
> >       set( ROOT_LIBRARY_DIR $ENV{ROOT_LIBRARY_DIR} )<br>
> >       include_directories( $ENV{ROOT_INCLUDE_DIR} )<br>
> >       set( LINK_DIRECTORIES ${ROOT_LIBRARY_DIR} )<br>
> >       add_definitions( /DCASTOR_ROOT )<br>
> >       set( CASToR_ROOT ON CACHE BOOL "Force ROOT linking" FORCE)<br>
> >     endif()<br>
> >   endif()<br>
> ><br>
> ><br>
> >   #---------<br>
> >   # Checking for ROOT<br>
> >   if( CASToR_BUILD_SAMPLE_UTILITIES )<br>
> >     if(CASToR_ROOT)<br>
> >     else()<br>
> >       message( "CASToR_ROOT switched to ON (ROOT required for sample<br>
> > code utilities)" )<br>
> >       set( ROOT_INCLUDE_DIR $ENV{ROOT_INCLUDE_DIR} )<br>
> >       set( ROOT_LIBRARY_DIR $ENV{ROOT_LIBRARY_DIR} )<br>
> >       include_directories( $ENV{ROOT_INCLUDE_DIR} )<br>
> >       set( LINK_DIRECTORIES ${ROOT_LIBRARY_DIR} )<br>
> >       add_definitions( /DCASTOR_ROOT )<br>
> >       set( CASToR_ROOT ON CACHE BOOL "Force ROOT linking" FORCE)<br>
> >     endif()<br>
> >   endif()<br>
> ><br>
> >   #---------<br>
> >   # Checking for ROOT<br>
> >   if( CASToR_ROOT )<br>
> >     find_package( ROOT REQUIRED )<br>
> >     include_directories( ${ROOT_INCLUDE_DIR} )<br>
> >     set( LINK_DIRECTORIES ${ROOT_LIBRARY_DIR} )<br>
> >         message( "${ROOT_INCLUDE_DIR} " ${ROOT_INCLUDE_DIR})<br>
> >     message( "${ROOT_LIBRARY_DIR} " ${ROOT_LIBRARY_DIR})<br>
> >     add_definitions( -DCASTOR_ROOT )<br>
> >   endif()<br>
> ><br>
> >   #--------- // LEDESMA deformation library. Not planned to be<br>
> > included in Castor, just for private testing.<br>
> >   # Checking for LEDESMA<br>
> >   #if( CASToR_DEFORMATION_LEDESMA )<br>
> >   #  include_directories( ${PROJECT_SOURCE_DIR}/include/image/lib )<br>
> >   #  set( LINK_DIRECTORIES ${PROJECT_SOURCE_DIR}/include/image/lib<br>
> > -lElasticRegistration)<br>
> >   #  set( DEFORMATION_LEDESMA_LIBRARIES<br>
> > -L${PROJECT_SOURCE_DIR}/include/image/lib\ -lElasticRegistration)<br>
> >   #  add_definitions( -DCASTOR_DEFORMATION_LEDESMA )<br>
> >   #endif()<br>
> ><br>
> >   #---------<br>
> >   # Checking for ELASTIX<br>
> >   #if( CASToR_ELASTIX )<br>
> >   #  set( ELASTIX_BUILD_DIR "" CACHE PATH "Path to elastix build <br>
> folder" )<br>
> >   #  set( ELASTIX_USE_FILE ${ELASTIX_BUILD_DIR}/UseElastix.cmake )<br>
> ><br>
> >   #  option( USE_ITK_FOR_ELASTIX "Use ITK (required for elastix)" ON )<br>
> >   #  find_package( ITK )<br>
> >   #  if( ITK_FOUND )<br>
> >   #    include( ${ITK_USE_FILE} )<br>
> >   #  else( ITK_FOUND )<br>
> >   #    message( FATAL_ERROR "Cannot build CASToR using ELASTIX without<br>
> > ITK. Please set ITK_DIR." )<br>
> >   #  endif( ITK_FOUND )<br>
> ><br>
> >   #  if( EXISTS ${ELASTIX_USE_FILE} )<br>
> >   #    include( ${ELASTIX_USE_FILE} )<br>
> >   #    link_libraries( param )<br>
> >   #    link_libraries( elastix )<br>
> >   #    link_libraries( transformix )<br>
> >   #    add_definitions( -DCASTOR_ELASTIX )<br>
> >   #  endif()<br>
> ><br>
> >   #endif()<br>
> ><br>
> >   #---------<br>
> >   # Checking the mode Release/Debug<br>
> >   if( CMAKE_BUILD_TYPE MATCHES Release ) # Release mode<br>
> >     # Add release flags<br>
> >     add_compile_options( -O3 )<br>
> ><br>
> >     # Add SIMD flags<br>
> >     if( CASToR_SIMD )<br>
> >       add_compile_options(<br>
> >         -ftree-vectorize -msse2 -fassociative-math<br>
> >       )<br>
> >     endif()<br>
> >   else() # Debug mode<br>
> >      # Add debug flags<br>
> >       add_compile_options( -O0 -g3 -fno-inline -pg )<br>
> >       add_definitions( -DCASTOR_DEBUG )<br>
> >   endif()<br>
> ><br>
> > endif()<br>
> ><br>
> > #---------<br>
> > # Setup include directory for this project<br>
> > include_directories(<br>
> >   ${CMAKE_CURRENT_BINARY_DIR}<br>
> >   ${PROJECT_SOURCE_DIR}/include/algorithm<br>
> >   ${PROJECT_SOURCE_DIR}/include/analytic_simulator<br>
> >   ${PROJECT_SOURCE_DIR}/include/datafile<br>
> >   ${PROJECT_SOURCE_DIR}/include/dynamic<br>
> >   ${PROJECT_SOURCE_DIR}/include/image<br>
> >   ${PROJECT_SOURCE_DIR}/include/management<br>
> >   ${PROJECT_SOURCE_DIR}/include/optimizer<br>
> >   ${PROJECT_SOURCE_DIR}/include/projector<br>
> >   ${PROJECT_SOURCE_DIR}/include/scanner<br>
> >   ${PROJECT_SOURCE_DIR}/include/utils<br>
> > )<br>
> ><br>
> > #---------<br>
> > # Locate sources and headers for CASToR<br>
> > file( GLOB_RECURSE sources ${PROJECT_SOURCE_DIR}/src/*.cc )<br>
> > file( GLOB_RECURSE headers ${PROJECT_SOURCE_DIR}/include/*.hh )<br>
> ><br>
> > #---------<br>
> > # Build the executables<br>
> > add_executable( castor-recon castor-recon.cc ${sources} ${headers} )<br>
> > add_executable( castor-datafileExplorer<br>
> > ${TOOLKITS_SOURCE_DIR}/castor-datafileExplorer.cc ${sources} <br>
> ${headers} )<br>
> > add_executable( castor-scannerLUTExplorer<br>
> > ${TOOLKITS_SOURCE_DIR}/castor-scannerLUTExplorer.cc ${sources}<br>
> > ${headers} )<br>
> > add_executable( castor-imageDynamicTools<br>
> > ${TOOLKITS_SOURCE_DIR}/castor-imageDynamicTools.cc ${sources} <br>
> ${headers} )<br>
> > if( CASToR_BUILD_DEVEL)<br>
> >   add_executable( castor-proj castor-proj.cc ${sources} ${headers} )<br>
> > endif()<br>
> ><br>
> > # Build GATE tools for CASToR<br>
> > if( CASToR_BUILD_GATE_UTILITIES )<br>
> >   add_executable( castor-GATERootToCastor<br>
> > ${TOOLKITS_SOURCE_DIR}/castor-GATERootToCastor.cc ${sources} <br>
> ${headers} )<br>
> >   add_executable( castor-GATEMacToGeom<br>
> > ${TOOLKITS_SOURCE_DIR}/castor-GATEMacToGeom.cc ${sources}<br>
> >   ${headers} )<br>
> > endif()<br>
> ><br>
> > # Build GATE tools for CASToR<br>
> > if( CASToR_BUILD_SAMPLE_UTILITIES )<br>
> >   add_executable( castor-PetScannerLutEx<br>
> > ${TOOLKITS_SOURCE_DIR}/castor-PetScannerLutEx.cc ${sources} ${headers} )<br>
> >   add_executable( castor-datafileConversionEx<br>
> > ${TOOLKITS_SOURCE_DIR}/castor-datafileConversionEx.cc ${sources}<br>
> >   ${headers} )<br>
> > endif()<br>
> ><br>
> > if( WIN32 )<br>
> >   target_link_libraries( castor-recon ${ROOT_LIBRARIES}<br>
> >     ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES} <br>
> ${MPI_CXX_LIBRARIES}<br>
> >   )<br>
> >   target_link_libraries( castor-datafileExplorer ${ROOT_LIBRARIES}<br>
> >     ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES} <br>
> ${MPI_CXX_LIBRARIES}<br>
> >   )<br>
> >   target_link_libraries( castor-scannerLUTExplorer ${ROOT_LIBRARIES}<br>
> >     ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES} <br>
> ${MPI_CXX_LIBRARIES}<br>
> >   )<br>
> >   target_link_libraries( castor-imageDynamicTools ${ROOT_LIBRARIES}<br>
> >     ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES} <br>
> ${MPI_CXX_LIBRARIES}<br>
> >   )<br>
> >   if( CASToR_BUILD_DEVEL )<br>
> >     target_link_libraries( castor-proj ${ROOT_LIBRARIES}<br>
> >       ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES}<br>
> > ${MPI_CXX_LIBRARIES}<br>
> >     )<br>
> >   endif()<br>
> >   if( CASToR_BUILD_GATE_UTILITIES )<br>
> >     target_link_libraries( castor-GATERootToCastor ${ROOT_LIBRARIES}<br>
> >       ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES}<br>
> > ${MPI_CXX_LIBRARIES}<br>
> >     )<br>
> >     target_link_libraries( castor-GATEMacToGeom ${ROOT_LIBRARIES}<br>
> >       ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES}<br>
> > ${MPI_CXX_LIBRARIES}<br>
> >     )<br>
> >   endif()<br>
> >   if( CASToR_BUILD_SAMPLE_UTILITIES )<br>
> >     target_link_libraries( castor-PetScannerLutEx ${ROOT_LIBRARIES}<br>
> >       ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES}<br>
> > ${MPI_CXX_LIBRARIES}<br>
> >     )<br>
> >     target_link_libraries( castor-datafileConversionEx ${ROOT_LIBRARIES}<br>
> >       ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES}<br>
> > ${MPI_CXX_LIBRARIES}<br>
> >     )<br>
> >   endif()<br>
> ><br>
> > else()<br>
> >   target_link_libraries( castor-recon ${ROOT_LIBRARIES}<br>
> > ${OpenMP_CXX_FLAGS} ${MPI_LIBRARIES}<br>
> >     ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES} )<br>
> >   target_link_libraries( castor-datafileExplorer ${ROOT_LIBRARIES}<br>
> > ${OpenMP_CXX_FLAGS} ${MPI_LIBRARIES}<br>
> >     ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES} )<br>
> >   target_link_libraries( castor-scannerLUTExplorer ${ROOT_LIBRARIES}<br>
> > ${OpenMP_CXX_FLAGS} ${MPI_LIBRARIES}<br>
> >     ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES} )<br>
> >   target_link_libraries( castor-imageDynamicTools ${ROOT_LIBRARIES}<br>
> > ${OpenMP_CXX_FLAGS} ${MPI_LIBRARIES}<br>
> >     ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES}<br>
> >   )<br>
> >   if( CASToR_BUILD_DEVEL )<br>
> >     target_link_libraries( castor-proj ${ROOT_LIBRARIES} <br>
> ${MPI_LIBRARIES}<br>
> >       ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES}<br>
> > ${OpenMP_CXX_FLAGS}<br>
> >     )<br>
> >   endif()<br>
> >   if( CASToR_BUILD_GATE_UTILITIES )<br>
> >     target_link_libraries( castor-GATERootToCastor ${ROOT_LIBRARIES}<br>
> > ${MPI_LIBRARIES}<br>
> >       ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES}<br>
> > ${OpenMP_CXX_FLAGS}<br>
> >     )<br>
> >     target_link_libraries( castor-GATEMacToGeom ${ROOT_LIBRARIES}<br>
> > ${MPI_LIBRARIES}<br>
> >       ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES}<br>
> > ${OpenMP_CXX_FLAGS}<br>
> >     )<br>
> >   endif()<br>
> >   if( CASToR_BUILD_SAMPLE_UTILITIES )<br>
> >     target_link_libraries( castor-PetScannerLutEx ${ROOT_LIBRARIES}<br>
> > ${MPI_LIBRARIES}<br>
> >       ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES}<br>
> > ${OpenMP_CXX_FLAGS}<br>
> >     )<br>
> >     target_link_libraries( castor-datafileConversionEx<br>
> > ${ROOT_LIBRARIES} ${MPI_LIBRARIES}<br>
> >       ${DEFORMATION_LEDESMA_LIBRARIES} ${ITK_LIBRARIES}<br>
> > ${OpenMP_CXX_FLAGS}<br>
> >     )<br>
> >   endif()<br>
> > endif()<br>
> ><br>
> > #---------<br>
> > # Move the executables to the install path<br>
> > install( TARGETS<br>
> >   castor-recon castor-datafileExplorer castor-scannerLUTExplorer<br>
> > castor-imageDynamicTools<br>
> >   DESTINATION<br>
> >   bin<br>
> > )<br>
> ><br>
> > if( CASToR_BUILD_DEVEL )<br>
> >   install( TARGETS<br>
> >     castor-proj<br>
> >     DESTINATION<br>
> >     bin<br>
> >   )<br>
> > endif()<br>
> ><br>
> > if( CASToR_BUILD_GATE_UTILITIES )<br>
> >   install( TARGETS<br>
> >     castor-GATERootToCastor castor-GATEMacToGeom<br>
> >     DESTINATION<br>
> >     bin<br>
> >   )<br>
> > endif()<br>
> ><br>
> > if( CASToR_BUILD_SAMPLE_UTILITIES )<br>
> >   install( TARGETS<br>
> >     castor-PetScannerLutEx castor-datafileConversionEx<br>
> >     DESTINATION<br>
> >     bin<br>
> >   )<br>
> > endif()<br>
> ><br>
> ><br>
> ><br>
> > ------------------------------<br>
> ><br>
> > Subject: Digest Footer<br>
> ><br>
> > _______________________________________________<br>
> > Castor-users mailing list<br>
> > Castor-users@lists.castor-project.org<br>
> > <a href="http://lists.castor-project.org/listinfo/castor-users">http://lists.castor-project.org/listinfo/castor-users</a><br>
> ><br>
> ><br>
> > ------------------------------<br>
> ><br>
> > End of Castor-users Digest, Vol 36, Issue 13<br>
> > ********************************************<br>
> ><br>
> > _______________________________________________<br>
> > Castor-users mailing list<br>
> > Castor-users@lists.castor-project.org<br>
> > <a href="http://lists.castor-project.org/listinfo/castor-users">http://lists.castor-project.org/listinfo/castor-users</a><br>
><br>
> -- <br>
> Thibaut MERLIN -- PhD<br>
><br>
> Docteur en Imagerie Médicale au Laboratoire de Traitement de <br>
> l'Information Medicale (LaTIM - INSERM UMR 1101)<br>
> Institut Brestois de recherche en Bio-Santé (IBRBS)<br>
> 12 Avenue Foch, 29200 Brest, FRANCE<br>
> Tel: 06.75.12.24.90<br>
><br>
> -------------- next part --------------<br>
> An HTML attachment was scrubbed...<br>
> URL: <br>
> <<a href="http://lists.castor-project.org/pipermail/castor-users/attachments/20200924/79ec6c59/attachment.html">http://lists.castor-project.org/pipermail/castor-users/attachments/20200924/79ec6c59/attachment.html</a>><br>
><br>
> ------------------------------<br>
><br>
> Subject: Digest Footer<br>
><br>
> _______________________________________________<br>
> Castor-users mailing list<br>
> Castor-users@lists.castor-project.org<br>
> <a href="http://lists.castor-project.org/listinfo/castor-users">http://lists.castor-project.org/listinfo/castor-users</a><br>
><br>
><br>
> ------------------------------<br>
><br>
> End of Castor-users Digest, Vol 36, Issue 17<br>
> ********************************************<br>
><br>
> _______________________________________________<br>
> Castor-users mailing list<br>
> Castor-users@lists.castor-project.org<br>
> <a href="http://lists.castor-project.org/listinfo/castor-users">http://lists.castor-project.org/listinfo/castor-users</a><br>
<br>
-- <br>
Thibaut MERLIN -- PhD<br>
<br>
Docteur en Imagerie Médicale au Laboratoire de Traitement de l'Information Medicale (LaTIM - INSERM UMR 1101)<br>
Institut Brestois de recherche en Bio-Santé (IBRBS)<br>
12 Avenue Foch, 29200 Brest, FRANCE<br>
Tel: 06.75.12.24.90<br>
<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://lists.castor-project.org/pipermail/castor-users/attachments/20200929/50d0768b/attachment.html">http://lists.castor-project.org/pipermail/castor-users/attachments/20200929/50d0768b/attachment.html</a>><br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
_______________________________________________<br>
Castor-users mailing list<br>
Castor-users@lists.castor-project.org<br>
<a href="http://lists.castor-project.org/listinfo/castor-users">http://lists.castor-project.org/listinfo/castor-users</a><br>
<br>
<br>
------------------------------<br>
<br>
End of Castor-users Digest, Vol 36, Issue 22<br>
********************************************<br>
</div>
</span></font>
</body>
</html>