Deprecated ‐ Home - xcist/documentation GitHub Wiki
Welcome to the XCIST Wiki!
- Acknowledgements
- Software license
- What is XCIST? What is CatSim?
- Software release note
- How to install CatSim
- Getting started
- How to run a simulation
- FAQ
- Publications and citing
Acknowledgements
The X-ray-based cancer imaging simulation toolkit (XCIST) project is supported by the National Cancer Institute of the National Institutes of Health under Award Number U01CA231860 (ITCR grant).
This toolkit includes material files and software developed by Members of the Geant4 Collaboration ( http://cern.ch/geant4 ). Specifically, it builds on the X-ray attenuation cross-sections produced by Geant4.
CatSim includes spectra produced using XSPECT (http://www.engin.umich.edu/class/ners580/ners-bioe_580/index580.html).
What is XCIST? What is CatSim?
The open-source XCIST project for X-ray-based cancer imaging aims to develop a simulation tool (CatSim) for accurate simulation of the X-ray and CT imaging process, including state-of-the-art CT reconstruction algorithms, detailed and realistic digital representations of patients (“phantoms”) with and without realistic tumors, and a dose estimation tool. More details in our publication: https://doi.org/10.1088/1361-6560/ac9174
The simulation software contained within XCIST is a new, Python version of CatSim. CatSim stands for “computer assisted tomography simulator”. CatSim is software for simulating X-ray projections, including those for computed tomography (CT). CatSim is a simple customizable set of functions that incorporates many of the physical phenomena underlying X-ray projection formation. Its flexibility allows the user to define new features and components, resulting in an improvement and enlargement of its main purposes. The reconstruction software is developed by Dr. Hengyong Yu and team (University of Massachusetts Lowell). The realistic antropomorphic xCAT phantoms and tumor models are developed by Dr. Paul Segars and team (Duke University). The flat-panel-based imaging system models are developed by Dr. Web Stayman and team (Johns Hopkins University)
XCIST represents an important first step toward the creation of a virtual platform from which to conduct imaging trials efficiently and realistically, accelerating development and clinical translation of new cancer imaging technologies. As a foundation, XCIST is designed to incorporate fundamental capabilities that apply to all X-ray-based modalities and includes key models to allow researchers to immediately begin simulating X-ray/CT images. It will also enable researchers to develop their own models of CT, X-ray and mammographic systems utilizing the underlying capabilities of XCIST.
System requirements
The pre-built executable runs on Windows 7 and Windows 10 64-bit. The pre-built libraries that are called from python run on Windows 7, Windows 10 64-bit, Linux 64-bit, and Mac OS (x86-64). CatSim uses Python3 syntax.
How to install CatSim:
Getting started
The gecatsim/examples directory contains several sample programs that you can experiment with. These files are designed to facilitate the execution of simulation experiments. You can utilize these scripts as a starting point for your experiments, taking advantage of predefined elements and structures. (For more details on how to define the simulation experiments, see the next section below.) To run any of them, you can
- Double-click on the icon. Alternatively, right click on the icon and choose Run.
- To run from the command line, you can specify the name of the program, e.g.:
python Sim_Recon_Sample.py
You may find all the examples in gecatsim/examples.
How to run a simulation
Create a Python script that specifies your simulation experiment. In the following examples, the file is named my_experiment.py. (You can create multiple uniquely-named scripts and invoke them as below). For more details, please see:
- Define a simulation experiment
- Configuration parameter definitions
- What are the CatSim output / simulation results
- How to get / share large data files using LFS
To run the experiment using the CatSim executable (on Windows only), see Tips and tricks: Running the Windows executable.
To run the experiment using the installed Python version of CatSim, type (in a Python command window):
python my_experiment.py
FAQ
- Does CatSim work on an Apple M1/M2/M3 computer?
- The pre-compiled lib_catsim_macos.so is for Apple x86_64 (Intel CPU). For the Apple M1/M2/M3, you will need to compile the library on your M1/M2/M3 computer. You can do so by using the MakeMacOS makefile in the gecatsim/clib_build directory. Remove the "-msse" option to the gcc command when compiling on your M1/M2/M3 computer. Make sure you are using the "gcc" compiler and not the default "clang" compiler on the Mac OS.
- I'm having issues using this with Anaconda on a MacBook.
- If you're on a newer MacOS computer that uses the M1 chip, make sure that your Anaconda installation is for the M1 and not x86_64. Anaconda added support for M1 only in 2022. https://www.anaconda.com/blog/new-release-anaconda-distribution-now-supporting-m1