Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Requirements

The enviroment must be set up according to the guide

Build the OpenCMT Image Builder

The source code for the Image Builder is stored in Baltig

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 -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 \
       -DBOOST_INCLUDEDIR=/usr/include/boost169 -DBOOST_LIBRARYDIR=/usr/lib64/boost160 ..
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.

Test the OpenCMT Image Builder

TODO

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

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):

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