You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Requirements

The enviroment must be set up according to the guide

OpenCMT Image Builder: building the code

The source code for the Image Builder is stored in Baltig

Since the source code of the Image Builder can be downloaded only by the authorized developers, credentials for Baltig are necessary.

The simplest way is using RSA keys, the public key must be uploaded into Baltig and the private key must be saved into ${HOME}/.ssh/id_rsa

Once git client has been correctly configured the commands are:

git clone git@baltig.infn.it:muontomography/IB.git
cd IB

These are the steps required for building the Image Builder and install it in the system:

mkdir build && cd build
cmake3 -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RelWithDebInfo -DULIB_USE_QT5=OFF -DPACKAGE_NAME=mutom \
       -DPACKAGE_INSTALL_LIB_DIR=/usr/lib64 -DPACKAGE_INSTALL_INC_DIR=/usr/include/mutom \
       -DPACKAGE_INSTALL_CMAKE_DIR=/usr/lib64/cmake/mutom ..
make
sudo make install

The libraries and header files are installed in the standard locations for the CentOS 7 system, so there's no need to further configurations.

OpenCMT Image Builder: testing the application

If the environment has been correctly set up, several data sets of tracks are available via NFS in /mnt/muotom-data/data/castor/geant.

A reconstruction test can be run with these commands:

mkdir Tests && cd Tests

LOR=18.3
AZI=0.865
VOX=1.83
HOUR=3
ANG=360
CASTOR_TYPE=19
FILEIN=/mnt/muotom-data/data/castor/geant/G4vmc_genCyl/muCastorMC_V19_missBars_2019_36hours.root
FILEOUT=CastorV19_vox${VOX}LoR${AZI}radx${LOR}cm_det_open${ANG}_${HOUR}h

castor ${FILEIN} ${FILEOUT} $(( HOUR * 60 )) 0 ${VOX} \
--execute muCT \
--precision 0.00001 \
--debug false \
--iterations="1 1 40" \
--algorithm.type 0 \
--algorithm.spectrum 1 \
--image.size="324 490 324" \
--image.position="-162 0 -162" \
--tracks.collection_size=$(( HOUR * 5000000 )) \
--tracks.stopped=true \
--tracks.passed=true \
--tracks.dump_root=false \
--tracks.select_y=true \
--tracks.y_in_max=1000 \
--tracks.y_out_min=0 \
--castor.type=${CASTOR_TYPE} \
--castor.init_mask=true \
--castor.update_mask=false \
--castor.iron=0.0114 \
--detector.expError=0 \
--detector.resolution="0.1 0.1 0.1" \
--detector.angAzimOpening=${ANG} \
--detector.angAzimOffset=0 \
--detector.angAzimNFolds=1 \
--detector.angAzimSym=true \
--lors.dump_root=false \
--lors.flagWeight=3 \
--lors.spacing="${AZI} ${LOR} ${AZI} ${LOR}"

  Each interaction produces a VTK file, the last one is the required output.

The output of the recostruction must be processed with a special filter (AB trimmer):

IB_abtrim CastorV19_vox1.83LoR0.865radx18.3cm_det_open360_3h_img_40.vtk \
          --size="5 5 5" --abtrim="0 5" --scale=1.83

The output can be rendered and manipulated with the tool Paraview, available on CentOS 7.

Working with files via NFS sometimes can be slow and error prone, expecially if the size of the files are huge.

A simple solution could be copying the file in a volume attached to the virtual machine. For further details refer to the Cloud Veneto guide

  • No labels