Deprecated ‐ Home - xcist/documentation GitHub Wiki

Welcome to the XCIST Wiki!


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:

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

  1. 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.
  1. I'm having issues using this with Anaconda on a MacBook.