Skip to content

Commit

Permalink
update zmatlib, replace zlib by miniz, update cmake, update version
Browse files Browse the repository at this point in the history
  • Loading branch information
fangq committed Aug 29, 2023
1 parent 01ed20b commit 11b1c33
Show file tree
Hide file tree
Showing 43 changed files with 11,022 additions and 569 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/build_all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,13 @@ jobs:
gcc -v
mkoctfile --version
if [[ "$RUNNER_OS" == "Linux" ]]; then
make oct LFLAGS='-static-libgcc -static-libstdc++ -Wl,-Bstatic -lz -Wl,-Bdynamic'
make oct LFLAGS='-static-libgcc -static-libstdc++'
ldd ../mmclab/mmc.mex
elif [[ "$RUNNER_OS" == "macOS" ]]; then
make oct CC=gcc-11 CXX=g++-11 USEROCTOPT="CXXFLAGS='-pipe -Os -arch x86_64' DL_LD=g++ DL_LDFLAGS='-fopenmp -static-libgcc -static-libstdc++'"
otool -L ../mmclab/mmc.mex
else
make oct CC=gcc CXX=g++ LIBOPENCL='/c/Windows/System32/OpenCL.dll --verbose' LFLAGS='-static-libgcc -static-libstdc++ -Wl,-Bstatic -lz -Wl,-Bdynamic'
make oct CC=gcc CXX=g++ LIBOPENCL='/c/Windows/System32/OpenCL.dll --verbose' LFLAGS='-static-libgcc -static-libstdc++'
objdump -p ../mmclab/mmc.mex | grep "DLL Name:"
fi
octave-cli --eval "fprintf(1,['OCTAVE_ARCH=' regexprep(computer('arch'), 'darwin[0-9.]+-', 'darwin-')])"
Expand All @@ -82,7 +82,7 @@ jobs:
run: |
cd src
if [[ "$RUNNER_OS" == "Windows" ]]; then
make mex LDFLAGS="-static libzmat.a" EXTRALIB="-Lc:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/x86_64-w64-mingw32/lib -lz -v"
make mex LDFLAGS="-static libzmat.a" EXTRALIB="-Lc:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/x86_64-w64-mingw32/lib-v"
objdump -p ../mmclab/mmc.mexw* | grep "DLL Name:"
elif [[ "$RUNNER_OS" == "macOS" ]]; then
which mex
Expand All @@ -97,13 +97,13 @@ jobs:
cd src
make clean
if [[ "$RUNNER_OS" == "Linux" ]]; then
make AR=c++ EXTRALIB="-static-libstdc++ -static-libgcc -Wl,-Bdynamic -lOpenCL -Wl,-Bstatic -lm -lz"
make AR=c++ EXTRALIB="-static-libstdc++ -static-libgcc -Wl,-Bdynamic -lOpenCL -Wl,-Bstatic -lm"
ldd bin/mmc
elif [[ "$RUNNER_OS" == "macOS" ]]; then
make CC=gcc-11 CXX=g++-11
otool -L bin/mmc
else
make CC=gcc CXX=g++ USERARFLAGS="-static-libstdc++ -static-libgcc -Wl,-Bstatic libzmat.a -Lc:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/x86_64-w64-mingw32/lib -lz"
make CC=gcc CXX=g++ USERARFLAGS="-static-libstdc++ -static-libgcc -Wl,-Bstatic libzmat.a -Lc:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/x86_64-w64-mingw32/lib"
ldd bin/mmc
fi
- name: Create package folder
Expand Down
13 changes: 12 additions & 1 deletion ChangeLog.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
Change Log

== MMC 1.9.6 (v2023.01, Moon Cake), Qianqian Fang <q.fang at neu.edu> ==
== MMC 2.0.0 (v2023, Moon Cake), Qianqian Fang <q.fang at neu.edu> ==

2023-03-04 [465ef20] implement github ci
2023-01-03 [3ddff2b] force flushing in terminal and matlab
2023-01-02 [849d09a] bump up version number
2023-01-02 [423047b] fix travis error after adding cuda related targets
2022-11-02 [9809be0] add cudamex and cudaoct makefile targets
2022-10-25 [f455d1e] reduce photon leakage for edge-immc, still leaks, need more work


