The Hitchhiker's Guide to Monte Carlo eXtreme (MCX)

Version 2020.1

Preface - Light, life, and everything!

Chapter 1. Introduction to Monte Carlo light transport modeling

1.1. Light transport basics
1.2. Monte Carlo photon migration
1.3. GPU and parallel programming
1.4. Ray-tracing
1.5. Shape modeling
1.6. Data file formats
1.7. Maximizing simulation speed

Chapter 2. Setting up basic simulations

2.1. Built-in examples and basic rationales
2.2. Understanding the output
2.3. Creating input files
2.4. Plotting and data conversion
2.5. Fine tuning command line parameters

Chapter 3. Simulating complex sources

3.1. Pencil beam and isotropic sources
3.2. Fourier patterns
3.3. Gaussian, disk and planar sources
3.4. Pattern sources
3.5. Volumetric sources
3.6. Photon sharing for simultaneous pattern simulations

Chapter 4. Defining complex media and shape constructs

4.1. Voxel label format
4.2. Continuously varying media
4.3. JSON-based shape constructs
4.4. Input data format and conversion
4.5. Data precision

Chapter 5. Creating fast and portable simulations

5.1. MCX-CL and portability across GPUs and CPUs
5.2. GPU and CPU hardware benchmarks and comparisons
5.3. Platform dependencies
5.4. Running MCX and MCX-CL on distributed GPU clusters
5.5. Using docker image

Chapter 6. MCXLAB - an easy to use MATLAB interface

6.1. MCXLAB code anatomy
6.2. Data import and export
6.3. Domain preview and result visualization
6.4. Batch mode and using MCXLAB on a cluster
6.5. More examples

Chapter 7. Advanced simulations using MCX and MCXLAB

7.1. Simulations using brain atlas
7.2. Large scale simulations
7.3. Photon "replay" for building Jacobians
7.4. Denoising using `mcxfilter`

Chapter 8. MCX Studio - a graphical interface for MCX and MCX-CL

8.1. GUI interface introduction
8.2. Defining complex domains
8.3. Running simulations
8.4. Data visualization

Chapter 9. Comparisons and validations

9.1. Comparisons between `mcx` and `mcxcl`
9.2. Comparisons with `tMCimg`
9.3. Comparisons with `mcxyz`
9.4. Comparisons with `mmc`

Chapter 10. Source code structure and programming guide

10.1. Source code structure
10.2. Setting up development environment
10.3. Compilation and deployment
10.4. MCX-CL kernel customization

Chapter 11. Applications of MCX

11.1. Applications of MCX in brain simulations
11.2. Use of MCX in spatial modulated imaging
11.3. Other specialized applications

Epilogue - Roadmap and future challenges

List of Appendices

Appendix A - Command line options
Appendix B - MCXLAB input data structures
Appendix C - Input and output file format specifications
Appendix D - Program constants and limitations
Appendix E - Quantities and their units
Appendix F - MCX `hitgrid` ray-tracer explained
Appendix G - Advanced compilation and run-time flags
Powered by Habitat