-
Notifications
You must be signed in to change notification settings - Fork 32
/
ChangeLog.txt
657 lines (616 loc) · 40.2 KB
/
ChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
Change Log
== MMC 2.2.0 (v2024.2, Nougat), Qianqian Fang <q.fang at neu.edu> ==
2024-03-14 [58aa18c] [ci] fix macos-14 test under make omp
2024-03-14 [739dbbe] [bug] only enable Plucker ray tracer if gpuid=-1
2024-03-13 [a751e79] [bug] still report total energy when issave2pt is 0
2024-03-13 [2166cc9] [ci] make mexopts file compatible with arm64 mac
2024-03-13 [ef6891c] [ci] use omp only on macos-14 as M1 does not have SSE
2024-03-13 [da6d04e] [feat] store pattern pixel index for each photon in photon sharing
2024-03-10 [237713b] [test] further testing of buit-in immc benchmarks
2024-03-09 [c4a7c91] [format] complete reformat all matlab scripts with miss_hit
2024-03-09 [674044f] [feat] add edgeimmc, nodeimmc, faceimmc benchmarks, update mmc2json
2024-03-09 [e86cd34] [feat] upgrade ubj library to the latest version
2024-03-09 [0dce38e] [bug] remove errors and warnings on Intel and AMD GPUs
2024-03-09 [efc4101] [feat] test zipped mesh in json, migrate from float3 to FLOAT3, add benchmark
2024-03-09 [cc3f362] [feat] accept MeshROI for immc in the JSON input
2024-03-08 [dd9b4d5] [bug] fix CPU host fails to save trajectory, fix GPU traj duplicate use omp atomic instead of critical in savedebugdata
2024-03-08 [b0f9cfe] [ci] fix ci error on macos
2024-03-08 [242ce05] [feat] use self-contained json input including mesh data
2024-03-07 [10edc27] [bug] fix incorrect condition to postprocess traj data
2024-03-07 [2d4e355] [doc] update documentation for v2024.2
2024-03-07 [ebefe98] [feat] return trajectories data if -D M or cfg.debuglevel contains M
2024-03-05 [10ea5ea] [bug] search 1st and 2nd nearest neighbors for edge-immc to reduce artifact
== MMC 2.0.0 (v2023, Mochi), Qianqian Fang <q.fang at neu.edu> ==
2023-09-17 [6569f48] add comments to nightly build script for deployment
2023-09-16 [c242cf7] update deploy script after reformat
2023-09-13 [d3f25c6] avoid error on old windows sdk
2023-09-13 [8a59cf0] support ASCII escape code in Windows terminals
2023-09-12 [29480d5] only build main function in mmclab for apple
2023-09-12 [86d5658] get around macos make oct error
2023-09-12 [2bada1e] remove some warnings
2023-09-12 [130570b] remove all file IO functions from mex and oct files
2023-09-11 [4ca899f] remove liboctinterp-11, the output is only compatible to octave 8
2023-09-10 [eb14b10] add fopenmp back for mex
2023-09-10 [e20d718] leave out libgomp
2023-09-10 [ee11269] try to statically link libpthread
2023-09-10 [a42553b] fix build error
2023-09-10 [75240d5] use upx compression
2023-09-10 [7264068] clean make oct output before make mex
2023-09-10 [06bcb39] test win matlab mex build
2023-09-10 [dc5ad09] debug windows matlab mex
2023-09-10 [fe21a6b] fix typo, add dll to package
2023-09-10 [a902077] test windows matlab build
2023-09-10 [c25420d] use octave 8 bundled gcc
2023-09-10 [a5203e5] try octave 8.3 for windows build
2023-09-10 [bb1aada] remove matlab gui waitbar, update README and docs
2023-09-09 [13f3760] compute Reff for every medium for normalization
2023-09-09 [1758504] fix gcc error on gcc 4.8
2023-09-09 [7426c8d] guard CMP0074 cmake policy with version
2023-09-08 [1455fbb] enable static linking with gcc with cmake
2023-09-08 [4829e35] fix mex file missing symbol error, thanks to @ShijieYan
2023-09-08 [03e36cd] support building cuda/trinity mex file
2023-09-08 [d38e7e5] add missing zmat cmake file, add mmc-trinity cuda support in cmake
2023-09-08 [74a3035] add the cmake file that was forgot to add
2023-09-08 [1f2ef63] fix incorrect unit in the figure title
2023-09-04 [6e41cfe] fix normalization bug on the exterior surface, close #82
2023-09-03 [20e4dd8] reformat comments in mmc.c with doxygen
2023-09-03 [260e6c0] update documentation
2023-09-01 [a453381] -ffile-prefix-map is only supported in gcc-8 see https://github.com/pandas-dev/pandas/issues/40997
2023-09-01 [b80e801] add apt source to install gcc-7
2023-09-01 [397b7d6] use gcc-7 to build mmc on Linux
2023-09-01 [fe125ad] renormalize dir vector after each scattering, suggested by @ShijieYan
2023-08-31 [f4fc140] update v2023 code name
2023-08-31 [1da18ff] comparing r.eid with signed integer constant, fix #77
2023-08-31 [bfcde02] add the missing maxdetphoton input field in the help info
2023-08-30 [ce80a04] update mmc2json
2023-08-30 [e6f6075] fix progress bar printing issue after makefile update
2023-08-30 [289781f] update documentation
2023-08-30 [bb187a4] allow nightly build on macos
2023-08-29 [7949825] fix ci error again
2023-08-29 [11b1c33] update zmatlib, replace zlib by miniz, update cmake, update version
2023-05-19 [01ed20b] remove ubuntu-18.04 from github action
2023-05-18 [aac1f65] remove macos-10.15 as github retires it, upgrade gcc on the mac
2023-03-27 [c84a303] make mmcraytrace able to handle surface input
2023-03-14 [4162880] fix macos error
2023-03-14 [cc126b6] try static as much as possible to link oct mex
2023-03-14 [0472818] add -static to oct mex
2023-03-14 [07438c6] try -static on octave based mmclab
2023-03-14 [64f8503] add path to libz
2023-03-14 [9d6509e] add libz.a path
2023-03-14 [b1b1e6e] use LDFLAGS
2023-03-14 [4c6f392] link libzmat
2023-03-14 [2e3894b] finally found the culprit in the Makefile, matlab-actions/setup-matlab#60
2023-03-14 [1394602] put env at the end, tlab-actions/setup-matlab#60
2023-03-14 [8ef68b2] use env to set MW_MINGW64_LOC, matlab-actions/setup-matlab#60
2023-03-14 [03274d7] add more include paths
2023-03-14 [d760692] revert back to the link mingw gcc to msys
2023-03-13 [0890cea] change msys2 package name
2023-03-13 [e55ab10] use ucrt gcc
2023-03-13 [2e961cf] install msys2 gcc
2023-03-13 [ee7b8ef] add library link
2023-03-13 [db99b15] create links
2023-03-13 [70acd74] hacking msys2 env variable not inherient issue
2023-03-13 [7780543] forcing MW_MINGW64_LOC
2023-03-13 [9248b65] try another way to define MW_MINGW64_LOC,matlab-actions/setup-matlab#60
2023-03-13 [9122715] define MW_MINGW64_LOC with pwsh syntax, matlab-actions/setup-matlab#60
2023-03-13 [0ae6352] define MW_MINGW64_LOC to make mexopts work, matlab-actions/setup-matlab#60
2023-03-13 [60d5331] debug mex compilation issue on windows, matlab-actions/setup-matlab#60
2023-03-13 [afa6f89] debug mex file on windows
2023-03-13 [b76de50] build matlab mex on windows
2023-03-13 [5458312] revert to setup-matlab@v1
2023-03-12 [aedc145] use objdump for windows to list dlls
2023-03-12 [8d6fb98] try ldd on windows again
2023-03-12 [18ad85f] disable windows setup-matlab again, matlab-actions/setup-matlab#60
2023-03-12 [c23aecc] make macos octave path more robust
2023-03-12 [a9c7cdd] use mexopt for gcc on mac
2023-03-12 [13119d5] test gcc on mac again
2023-03-12 [f1cc618] remove gcc library
2023-03-12 [f91638e] fix yaml error
2023-03-12 [0f49ccb] exclude windows for matlab build
2023-03-12 [9026ac6] add libomp header path
2023-03-12 [654ab24] set CC to clang
2023-03-11 [aaa10d7] print PATH on mac
2023-03-11 [41c58c3] let's locate and link gcc to cc
2023-03-11 [37ad5e4] add libomp for mac
2023-03-11 [b7a60b7] use gcc-10 on macOS for matlab mex
2023-03-11 [22dcb61] force mac mex to use gcc
2023-03-11 [f1bca2c] setup matlab R2020a is too slow
2023-03-11 [6eb2c1d] use setup-matlab@v2-beta
2023-03-11 [3a6719a] debug mmclab merging
2023-03-11 [780f84f] build matlab mex
2023-03-11 [9502ce1] test matlab setup
2023-03-11 [4afd98e] try links
2023-03-11 [073184c] avoid unzipping warning
2023-03-11 [1faa998] use computer arch tag for octave
2023-03-11 [4d04f44] add mmc.mex to arch specific folder
2023-03-11 [7afb2c3] move PKG_ADD to the mmclab folder
2023-03-11 [1df52df] try another way to zip mmc package
2023-03-11 [4cded48] create all-in-one octave package
2023-03-11 [1674054] remove tabs
2023-03-11 [c8ddacd] merge all actions
2023-03-11 [6c8573f] prepare to merge all
2023-03-11 [d27776c] fix windows zip missing error
2023-03-11 [ed784d5] remove tab
2023-03-11 [720b781] use switch to Linux runner to upload to server
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
2022-05-21 [2ea4414] disable astyle close-templates to allow gcc 4.9 to compile
2022-05-20 [d4eb92d] complete reformat of source code using astyle with 'make pretty'
2022-03-09 [f1df4bd] fix make omp linker error
2022-02-24 [658943b] move bc flags to opencl only
2021-10-24 [869c58e] fix #73, port mirror BC and absorption bc on exterior surface to GPU
2021-08-22 [2ed3213] update r->inroi only when doinit is false
2021-08-22 [33eb98a] manually patching PR #68 by Yaoshen because immc was broken
2021-06-18 [a31a85b] force output data format for both GPU and CPU
2021-06-07 [f15d137] explicitly casting variable to allow JIT compiler to work on certain drivers
2021-03-26 [929775e] update vessel demo script by Yaoshen to use the latest interface
2021-03-26 [c6ae4d7] fix vessel example photon leaking bug
2021-03-14 [c0537cc] support immc in the command line mode
2021-03-14 [c92be73] slightly optimize doinit flow
2021-03-14 [0b58920] remove init_face_inout, perform initial roi inclusion test for all roi types
2021-03-14 [c710105] search for all first-level neighbor faceroi, no need to manually set
2021-03-14 [fd3de3a] wrap implicit mmc to a reusable function,cut register use by 75%
2021-03-14 [d6b9966] fix f-immc stray voxel bug, remove fast_exp9, in DMMC, Lmove can be big
2021-03-13 [688f697] get rid of r->u and r->E to reduce register use
2021-03-13 [b667b82] rename isedgeroi to roitype
2021-03-13 [3c36f32] fix incorrect asborption fraction in immc demo
2021-03-13 [d675737] remove insideroi variable, because it should not change the current prop
2021-03-12 [49df21b] updating inroi and isedgeroi
2021-03-12 [c1795ed] more simplification to the overly complex immc new codes, not yet working
2021-03-12 [3087117] much simplified e-immc testing
2021-03-10 [e4fc100] trying to simplify the immc flow, not working yet
2021-03-09 [3057a0e] update the help info on faceroi face orders
2021-03-09 [2e18153] fixing f-immc demo bug, thanks Yaoshen
2021-03-05 [b14347c] immc example runs, but fimmc result is incorrect
2021-03-05 [9ac29ec] fix two bugs, now e-immc and n-immc demo works fine
2021-03-04 [087df42] revamping immc code
2021-03-03 [0be4a0f] make demo_immc_vesel a function to run in matlab2010
2021-03-03 [1e93a4f] fix n-immc bug, make demo_immc_basic.m example work
2021-03-03 [948bb9f] update documentation for v2021.2 release
2021-03-02 [735c9ee] fix typo in output variable name
2021-03-02 [2218ee4] replace 3 separate steps by a single s2m call
2021-03-02 [46183d8] remove unnecessarily duplicated functions, use iso2mesh functions
== MMC 1.9.5 (v2021.2, Moon Cake - RC1), Qianqian Fang <q.fang at neu.edu> ==
2021-02-26 [f2f7221] add MATLAB_MEX_FILE in the makefile for octave mex
2021-02-25 [baa74bb] add c++builder project file
2021-02-24 [0b83b57] fix mmclab error when running multiple GPU simulations, thanks to Dr.Konrad Schumacher
2021-02-24 [9168232] add photon sharing support in branchless-badoul ray-tracer
2021-02-24 [9ba1362] fix errors and warnings on mac os
2021-02-24 [54db37c] update nightly build script
2021-02-08 [1e09902] fix the energy leak for n-immc
2021-01-17 [db86323] Remove immc.mat
2021-01-17 [831e792] Working vessel demo
2021-01-13 [df1251a] allow SSE mmclab to output photon seeds
2021-01-10 [2e510b1] update tend to ensure that tend - tstart is multiple of tstep
2021-01-07 [3265f58] Update immc demo
2021-01-06 [9bc35fc] Add n-immc demo and data
2020-12-28*[05c5293] Add e-immc demo
2020-12-21 [47bab21] Running iMMC code
2020-12-17 [21b5b3f] Completion of ray-tracer
2020-12-14*[f07710c] Add main portion in ray-tracer
2020-12-14 [f90420e] Add compute-distance functions for iMMC
2020-12-07 [834851c] Add cfg for iMMC
2020-10-25 [1e915a6] replaydet=-1 is only supported in mcxlab, not in mmclab, remove
2020-10-08 [2bc0237] enable photon detection inside elements next to zero-labeled element
2020-10-07 [62e972b] fix the judgement condition of photon detection: distance^2 < radius -> distance^2 < radius^2
2020-09-17 [8a651d8] initialize shared memory immediately after launching to correctly save history of a new photon
== MMC 1.9 (v2020, Moon Cake - beta), Qianqian Fang <q.fang at neu.edu> ==
2020-08-29 [e278aa0] remove warning
2020-08-30 [cad8eec] allow building zmat on windows
2020-08-29 [9bf4fab] update deploy script
2020-08-29 [1164051] use mingw32-make on windows for travis-ci
2020-08-29 [9e5e5dc] make code c99 compatible
2020-08-27 [fc47461] patch cuda to add saving seeds and replay
2020-08-27 [e071842] fix one memory error via valgrind
2020-08-27 [1ef475a] debugged and partially fixed replay
2020-08-25 [554fea8] fix comparison typo
2020-08-25 [1b48e15] fix mmclab errors
2020-08-25 [6d0b769] add save photon seeds and replay support
2020-08-24 [93583a5] massive update to documentation, prepare for 1.9 release
2020-08-15 [646b41b] remove warnings due to cl target version
2020-08-12 [d34cf3c] enable fully constant expansion at run time via macros
2020-08-09*[255727e] add zmat, ubj and jnifti support
2020-08-09*[874c5bf] support multiple NVIDIA GPUs, patch from fangq/mcxcl@c1e3ebb
2020-07-25 [41d4aef] Update README.md
2020-07-24 [f9dd4dd] add markdown version of README, add travis badge
2020-07-24 [3cbccd1] fix oct for travis linux
2020-07-24 [b532d76] use MSYS for travis windows
2020-07-22*[214fc47] add travis ci script
2020-06-28 [a3c98c5] use the new gitfilter format
2020-04-18 [867b2b9] test gpu pointer to avoid error
2020-04-11 [46e1fbe] wrapping opencl api with return value tests, fix a few small memory leaks
2020-04-08 [cb30b31] fix beam focusing issue reported by Luka Rogelj
2020-04-06 [123dc0d] remove mingw64 compilation warnings
2020-04-06 [e65c3a3] define function pointer to update progressbar
2020-04-06 [f3c3b56] fix error when cfg.gpuid is a string
2020-04-05 [e9e04a7] update function name in help info
2020-04-05 [1abe23d] make creating octave mex file work again
2020-04-04 [c6c5d55] prevent ioctl linking with mingw64 gcc compiler
2020-04-03 [c986ab7] use more portable output handle
2020-04-03 [66b8f4f] flush octave compilation command
2020-04-03 [5d3df36] replace %I64u by %zu
2020-04-03 [c20ed88] compile on windows
2020-04-03 [50fbcc7] remove all matlab mex compilation warnings on windows, add installation instruction
2020-04-02 [c8884a4] remove all warnings raised by gcc 8 and 9.3
2020-04-02 [d7becea] add mingw64 mexopts xml file for matlab r2014 or newer
2020-04-02 [085420c] need to select both c and c++ compiler
2020-04-02 [9e8918d] add CL header for better portability
2020-04-02 [8f90d58] add missing header files from mingw64 compiler on windows
2020-04-02 [72f6ded] test buildmmc script on linux
2020-04-02*[387e3ba] add matlab script to build mmclab mex file
2020-03-31 [c01b6ae] test on msys2 gcc compiler
2020-03-30 [92b19e3] switch windows building environment to msys2
2020-03-29 [48e397f] make byte alignment compatible with MS VS
2020-03-25 [a2948be] force updating elemprop if elem contains more than 4 columns
2020-03-25 [18fb6fc] prevent mmclab from crashing if the source is not enclosed
2020-03-25 [d6de33e] use cfg.steps to specify voxel size in DMMC mode, instead of unitinmm
2020-03-25 [7e04588] allow users to set cfg.maxdetphoton in mmclab
2020-03-03*[99312c3] fix wrong ray-tracer problem when compile with omp, finish fedora packaging
2020-02-26 [d4608f4] fix gpuid=-1 does not work bug in mmclab
2020-02-25 [acef8db] update onecube filtering command, fix #51
2020-02-20 [36c4f5f] remove mexsse and octsse, add mexomp and octomp targets
2020-02-20 [8527d82] allow make omp to work again, but currently results are not correct, do not use
2020-02-05 [dbea367] fix all warnings for gcc 7
2020-02-05 [a5ac4a9] update cjson to the latest git version
2019-11-19 [75a4844] use detp.prop and detp.unitinmm if present, similar to mcx #83
2019-11-19 [a89457a] fix time/weight scaling, see mcx bug #83
2019-11-05 [a10b743] revert the previous change, use a more robust condition to find ppath
2019-11-05 [3c3ab43] remove the unneeded condition when converting ppath in loadmch.m, fix mcx bug #82
2019-10-29 [4d7d94f] partially update documentation
2019-10-29 [a9c4732] rename mmcl executable to mmc
2019-10-29*[0c3f19f] Merge branch 'mmcl' to 'master', now mmcl is official!
2019-10-27 [206bedf] fix skinvessel example
2019-10-18 [a3823b8] add the missing -d 1 flag
2019-10-14 [4940761] fix end-of-line markers
2019-10-14 [2139721] fix example file permissions and end-of-line markers
2019-10-12 [373459a] remove commented lines
2019-10-12 [e321340] add initial element search for wide-field sources; update mmcl examples
2019-10-11 [8e6f561] bug fixing; update mmclab examples
2019-10-11*[1a8e81f] bug fixing; add support of surface diffuse reflectance for mmcl
2019-10-07 [3262326] resolve some compiling issues,e.g. missing argument in functions; missing fields in data struct
2019-10-07 [261fe69] manually resolve merge conflicts
2019-09-09 [9a2ad2a] download colin27 mesh from github instead
2019-08-31 [7e8ad7a] fix .mch file header due to wrong history data structure
2019-08-24 [4dc1228] fix memory crash due to wrong output data length for plucker, havel & badouel ray-tracer when basisorder is 0
2019-08-20 [ca4d675] allow photons that exit into 0-label elements to be detected
2019-08-20 [26477c7] add gpu parameter specifier to make RGA happy
2019-07-26*[9e800e0] fix output detected photon information for SSE-MMCL and GPU-MMCL
2019-07-25 [a3b7714] fix maximum time gate rounding bug
2019-07-24 [eb109e0] return detected photon info in mmclabcl,print progress bar
2019-07-18 [7995941] compile on new mac
2019-07-18 [9f50a7f] hacky workaround to avoid convert_float error for -1 returned by vectorized isgreater on Intel GPU
2019-07-16 [ef0ef3f] use mmclab('gpuinfo') to query gpu devices
2019-07-16 [a45f5a1] undo the revert
2019-07-16 [cfe52b4] fix rng bug on mac
2019-07-16 [72ce3a2] fix RNG error for SSE MMC on windows - long is 32bit on windows
2019-07-16 [c242112] long is only 32bit on windows, fix incorrect mmc results
2019-07-15 [c8c1cb9] Merge branch 'master' into mmcx
2019-07-12 [04565c2] compile for mac with static gcc and gomp
2019-07-12 [afcfda1] mac opencl does not accept more than 8 constant inputs
2019-07-12 [57880f1] allow to compile on windows
2019-07-12 [1e5455d] changes to compile on mac
2019-07-12 [3621fc9] make mmcl compile on mac
2019-07-12 [167ec74] output oct file with correct name
2019-07-12 [95f65bf] disable dref demo as mmcl has not fully merged with master
2019-07-08 [9e622d5] fix index issue for branchless ray-tracer 0-basisorder
2019-07-05 [23f1159] merge with master
2019-07-04 [a78760b] fix normalization indexing bug
2019-07-03 [522e21b] add matlab scripts to create plots for the paper, paper ready to submit
2019-07-02 [7779235] change line color
2019-07-02 [9fc9d0a] revert the mua change made yesterday for dmmc, thanks to Shijie
2019-07-01 [5f58a5f] update benchmark 4, correct alignment in benchmark 1
2019-07-01 [d3ebb41] change prefix in mmclab printing
2019-07-01 [a36c408] update run benchmark script
2019-07-01 [e1e567f] update mmcl bench mmclab script
2019-07-01 [f5aeac9] add benchmark scripts for mmcl
2019-07-01 [c1ec5f1] group 1/mua to normalization
2019-06-30 [5a29aa0] fix double summation and oldidx bug in method=elem
2019-06-30*[4d9013f] mmclabcl is working
2019-06-29 [acba8db] save nii for non-grid ray-tracers
2019-06-29 [fe9c83d] add b2 run_mmc script
2019-06-29 [727e89d] change b2 mesh
2019-06-28 [e537021] further update benchmark script
2019-06-28*[5b7e840] benchmark script to run on different host
2019-06-28 [3fb9a9c] fix param priority from command line
2019-06-28 [5325e53] fix cl build error
2019-06-28 [4fd89e3] make dual-mode mmc again, remove unneeded registers
2019-06-28 [ad13d2a] revert code back to 03/28 version
2019-06-28 [fba4b95] update benchmark script
2019-06-27 [420c0d4] b3 test script
2019-06-27 [d2f193f] update script
2019-06-27 [8b7e3ff] save output to bin
2019-06-27 [827b30d] add mmcl benchmark master script
2019-06-27 [d87e999] reduce colin27 photon
2019-06-27 [7f1e3ee] add spherical_shell demo
2019-06-27 [b971de3] add DMMC paper figure 1 mmclab demo script
2019-06-27 [f1876ba] add dmmc example mesh file
2019-06-27 [422a9da] add skinvessel mmc and dmmc example
2019-06-27 [02f208a] add mmc2json script to convert mmclab cfg to json
2019-06-27 [f0ff69b] fix the ray-tracer after dref related changes in the master branch
2019-06-26 [454de4f] update code variant name
2019-06-26*[d81fd9a] dualmode mmc - support both SSE4+cpu (-G -1) and CPU, rename to mmcl
2019-06-26 [4c65a21] merge with the latest master branch
2019-06-26 [90d0d20] fix outputtype=fluence and wp output, fix #36
2019-06-26 [45d3711] make mmc functions compatible with mcx output
2019-05-24 [0494f23] 2nd attempt to fix the reflection when mirror bc is used
2019-05-24 [a7ac195] allow internal reflections when mirror bc is set
2019-05-16*[24e2bb0] use isreflect=2 for total absorption on outer surf, 3 for perfect mirror
2019-04-30 [a2dda44] allow point sources to use initial elements
2019-04-30 [cbdcb1e] avoid initial elem search in cone/arcsine source launch
2019-04-24 [caa0a65] fix output format in both dmmc and mmc mode
2019-04-24 [cb93d6c] remove mac compilation error
2019-04-22 [565ad68] fix bugs and finally get diffuse reflectance output to work
2019-04-21 [5b79f08] save diffuse reflectance on surface
2019-04-21 [44d1865] copy initial test from plucker to other 3 ray tracers
2019-04-21 [ed8dbdd] saving dref on surface, support saveref option, feature incomplete
2019-04-17 [f3623ff] minor update to function parameter type
2019-04-16 [492aa3e] restore the capability to save mch files
2019-04-02 [6407e74] update loadmch to support user defined output
2019-03-28 [5312319] use DO_NOT_SAVE flag to remove memory operations
2019-03-26 [22fe07f] remove unused variables
2019-03-26 [eeccd6d] fix a bug found by Shijie
2019-03-25 [fb51a41] fix the missing energy loss for the first step in new voxel
2019-03-24 [78622ef] merge with master from github
2019-03-24 [2508642] first step to make mmc cl kernel cuda compatible
2019-03-23 [0e0f96f] fix bug in writing compression
2019-03-23 [752753d] use atomic call to return raytet counts
2019-03-23 [3676918] disable buffer fanning in the kernel
2019-03-23 [3f52cb2] only write to memory when moving out of a voxel
2019-03-23 [370e91d] use macro to dynamically select dmmc vs elem-mmc
2019-03-21 [0b647e7] fix export data length
2019-03-21 [109910e] use a better random number to distribute the writing location
2019-03-21 [1b9d645] use --buffer to set copy of memory to reduce racing
2019-03-21 [2f2aec3] matching the branchless badouel algorithm in mmc, thanks to Shijie
2019-03-21 [0477ade] avoid mac compiler error
2019-03-21 [9f5eaf9] fix a critical bug for dmmc ray-tracer
2019-03-21 [c6c0721] disable volume saving if --save2pt is set to 0
2019-03-21 [bc67cc8] fix incorrect results on AMD devices
2019-03-21 [4ec96ed] update printed program name
2019-03-20 [5dd80a1] no need to convert char lookup in string
2019-03-20 [cfaf43b] merge with mmc v2019.3 master branch
2019-03-20 [4efb7b7] fix OpenCL-precision-induced ray-tracing accuracy issue in Branchless-badouel ray-tracer
2019-03-05 [ae6de41] update change log and README for v2019.3 release
2019-03-05 [10f72ea] support mc2 and nii output for DMMC
2019-03-04 [f403303] disable linking with iomp5 to avoid crash in older matlab
2019-03-01 [996f765] add USC 19.5 atlas example, Fig9a in TranYan2019(submitted)
2019-02-11 [8acc8d7] really reduce register count, fix DMMC output crash
2019-02-10*[61ef773] fix dmmc, 5x speed increase from normal mmc
2019-02-10 [2417416] fix infinite loop, thanks Shijie!
2019-02-10 [5ef4499] return total ray-tet intersection counts
2019-02-09 [7fab7dd] moving node,elem,type,facenb,normal,srcelem to constant mem
2019-02-09 [ec0e183] optimized based on vtune profiling on intel cpu
2019-02-09 [84e87e4] add xorshift128+ RNG, seed each thread by host RNG
2019-02-06 [fe76503] convert output weight to double
2019-01-31*[5c571cf] now can run on cuda and cpu
2019-01-30 [29ae3e1] need debugging, but very close to bug free for the ray-tracing
2019-01-27 [75fbcde] mmcx now can compile, no error
2019-01-18 [53fda23] fix mmclab crash due to racing in multi-thread, similar to mcx issue #60
2019-01-17 [2f61bfe] a very rough draft of the cl kernel, converted ray-tracer from SIMD to float3
2019-01-14*[43aae8f] sync internal mmcx branch with master, mmcx branch was started in 2018
== MMC 1.4.8-2 (v2019.4, Pork Rinds - beta, update 2), Qianqian Fang <q.fang at neu.edu> ==
2019-04-24 [8270b96] fix #35 - incorect mch file header in photon-sharing implementation
2019-04-22*[6736244] saving dref on surface, support saveref option, add help info and demo
2019-04-16 [492aa3e] restore the capability to save mch files
2019-03-23 [87babe7] dmmc save data only when moving out of a voxel
2019-03-23 [44bd1a5] adding mesh file for dmmc validation example
2019-03-23 [a48cf39] fix the extra char in the shortopt list
== MMC 1.4.8-1 (v2019.3-1, Pork Rinds - beta, update 1), Qianqian Fang <q.fang at neu.edu> ==
2019-03-21*[e57fad3] fix branchless-badouel ray-tracer and dmmc bug, need to make a new release
2019-03-20 [283c3c0] use 64bit integer for total photon number
2019-03-20 [a5680bd] add the missing prop file for dmmc in examples/validation
2019-03-20 [704ca4a] fix empty string test
== MMC 1.4.8 (v2019.3, Pork Rinds - beta), Qianqian Fang <q.fang at neu.edu> ==
2019-03-05 [10f72ea] support mc2 and nii output for DMMC
2019-03-04 [dbd3617] fix wrong usage of free() on pointer returned by mxGetPr
2019-03-04 [f403303] disable linking with iomp5 to avoid crash in older matlab
2019-03-03 [389d852] add color to command line output, cmd options high priority
2019-03-01*[996f765] add USC 19.5 atlas example, Fig9a in TranYan2019(submitted)
2019-02-09 [84e87e4] add xorshift128+ RNG, seed each thread by host RNG
2019-01-18 [53fda23] fix mmclab crash due to racing in multi-thread, similar to mcx issue #60
2018-11-21*[6c67651] add mcxyz skinvessel benchmark
2018-10-29*[d0d0cbe] add photon sharing example for mmclab
2018-10-21 [6b42e92] add example (validated) for photon sharing
2018-09-07 [2b28159] fix a bug for doubling thread number every call to mmc, thanks to Shijie
2018-09-01*[0eaf31b] add nightly build script for mmc deployment
2018-08-27 [cab6ca6] support clang
2018-08-26*[71df635] add initial webassembly support for web-based mmc
2018-08-19 [feab0bd] link mmclab on windows
== MMC 1.0-Final (v2018, Sachima), Qianqian Fang <q.fang at neu.edu> ==
2018-08-14 [25b323c] fixed discrepancy between DMMC and MCX along the boundary
2018-08-13*[2cfd54a] force matlab to use multi-threading with mmc
2018-07-16 [45c5b72] fix branchless_badouel_raytet: bary.x of -Inf value
2018-05-13 [f5f0379] process mcx generated detp output without w0
2018-04-24 [8241b0d] correct typo in array index
2018-01-29 [e4c33fb] use mcxpreview in mcxlab to preview the domain
2018-01-27 [2ee97d7] restructure folders, update documents
2018-01-14*[53eb374] make mesh elem and facenb flexible to support complex elements in the future
2018-01-13*[ecd9b80] add detailed doxygen documentation
2017-12-08 [50d7770] atomic condition fixed for havel element basis
2017-11-24 [62714c5] fix normalization, validation of dmmc
2017-11-15 [96c4eda] convert energy deposit to fluence
2017-11-13*[8e2f5ea] add dualmesh mode in mmclab
2017-11-13 [3a25295] use unitinmm to set voxel length,fix normalization,fix weight deposit
2017-11-09 [f9e9b93] define dedicated cfg->e0, allocate weight for grid output
2017-11-09 [c528baf] initial update to support hybrid mesh-grid MC
2017-10-30 [a63c19a] fix bug in getdetimage
2017-10-05 [0b5e2a8] enable wp for plucker mode, remove save_scatter_events (a function no longer needed)
2017-10-05 [af83f00] minor modification for mmclab, when there's not issaveexit field in cfg
2017-09-14 [e1de1ff] modified replay examples for testing wp and wl performance
2017-09-14*[a75528b] merge wide_det branch to support wide-field detector array output
2017-09-14 [07b33f3] make mmclab compatible with older version of MATLAB
2017-09-14 [70a308d] validated wide-field replay under "wL" mode, added an example
2017-09-08*[db8ebf9] replay for detection pattern (binary), need to validate and add example
2017-09-08 [ad76c08] suppress message of "specifying pattern file" when using input file
2017-09-08 [9d71d01] manipulate replay photon weight for pattern illumination (sync with master)
2017-09-07 [1061ab6] fix the wide_det issue for mmclab (caused by wrong maxmedia value), polish demo_wide_det
2017-09-05 [373bbb1] do not split subfields when no photon is detected
2017-09-01 [ebf0bca] add wide_det example for mmclab, still has a memory issue
2017-09-01 [a574da7] change some int to size_t for Matlab2017a
2017-09-01 [20ceaf4] modified mmclab.m for outputing detimages, mmclab issue not fixed
2017-08-31 [ffe7abe] fix size_t to int conversion issue, enable wide_det for mmclab, to be tested
2017-08-31 [1e86fdb] put calculation and saving of detimage into two functions, issues with mmclab
2017-08-31 [b0c620d] manipulate replay photon weight for pattern illumination
2017-08-16*[3a2e634] Output accumulated photon weight as time-resolved 2D images with an example attached
2017-07-15*[567d9ee] fix mmclab for octave crash due to an octave bug #48678
== MMC 1.0-RC3 (v2017.7, Haw Flakes-Update 1) RC release, Qianqian Fang <q.fang at neu.edu> ==
2017-07-03 [dd50986] fix rootpath handling, move MeshID and InitElem to Domain section
2017-07-02 [d315be8] fix basisorder verbose flag,fix terminal width initial value
2017-06-20 [0fb129d] support rotation angle in expanded src domain
2017-06-20 [04485b3] add --debugphoton flag to print debug info for selected photon ID
2017-06-06 [c076f68] add flag --atomic to select use or not use atomic operations
2017-06-06 [a797230] support older version of MATLAB
2017-05-30 [74be9ef] support mcx detpt and old mmc output format
2017-05-27 [10c8a27] avoid static TLS error in matlab by linking with libiomp5 instead of libgomp
2017-04-01 [588bd00] update replay testing statement
2017-03-31 [20b2906] add musmap for nodal based Jacobian (validated for homo media)
2017-03-30 [d646b4f] avoid launching 0-energy photons, improved upon c4a87df
== MMC 1.0-RC2 (v2017.3, Haw Flakes) RC release, Qianqian Fang <q.fang at neu.edu> ==
2017-03-30 [26fd658] fix a bug when replaying photons from multiple detectors
2017-03-30 [c4a87df] avoid launching photons with 0 weight (for pattern with 0 values)
2017-03-30 [c2e0e3c] function for calculating tpsf curve with detp data
2017-03-04 [1eaed5f] flush printing message in mmclab
2017-01-15 [b9b98c2] fix a bug that prevent external detector from detecting photons
2016-11-05 [0d988d8] including mexopts file for compiling mmclab on windows
2016-08-29 [f8101f6] resize mesh->med before use for widefield det
2016-08-29 [1f6451f] make mmclab support widefield detectors
2016-08-01 [d935226] implement time-dependent Jacobian under "replay" mode
2016-07-24 [d11dde5] add MCML like MC for validation and replay
2016-07-03 [b767e87] modular mmc main function, better interface with other programs
2016-06-08 [2458363] autobuild support for windows
== MMC 1.0-RC1 (v2016.5, Hot Cocoa) RC release, Qianqian Fang <q.fang at neu.edu> ==
2016-06-01 output partial path, scattering count, exit position/dir as subfield in 2nd output of mmclab
2016-05-31 remove double correction of length unit in mmc and mmclab
2016-05-25 elegantly terminate mmclab when exception is shown, print error unit and line numbers
2016-05-09 add widefield gaussian source support
2016-04-15 use mu_t for replay calculations for scattering Jacobian
2016-04-10 save scattering events number for each media type
2016-04-10 fix the bug in havel ray tracer, enable saving weighted scattering events number
2016-03-10 fix bug in weight calculations when the output is jacobian
2016-03-10 fix bug in basisorder for Havel raytracer
== MMC 1.0-beta (v2016.1, Cotton Candy) beta release, Qianqian Fang <q.fang at neu.edu> ==
2016/01/01 release 1.0-beta, also label as v2016.1 for time-based release strategy
2015/12/31 fix crash caused by round-off errors in Havel SSE4 ray-tracer
2015/12/25 replace drand48_r by erand48 for POSIX compliance
2015/12/24 make sse target by default for mmc and mmclab
2015/12/23 debugged replay demo script in mmclab, plot the sensitivity profile
2015/12/20 update cJSON library to the latest version
2015/12/16 add SFDI simulation examples and demo script
2015/11/10 use Kahan sum for total weight accummulation to avoid incorrect normalization
2015/09/13 support converting and diverging beams in all area-sources
2015/08/06 add script to systematically compare MMC and MCX
2015/08/05 automatic retessellation when a wide-field source is specified
2015/08/05 add wide-field source support in MMCLAB
2015/07/18 fix vector normalization bug when reflection is enabled
2015/07/17 fix floating-point round-off bug by using a proper epsilon value
2015/04/24 fix crash due to the round-off of photon timer near tend
2015/04/21 report wide-field overhead in all ray-tracers
2015/04/21 add wide-field detection support
2015/04/11 allow to specify endianness when loading mch files
2015/02/06 initial implementation of mesh-retessellation based MMC for wide-field simulations
2014/06/05 add Colin27 brain atlas example
== MMC 0.9.5 (Wasabi Peas) stable release, Qianqian Fang <q.fang at neu.edu> ==
2013/12/22 WebMMC skeleton uploaded, allowing MMC to run inside a web browser
2013/12/20 output static or dynamic libraries (libmmc.a/libmmc.so)
2013/10/22 fix isotropic source bug
2013/06/26 (experimental) output absorption Jacobian pattern in the replay mode
2013/03/03 saving photon exit pos and direction with the "-x" flag
2013/03/02 photon replay with a pre-recorded seed for perturbation MC
2012/08/17 add MMCLAB examples
2012/08/16 initial ray-tracing in MMCLAB if source is not inside the mesh
2012/08/03 allow detector individual radius
2012/07/19 (experimental) add MMCLAB - a matlab interface
2012/02/02 support binary output format with -F flag
2012/01/25 support isotropic source, reading source types from JSON input
== MMC 0.9.0 (Banana Pudding) stable release, Qianqian Fang <q.fang at neu.edu> ==
2011/12/19 final release of 0.9.0
2011/12/19 fix a critical bug in the Havel ray-tracer, all SSE4 binaries are effected
2011/12/15 make nphoton unsigned int, maximum photon number is 2^32-1
2011/11/02 print unit and line number during error handling
2011/11/01 accept JSON-formatted input files
2011/10/14 Stefan Carp contributed a patch and validation package for DCS simulations
2011/10/12 fix a bug in writing mch file under Windows
2011/08/24 fix an SFMT bug when initializing RNG seeds in multiple parallel threads
== MMC 0.8.0 (Snow Cone) stable release, Qianqian Fang <q.fang at neu.edu> ==
2011/06/17 final release of 0.8.0
2011/04/23 sync private dev branch to trunk, publish v0.8.pre in the SVN
2011/04/19 the second paper regarding MMC published on Biomed. Opt. Exp. 2(5):1258–1264
2011/03/17 fix a critical bug in sphdiffusionslab.m
2011/02/25 use atomic for weight accumulation and double precision weight array
2011/02/20 can output fluence and energy deposit with the -O option
2011/02/18 supported recording photon partial path lengths
2011/02/17 supported specular reflection, match results from other simulators
2011/02/11 basic support of source types, set seed from command line
2011/01/12 select ray-tracing method from command line
2011/01/11 added sse math support, gain about 10% speed-up
2011/01/11 simplified Plucker method with initial barycentric coordinates
2011/01/09 used initial barycentric coordinates for Havel/Plucker methods
2011/01/05 added branchless Badouel with SSE, improves speed by 13%
2010/12/21 added support for Badouel's method
2010/12/20 merged with mmc 0.4.0 public svn
2010/11/17 Havel's SSE4 ray-tracing algorithm worked
2010/11/14 branch mmc source code for SSE implementation
== MMC 0.4.0 (Pecan Pie) stable release, Qianqian Fang <q.fang at neu.edu> ==
2010/12/14 tested on Windows using MinGW 20101030 with gcc 4.5 and LibGW32C, add documentation
2010/12/13 fixed negative time difference by promoting time counter from int to long
2010/12/13 fixed diminishing absorption fraction by using a double accumulator
2010/12/12 added initial support for SFMT RNG, speed and accuracy need further optimization
2010/12/11 included RNG C units in the main code to enable static inlining
2010/12/04 initial doxygen support for automatic documentation
2010/12/04 support llvm-gcc, icc and tcc via "make target CC=compiler"
2010/12/03 speed up gcc-compiled binary by 2x with fast exponential
2010/11/30 fix normalization using the correct time unit
2010/08/29 initial Windows support using MinGW and Libgw32c
== MMC 0.2 (Cheese Cake) stable release, Qianqian Fang <q.fang at neu.edu> ==
2010/08/29 first public release of MMC - v0.2
2010/08/28 update examples to use iso2mesh 1.0 and MCX 0.4.9 options, remove unused input file format
2010/07/25 release Collins adult brain atlas FEM mesh version 1
2010/07/25 add help text for all matlab/octave functions, release Sphere-Diffusion toolbox v1
2010/07/16 add README files for all examples
2010/07/15 paper published http://www.opticsinfobase.org/boe/abstract.cfm?uri=boe-1-1-165
2010/07/15 update license to GPL v3, mmc is officially open-source
2010/07/04 paper accepeted, update website at http://mcx.sf.net/mmc/
2010/06/23 used meaningful strings as debug flags, added "P" flag for progress bar
2010/06/23 made it possible to model transparent medium
2010/06/21 Russian Roulette to terminate photon
2010/06/20 added boundary reflection at internal or external surfaces
2010/06/07 paper submitted, wait ... wait ... wait ...
2010/06/04 finished paper, added timing unit from mcxcl project, added MMCDEBUG macro
2010/06/03 generated complex mesh from a brain atlas, run simulation and make figures
2010/05/30 announced sphere-diffusion toolbox, tested for Windows, compatible with Octave
2010/05/27 fixed a regression (once fixed in rev161), results are good, regenerated figures
2010/05/26 added scripts for analytical solutions for sphere in infinite-slab geometry
2010/05/25 added scripts for analytical solutions for sphere in semi-infinite medium
2010/05/23 used simple fluence addition approach by default, add MINSTEP_ADDITION macro
2010/05/22 reduced roundoff-error by explicit counting energy loss
2010/05/20 added README document
2010/05/20 added functions to compute the analytical solution of a sphere inside infinite medium
2010/05/19 used elem-volume, update tests, twig parameters
2010/05/19 used MCX approach for fluence accumulation, debugged normalization, tested with benchmarks
2010/05/13 updated POSIX MT RNG to the 48bit version (drand48_r)
2010/05/10 added POSIX MT and logistic RNGs, use MCX interface, improved OpenMP efficiency
2010/05/09 debugged meshtest case, flexible mesh generation using improved iso2mesh toolbox
2010/05/07 isolated photon simulation commands into a function
2010/05/07 created sortmesh.m in iso2mesh to increase memory consistency and reduce cache miss
2010/05/06 added meshreorient.m in iso2mesh to ensure the correct tetrahedron node orientation
2010/05/05 added validation and mesh test cases
2010/05/04 added matlab utilities for mesh generation and result processing
2010/05/01 fluence normalization and SSE4 support
2010/04/22 added support for time-resolved imaging, use node voronoi-volume to normalize
2010/04/21 major code cleaning up, bug fixes for scattering handling
2010/04/18 update weight-recording scheme, only save the absorbed energy, need revisit
2010/01/01 used gprof to optimize,add debuglevel,add weight middle pt at pin and pout
2009/12/30 added examples: sphere-box, port mcx_utils from MCX (mcx.sf.net)
2009/12/30 supported scattering based on mus, and accumulate packet weight
2009/12/29 initial upload to SVN
2009/12/28 completed mesh classes, tested with mouse-head-CT dataset
2009/08/07 ray-tracing of randomly scattered particles and added Makefile
2009/07/31 initial version supporting Plucker-coordinate-based ray-tracing