MCCL Getting Started on Linux - VirtualPhotonics/Vts.MonteCarlo GitHub Wiki

Getting the MCCL application

Download the application from GitHub:

  • Download latest version for your operating system from Releases
  • Once the zip file has been downloaded, extract or unzip contents
  • The downloaded files include:
    • mc - the MCCL executable
    • *.m, jsonlab folder - MATLAB scripts to enable viewing the results using MATLAB
    • Vts.dll - the VTS library and other libraries necessary to executing MCCL

Running a sample input file on Linux:

  • Requirements: dotnet runtime 8.0 - instructions here
  • Make a folder to put the download zip file "mkdir foldername"
  • Download zip file and move to folder "mv MC_vx.x.x.zip foldername"
  • Set current directory to folder "cd foldername" and unzip files "unzip MC_vx.x.x.zip"
  • The file permissions get reset when zip is made, so to set them for all files type "chmod 644 *"
  • Make the MCCL an executable file "chmod 755 mc"
  • To generate sample infiles type "./mc geninfiles". The sample input files are named infile_*, where * indicates the source, tissue and detector definitions designated within the file. Note that the default source definition is a point source perpendicular to the tissue surface and when the infile has this source definition, it is not part of the name. For example, the infile "infile_one_layer_all_detectors.txt" designates a point source, one layer tissue and all detectors currently available.
  • To run sample infile "./mc infile=infile_one_layer_all_detectors.txt"
  • Output to the screen will be similar to that shown in figure above will be displayed
  • Output will be in folder named by infile "OutputName"
  • To view plots of results using Matlab, see next section

MCCL Execution

Viewing the results using MATLAB or GNU Octave

For linux, Mac and Windows:

  • Requirements: MATLAB R2011b and higher
  • After running a sample infile, a folder will be created in the current directory. For the infile described above, "infile_one_layer_all_detectors.txt", the folder will be named "one_layer_all_detectors"
  • Bring up MATLAB or Octave and edit the script file load_results_script.m. Set "datanames = { ' one_layer_all_detectors' };" (see figure below) and save changes
  • For Octave users, if the infile in the datanames folder is not found make sure that "outdir" is set to the absolute location of that folder (not relative)
  • Execute this script by typing "load_results_script" at the MATLAB or Octave prompt
  • Plots of the all detector results specified in the infile will come to the screen

Load Results Script