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
| Tip |
|---|
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:
| No Format |
|---|
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:
| No Format |
|---|
mkdir build && cd build
cmake3 -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPACKAGE_NAME=mutom \
-DPACKAGE_INSTALL_LIB_DIR=/usr/lib64 -DPACKAGE_INSTALL_INC_DIR=/usr/include/mutom \
-DPACKAGE_INSTALL_CMAKE_DIR=/usr/lib64/cmake/mutom \
-DBOOST_INCLUDEDIR=/usr/include/boost169 -DBOOST_LIBRARYDIR=/usr/lib64/boost169 \
-DCastorGen1=ON ..
make
sudo make install |
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:
| No Format |
|---|
mkdir Tests && cd Tests
VOX=1.83
HOUR=3
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} --config cmt.config
|
Each interaction produces a VTK file, the last one is the required output, the configuration file cmt.config contains all the options required by the executable and the related plugins (readers), this is an example:
| No Format |
|---|
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=15000000 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=19 castor.init_mask=true castor.update_mask=false castor.iron=0.0114 lors.dump_root=false lors.flagWeight=3 lors.spacing=0.865 18.3 0.865 18.3 detector.expError=0 detector.resolution=0.1 0.1 0.1 detector.angAzimOpening=360 detector.angAzimOffset=0 detector.angAzimNFolds=1 detector.angAzimSym=1 detector.outerskin=129122.1000 detector.innerskin=129121.0999 detector.useSkinDet=trueground=-251.35 detector.ground=-223.175useSkinDet=true |
The output of the recostruction must be processed with a special filter (AB trimmer):
| No Format |
|---|
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 7Alma Linux 9.
| Tip |
|---|
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 |