== MMC 1.9.6 (v2022.10, Moon Cake), Qianqian Fang <q.fang at neu.edu> ==

2022-10-08 [4c8bdae] mmc v2022.10
2022-10-01 [77411c4] using nvidia native atomicadd for float add 40% speedup
2022-09-21 [e661011] add double-buffer to solve fangq/mcx#41
2022-05-30 [c3b15b2] print detected photon number in matlab
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Mesh-based Monte Carlo (MMC) - SSE4 and OpenCL

- Author: Qianqian Fang (q.fang at neu.edu)
- License: GNU General Public License version 3 (GPL v3), see License.txt
- Version: 1.9.6 (v2023.01, Moon Cake)
- Version: 2.0.0 (v2023, Moon Cake)
- URL: <http://mcx.space/mmc>

[![Build Status](https://travis-ci.com/fangq/mmc.svg?branch=master)](https://travis-ci.com/fangq/mmc)
Expand Down Expand Up @@ -35,7 +35,7 @@ Table of Content:
What's New
-------------

MMC v2023.01 (1.9.6) includes a major feature upgrade - implicit MMC (iMMC) - to
MMC v2023 (2.0.0) includes a major feature upgrade - implicit MMC (iMMC) - to
enable simulations of highly complex anatomical structures. The details of the
iMMC algorithm, developed by Yaoshen Yuan, are described in his recent paper
[Yuan2021]. Briefly, iMMC permits one to associate cylindrical inclusions,
Expand Down
4 changes: 2 additions & 2 deletions README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

*Author: Qianqian Fang <q.fang at neu.edu>
*License: GNU General Public License version 3 (GPL v3), see License.txt
*Version: 1.9.6 (v2023.01, Moon Cake)
*Version: 2.0.0 (v2023, Moon Cake)
*URL: http://mcx.space/mmc

---------------------------------------------------------------------
Expand All @@ -19,7 +19,7 @@ Table of Content:

== # What's New ==

MMC v2023.01 (1.9.6) includes a major feature upgrade - implicit MMC (iMMC) - to
MMC v2023 (2.0.0) includes a major feature upgrade - implicit MMC (iMMC) - to
enable simulations of highly complex anatomical structures. The details of the
iMMC algorithm, developed by Yaoshen Yuan, are described in his recent paper
[Yuan2021]. Briefly, iMMC permits one to associate cylindrical inclusions,
Expand Down
8 changes: 4 additions & 4 deletions commons/Makefile_common.mk
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@
# and linking
########################################################

ROOTDIR ?= .
ROOTDIR ?= ..
MMCDIR ?= $(ROOTDIR)

MMCSRC :=$(MMCDIR)/src

CXX := g++
AR := $(CC)
CUDACC :=nvcc
BIN := bin
BIN := $(MMCDIR)/bin
BUILT := built
BINDIR := $(BIN)
OBJDIR := $(BUILT)
Expand All @@ -30,8 +30,8 @@ INCLUDEDIR := $(MMCDIR)/src -I$(MMCDIR)/src/zmat/easylzma -I$(MMCDIR)/src/ubj
AROUTPUT += -o
MAKE ?= make

ZMATLIB :=libzmat.a
USERARFLAGS?=$(ZMATLIB) -lz
ZMATLIB :=lib/libzmat.a
USERARFLAGS?=$(ZMATLIB)

LIBOPENCLDIR ?= /usr/local/cuda/lib64
LIBOPENCL ?=-lOpenCL
Expand Down
2 changes: 1 addition & 1 deletion examples/colin27/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/sh

time ../../src/bin/mmc -f brain.inp -s brain -n 1e6 -b 1 -D TP -F nii $@
time ../../bin/mmc -f brain.inp -s brain -n 1e6 -b 1 -D TP -F nii $@
2 changes: 1 addition & 1 deletion examples/dcs/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/sh

../../src/bin/mmc -s dcs -f dcs.inp -b 1 -m 1 -D P -d 1
../../bin/mmc -s dcs -f dcs.inp -b 1 -m 1 -D P -d 1
6 changes: 3 additions & 3 deletions examples/meshtest/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/sh

time ../../src/bin/mmc -f mesh0.inp -s mesh0 -n 30000000 -b 0 -l -D TP
time ../../src/bin/mmc -f mesh1.inp -s mesh1 -n 30000000 -b 0 -l -D TP
time ../../src/bin/mmc -f mesh2.inp -s mesh2 -n 30000000 -b 0 -l -D TP
time ../../bin/mmc -f mesh0.inp -s mesh0 -n 30000000 -b 0 -l -D TP
time ../../bin/mmc -f mesh1.inp -s mesh1 -n 30000000 -b 0 -l -D TP
time ../../bin/mmc -f mesh2.inp -s mesh2 -n 30000000 -b 0 -l -D TP

4 changes: 2 additions & 2 deletions examples/onecube/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh

../../src/bin/mmc -n 20 -f onecube.inp -s onecube -G -1 -D M | grep '^M' | sed -e 's/^M/1/g' -e 's/^B/0/g' -e 's/P/2/g'| sed '$d' > mov.txt
../../src/bin/mmc -n 20 -f onecube.inp -s onecube -G -1 -D MA | grep '^[A-Z]' | sed -e 's/^[A-Z] //g' | sed '$d' > ad.txt
../../bin/mmc -n 20 -f onecube.inp -s onecube -G -1 -D M | grep '^M' | sed -e 's/^M/1/g' -e 's/^B/0/g' -e 's/P/2/g'| sed '$d' > mov.txt
../../bin/mmc -n 20 -f onecube.inp -s onecube -G -1 -D MA | grep '^[A-Z]' | sed -e 's/^[A-Z] //g' | sed '$d' > ad.txt
8 changes: 4 additions & 4 deletions examples/planar/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#!/bin/sh

../../src/bin/mmc -n 100000 -f planar.inp -s planar -b 1 -x 1 -D E > debug.txt
../../bin/mmc -n 100000 -f planar.inp -s planar -b 1 -x 1 -D E > debug.txt
grep '^x ' debug.txt | sed -e 's/^x //g'> exitpos.txt
grep '^e ' debug.txt | sed -e 's/^e //g'> enterpos.txt

#../../src/bin/mmc -n 1 -f planar.inp -s planar -b 1 -x 1 -D M | sed -e 's/^M/1/g' -e 's/^B/0/g' -e 's/P/2/g'| sed '$d' > mov.txt
#../../src/bin/mmc -n 1 -f planar.inp -s planar -b 1 -x 1 -D MA | sed -e 's/^[A-Z] //g' | sed '$d' > ad.txt
#../../bin/mmc -n 1 -f planar.inp -s planar -b 1 -x 1 -D M | sed -e 's/^M/1/g' -e 's/^B/0/g' -e 's/P/2/g'| sed '$d' > mov.txt
#../../bin/mmc -n 1 -f planar.inp -s planar -b 1 -x 1 -D MA | sed -e 's/^[A-Z] //g' | sed '$d' > ad.txt

#../../src/bin/mmc -n 1000000 -f planar.inp -s planar -b 1 -x 1 -D TP
#../../bin/mmc -n 1000000 -f planar.inp -s planar -b 1 -x 1 -D TP
4 changes: 2 additions & 2 deletions examples/reftest/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh

../../src/bin/mmc -n 20 -f onecube.inp -s onecube -b 1 -D M | sed -e 's/^M/1/g' -e 's/^B/0/g' -e 's/P/2/g' -e 's/T/3/g'| sed '$d' > mov.txt
../../src/bin/mmc -n 20 -f onecube.inp -s onecube -b 1 -D MA | sed -e 's/^[A-Z] //g' | sed '$d' > ad.txt
../../bin/mmc -n 20 -f onecube.inp -s onecube -b 1 -D M | sed -e 's/^M/1/g' -e 's/^B/0/g' -e 's/P/2/g' -e 's/T/3/g'| sed '$d' > mov.txt
../../bin/mmc -n 20 -f onecube.inp -s onecube -b 1 -D MA | sed -e 's/^[A-Z] //g' | sed '$d' > ad.txt
2 changes: 1 addition & 1 deletion examples/regression/exitangle/run_test_planar.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/sh
date

../../../src/bin/mmc -n 1000000 -f tank_planar.inp -s tank_planar -b 1 -x 1 -U 0 -D TP
../../../bin/mmc -n 1000000 -f tank_planar.inp -s tank_planar -b 1 -x 1 -U 0 -D TP

date
6 changes: 3 additions & 3 deletions examples/replay/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#!/bin/sh

# first run to get the seeds for each detected photon (-q 1)
../../src/bin/mmc -f replaytest.inp -s step1 -n 3e6 -b 0 -q 1 -x 1 -d 1 -D TP
../../bin/mmc -f replaytest.inp -s step1 -n 3e6 -b 0 -q 1 -x 1 -d 1 -D TP

# replay the detected photons (-E *.mch) detected by detector#1 (-P 1) without normalization (-U 0)
../../src/bin/mmc -f replaytest.inp -E step1.mch -s step2 -P 1 -b 0 -q 1 -x 1 -d 1 -O L -D TP
../../bin/mmc -f replaytest.inp -E step1.mch -s step2 -P 1 -b 0 -q 1 -x 1 -d 1 -O L -D TP

# replay the detected photons (-E *.mch) detected by detector#1 (-P 1) without normalization (-U 0)
../../src/bin/mmc -f replaytest.inp -E step1.mch -s step3 -P 1 -b 0 -q 1 -x 1 -d 1 -O P -D TP
../../bin/mmc -f replaytest.inp -E step1.mch -s step3 -P 1 -b 0 -q 1 -x 1 -d 1 -O P -D TP

8 changes: 4 additions & 4 deletions examples/replaywide/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#!/bin/sh

# first run to get the seeds for each detected photon (-q 1)
../../src/bin/mmc -f init_MC.inp -s init -n 3e7 -b 1 -q 1 -x 1 -D TP
../../bin/mmc -f init_MC.inp -s init -n 3e7 -b 1 -q 1 -x 1 -D TP

# replay the detected photons (-E *.mch) for full illumination & half detection (-P 0) under wl mode
../../src/bin/mmc -f replay1.inp -E init.mch -s replay1 -P 0 -b 1 -O L -D TP
../../bin/mmc -f replay1.inp -E init.mch -s replay1 -P 0 -b 1 -O L -D TP

# replay the detected photons (-E *.mch) for half illumination & full detection (-P 0) under wp mode
../../src/bin/mmc -f replay2.inp -E init.mch -s replay2 -P 0 -b 1 -O L -D TP
../../bin/mmc -f replay2.inp -E init.mch -s replay2 -P 0 -b 1 -O L -D TP

# replay the detected photons (-E *.mch) for half illumination & half detection (-P 0) under wl mode
../../src/bin/mmc -f replay3.inp -E init.mch -s replay3 -P 0 -b 1 -O L -D TP
../../bin/mmc -f replay3.inp -E init.mch -s replay3 -P 0 -b 1 -O L -D TP
2 changes: 1 addition & 1 deletion examples/sfdi2layer/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/sh

../../src/bin/mmc -n 3000000 -f sfdi.inp -s sfdi -b 0 -k 0 -D TP -M S $@
../../bin/mmc -n 3000000 -f sfdi.inp -s sfdi -b 0 -k 0 -D TP -M S $@
2 changes: 1 addition & 1 deletion examples/sharing/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/sh

../../src/bin/mmc -n 1000000 -f sharing.inp -s sharing -b 1 -k 0 -D TP
../../bin/mmc -n 1000000 -f sharing.inp -s sharing -b 1 -k 0 -D TP
2 changes: 1 addition & 1 deletion examples/skinvessel/run_dmmc.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh

../../src/bin/mmc -f dmmc_skinvessel.json -n 1e8 -F bin $@
../../bin/mmc -f dmmc_skinvessel.json -n 1e8 -F bin $@

2 changes: 1 addition & 1 deletion examples/skinvessel/run_mmc.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh

../../src/bin/mmc -f skinvessel.json -n 1e8 -F bin $@
../../bin/mmc -f skinvessel.json -n 1e8 -F bin $@

8 changes: 4 additions & 4 deletions examples/sphere/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#!/bin/sh

#../../src/bin/mmc -n 100000 -f planar.inp -s planar -b 1 -x 1 -D E > debug.txt
#../../bin/mmc -n 100000 -f planar.inp -s planar -b 1 -x 1 -D E > debug.txt
#grep '^x ' debug.txt | sed -e 's/^x //g'> exitpos.txt
#grep '^e ' debug.txt | sed -e 's/^e //g'> enterpos.txt

#../../src/bin/mmc -n 1 -f planar.inp -s planar -b 1 -x 1 -D M | sed -e 's/^M/1/g' -e 's/^B/0/g' -e 's/P/2/g'| sed '$d' > mov.txt
#../../src/bin/mmc -n 1 -f planar.inp -s planar -b 1 -x 1 -D MA | sed -e 's/^[A-Z] //g' | sed '$d' > ad.txt
#../../bin/mmc -n 1 -f planar.inp -s planar -b 1 -x 1 -D M | sed -e 's/^M/1/g' -e 's/^B/0/g' -e 's/P/2/g'| sed '$d' > mov.txt
#../../bin/mmc -n 1 -f planar.inp -s planar -b 1 -x 1 -D MA | sed -e 's/^[A-Z] //g' | sed '$d' > ad.txt

../../src/bin/mmc -n 10000000 -f planar.inp -s planar -b 1 -x 1 -D TP
../../bin/mmc -n 10000000 -f planar.inp -s planar -b 1 -x 1 -D TP
2 changes: 1 addition & 1 deletion examples/sphshells/run_dmmc.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh

../../src/bin/mmc -f dmmc_sphshells.json -n 1e8 -F bin $@
../../bin/mmc -f dmmc_sphshells.json -n 1e8 -F bin $@

2 changes: 1 addition & 1 deletion examples/sphshells/run_mmc.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh

../../src/bin/mmc -f sphshells.json -n 1e8 -F bin $@
../../bin/mmc -f sphshells.json -n 1e8 -F bin $@

2 changes: 1 addition & 1 deletion examples/statnoise/run_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
for i in {1..10}
do
echo "run #$i"
../../src/bin/mmc -f vartest.json -s v_$i -n 10000000 -b 0 -l -D TP -E 9876543$i
../../bin/mmc -f vartest.json -s v_$i -n 10000000 -b 0 -l -D TP -E 9876543$i
done
2 changes: 1 addition & 1 deletion examples/validation/benchspeed.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/sh

time ../../src/bin/mmc -f cube.inp -s cube -n 100000 -b 0 -D PT
time ../../bin/mmc -f cube.inp -s cube -n 100000 -b 0 -D PT
2 changes: 1 addition & 1 deletion examples/validation/run_tess.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/sh

time ../../src/bin/mmc -f cube2.inp -s cube2 -n 1e8 -b 0 -D TP -M G -F bin $@
time ../../bin/mmc -f cube2.inp -s cube2 -n 1e8 -b 0 -D TP -M G -F bin $@
2 changes: 1 addition & 1 deletion examples/validation/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/sh

time ../../src/bin/mmc -f cube.inp -s cube -n 1e8 -b 0 -F bin -D TP $@
time ../../bin/mmc -f cube.inp -s cube -n 1e8 -b 0 -F bin -D TP $@
2 changes: 1 addition & 1 deletion examples/widedet/run_test.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh

# run with -x 2 to record detected photons in the form of time-resolved images
../../src/bin/mmc -f widedet.inp -s widedet -n 1000000 -x 2 -b 1 -D TP
../../bin/mmc -f widedet.inp -s widedet -n 1000000 -x 2 -b 1 -D TP
9 changes: 9 additions & 0 deletions src/buildmmc.m
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,15 @@ function buildmmc(varargin)
opt=struct(varargin{:});
pname='mmc';

clsource = fileread('mmc_core.cl');
clsrc = sprintf('0x%02x, ', char(clsource));
clhex = ['unsigned char mmc_core_cl[] = {' sprintf('\n') clsrc(1:end-2) sprintf('\n') ...
sprintf('};\nunsigned int mmc_core_cl_len = %d;\n', length(clsource))];

fp=fopen('mmc_core.clh','wb');
fwrite(fp, clhex, 'char');
fclose(fp);

cflags='-c -Wall -g -DMCX_EMBED_CL -fno-strict-aliasing -m64 -DMMC_USE_SSE -DHAVE_SSE2 -msse -msse2 -msse3 -mssse3 -msse4.1 -O3 -fopenmp -DUSE_OS_TIMER -DUSE_OPENCL';

filelist={'mmc_rand_xorshift128p.c','mmc_mesh.c','mmc_raytrace.c',...
Expand Down
5 changes: 5 additions & 0 deletions src/mmc_const.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@
#ifndef _MCEXTREME_CONSTANT_H
#define _MCEXTREME_CONSTANT_H

#define MMC_VERSION "v2023"
#define MMC_VERSION_MAJOR 2
#define MMC_VERSION_MINOR 0
#define MMC_VERSION_PATCH 0

#define DET_MASK 0xFFFF0000
#define MED_MASK 0x0000FFFF

Expand Down
18 changes: 11 additions & 7 deletions src/mmc_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -2921,7 +2921,7 @@ void mcx_savedetphoton(float* ppath, void* seeds, int count, int doappend, mccon
*/

void mcx_version(mcconfig* cfg) {
MMC_ERROR(MMC_INFO, "MMC $Rev:: $v2023.01");
MMC_ERROR(MMC_INFO, "MMC $Rev:: $" MMC_VERSION);
}

/**
Expand All @@ -2931,18 +2931,22 @@ void mcx_version(mcconfig* cfg) {
*/

void mcx_printheader(mcconfig* cfg) {
MMC_FPRINTF(cfg->flog, S_YELLOW"\
MMC_FPRINTF(cfg->flog, S_YELLOW "\
###############################################################################\n\
# Mesh-based Monte Carlo (MMC) - OpenCL #\n\
# Copyright (c) 2010-2022 Qianqian Fang <q.fang at neu.edu> #\n\
# http://mcx.space/#mmc #\n\
# Copyright (c) 2010-2023 Qianqian Fang <q.fang at neu.edu> #\n\
#" S_BLUE " https://mcx.space/#mmc & https://neurojson.org/ " S_YELLOW "#\n\
# #\n\
#Computational Optics & Translational Imaging (COTI) Lab [http://fanglab.org]#\n\
# Department of Bioengineering, Northeastern University, Boston, MA, USA #\n\
# #\n\
# Research funded by NIH/NIGMS grant R01-GM114365 #\n\
###############################################################################\n\
$Rev:: $v2023.01$Date:: $ by $Author:: $\n\
# The MCX Project is funded by the NIH/NIGMS under grant R01-GM114365 #\n\
###############################################################################\n\
# Open-source codes and reusable scientific data are essential for research, #\n\
# MCX proudly developed human-readable JSON-based data formats for easy reuse,#\n\
# Please consider using JSON (" S_BLUE "https://neurojson.org/" S_YELLOW ") for your research data #\n\
###############################################################################\n\
$Rev:: $ " S_GREEN MMC_VERSION S_YELLOW " $Date:: $ by $Author:: $\n\
###############################################################################\n"S_RESET);
}

Expand Down
3 changes: 2 additions & 1 deletion src/mmclab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
#endif

#include "mex.h"
#include "mmc_const.h"
#include "mmc_mesh.h"
#include "mmc_host.h"
#ifdef USE_OPENCL
Expand Down Expand Up @@ -1162,7 +1163,7 @@ extern "C" int mmc_throw_exception(const int id, const char* msg, const char* fi
*/

void mmclab_usage() {
printf("MMCLAB v2023.01\nUsage:\n [flux,detphoton]=mmclab(cfg);\n\nPlease run 'help mmclab' for more details.\n");
printf("MMCLAB " MMC_VERSION "\nUsage:\n [flux,detphoton]=mmclab(cfg);\n\nPlease run 'help mmclab' for more details.\n");
}

/**
Expand Down
Loading

0 comments on commit 11b1c33

Please sign in to comment.