= Change Log = Major updates are marked with a "*" == MCX v2020 (Furious Fermion - 1.8), FangQ == 2020-08-29*[6eb9596] add mcxcreate.m, add mcxplotshapes.m to render json shapes 2020-08-27 [63e5a5f] handle det radii less than or equal to 0.5, fix #101 2020-08-24 [6f11857] add command line option cheatsheet 2020-08-24 [cea663b] test cmake in travis 2020-08-24 [782b4a3] massive update of documentation 2020-08-20 [e8e6b58] print an explicit messgae if error 30 is found 2020-08-19*[883f61b] restore windows progress bar support, disabled in @ae2d60e45 2020-08-17 [c47de01] allow running testing script on machines without nvidia gpu 2020-08-16 [0c25958] add more tests for various mcx options 2020-08-16 [ff2f68f] add sphshell benchmark - see GPU MMC paper 2020-08-15 [2afab4a] test if media prop count is less than max label 2020-08-15 [2d71eb7] accept array as Domain.Media json input 2020-08-15*[433df1f] accept json modifier via --json for easy testing 2020-08-14 [09adbd0] support --bc or cfg.bc to set an entire bounding face as detector 2020-08-11*[e095dbb] speed up by 1.6x on 1080Ti by restoring source template for pencil beam only 2020-08-11 [a220cc2] autoblock size no less than 64, speed up on Turing GPU by doubling threads 2020-08-04 [71d4196] fix incorrect detpt column when savedetflag/issaveexit are both set 2020-08-04 [20c596a] retrieve energy tot and abs regardless of isnormalized 2020-08-03*[30e01a1] add standalone script to submit to mcx speed contest 2020-07-31 [d9a5953] avoid autoblock is 0 when driver fails, close #99 2020-07-28 [daa9d56] fix inaccurate core count on Volta, Turing and Pascal 2020-07-25 [37793ae] fix -b 0 -B rrrrrr crash, thanks to @ShijieYan 2020-07-22*[f844fe8] add automated building script via travis-ci 2020-07-22*[cbf0225] add unit testing script 2020-07-09 [5b038a7] add winget manifest 2020-07-04*[4bda593] inno windows installer 2020-07-02 [38529a7] accept -f in mcxshow and mcxviewer 2020-07-02 [34ecf5f] add glscene directly to the source code 2020-07-01*[f1828d3] add manpage for mcx 2020-06-29 [cd4acb8] visual studio project file updated 2020-06-29 [b22025d] update vs project file 2020-06-28 [71bedc5] add benchmark options, add jnii/bnii output formats 2020-05-02 [e7ce8f7] compiles lzma on windows, #94 2020-05-02*[e56fa2b] add UBJ support, output .bnii files, close #95 2020-05-01 [ed80ad5] now support lzma and lzip compression 2020-05-01 [f136bc9] upgrade all built-in binary files to JData formatted JSON files #94 2020-04-29 [0d9c162] save detected photon data in JSON/JData format, close #94 2020-04-25 [045a3de] update json schema 2020-04-25 [e8aae66] initialize gsrcpattern 2020-04-23*[8086175] add built-in colini27 data,add --dumpjson, add -F jnii output format 2020-04-19*[da73b8d] add mcx built in benchmarks 2020-03-21*[b8fb79a] plot data in x/y/z slices,add axis labels and grid 2020-03-20 [d7e6203] add axis lable and scaling to volume viewer 2020-03-14*[b91dc5a] update mcxstudio gui to support gpu mmc 2020-02-18*[8c37911] adding pymcx written by Maxime Baillot as submodule 2020-02-08 [ba78df5] add template to disable continuous medium support, close #89 2020-01-28 [b7c1982] speed up cone beam photon launch, fix accuracy, close #86 2020-01-25*[984b2a0] initial support for hybrid optical properties: tissue type label combined with continous optical properties 2019-11-19 [1c07b16] scale partial-path when getting det photon time and weight, close #83 2019-08-08 [0bdbef6] allow to browse file folder on windows 2019-07-26*[8a341ee] update mcxstudio to add the new flags 2019-07-23 [e3b53dc] add 2d sample script 2019-07-22*[c4baa84] output fluence/flux in replay, backport changes from mcxcl 2019-05-24 [02efc62] bug fix for continuous varying media patch == MCX v2019.10 (Ether Dome RC2 - 1.5.0), FangQ == 2019-10-27 [a743b47] resolve compiler complaint: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] 2019-09-06 [f9ad72b] fix the incorrect short opt flag for savedetflag 2019-08-21 [d9d5238] allow one to overwrite SaveDataMask from command line 2019-08-18 [6023d51] debugged builtin ssh 2019-08-17 [7f98c48] mcxstudio builtin ssh update 2019-08-15 [cec9ecf] add missing windows unit 2019-08-15 [1a84b9e] add runssh in a thread 2019-08-15 [8cb29c4] add run external command in a thread 2019-08-15 [997f986]*builtin ssh using synapse 2019-08-15 [1482b0a]*use new template to speed up with specialization 2019-08-08 [0bdbef6] allow to browse file folder on windows 2019-08-03 [e34f9c5] change remote folder path separator 2019-08-03 [1cab6ce] disable event 2019-08-02 [f4ab7cf] minor gui updates 2019-08-02 [e2efbf7] query gpu button status correction 2019-08-02 [6520c4c] enlarge output window, more plotting scripts, fix outputformat default value 2019-08-02 [3784d0a]*fix missing dosaveref field, swap incorrect short flag 2019-08-01 [7ec73b7] make settings scrollable, tested remote execution on windows 2019-08-01 [3bc5994] fix incorrect BC order 2019-08-01 [87d0261] add user input to use ssh 2019-07-30 [e3c0b58] make viewer window on top 2019-07-30 [3cd64f1] show preview window on top 2019-07-30 [8c902c9] print for debug 2019-07-30 [74be22c] allow to load old project files 2019-07-30 [3af9a1c]*fix a few mac bugs 2019-07-29 [adb194d] fix rendering dimensions 2019-07-29 [5fbe79f] print matlab commands for plotting 2019-07-29 [0158d4d] rename macro from exe to app 2019-07-29 [3e800c6] add a window to stop simulation 2019-07-29 [973e83a] use DelimitedText for json storage 2019-07-28 [a760432] enable manual path settings 2019-07-28 [5c71f34] minor polishing of the gui 2019-07-27 [39e54fb] change color 2019-07-27 [cb747d3] minor update from windows 2019-07-27 [99e697a] add config unit 2019-07-27 [55a6b8c] add windows unit to compile 2019-07-26 [8a341ee]*update mcxstudio to add the new flags 2019-07-26 [f3a3345]*do not print progress bar by default, still causing hanging on certain gpu 2019-07-25 [74414b3] print progress bar by default 2019-07-25 [289b40b] update demo script to use the new detphoton format 2019-07-25 [334d0a2]*accept struct-based detphotons input, #76 2019-07-25 [5f1d965] print normalization factor in single-det replay for debugging, #76 2019-07-25 [0142557]*allow to run replay without giving the 2nd output, #76 2019-07-24 [337c54e] fix wrong pattern number index for single pattern illumination 2019-07-23 [e3b53dc]*add 2d sample script 2019-07-22 [c4baa84] output fluence/flux in replay, backport changes from mcxcl 2019-07-15 [80357fc] remove volumetric mua input in the basic example 2019-06-25 [4985db6] fix incorrect indexing, #73 2019-06-24 [d3f3922]*additional changes due to flexible savedetflag detected photon data format, fix #73 2019-06-20 [4ac001f] fix incorrect detphoton data buffer indexing, fix #73 2019-05-25 [2b907e2] fix the unitinmm scaling for single/double FP mua/mus 2019-05-24 [71571e6]*fix half compilation error 2019-05-24 [33df8bf] fix the missing unitinmm scaling when input is float mua/mus, half2 input still not working 2019-05-24 [071262b]*allow to update n in continuous media 2019-05-24 [02efc62]*bug fix for continuous varying media patch 2019-05-23 [e1b50b6]*convert all volume formats between mcxlab and mcx, fix #67 2019-05-22 [711bf81]*allow cuda 9/10 to compile mcx 2019-05-19 [72afd6a] get rid of json editor validation errors 2019-05-17 [e92d91c] avoid using string class to keep backward compatibility == MCX v2019.4 (Ether Dome RC1 - 1.4.9), FangQ == 2019-04-22 [5e0f0c5] add title to mcxplotvol window 2019-04-15 [a8fa3f5]*combining partial path on the surface 2019-04-14 [dc5ec7c] assign -K for --mediabyte 2019-04-14 [357ef7c] add help info for continuous media, accept string input, sanity check 2019-04-13 [ac10b73]*supports continuously varying media - mua/mus can vary in every voxel 2019-04-13 [03228c8] add moredouble target 2019-04-11 [7e31145] compile to dynamic lib, add function to enable library calls 2019-04-11 [1c2f2e6] add help info in mcx and mcxlab on savedetflag 2019-04-10 [ada0b8e]*support -w / --savedetflag to specify which det photon data to output 2019-03-29 [825537c] fix print information for multiptle patterns when cfg.isnormalized==0 2019-03-28 [43b377a] update json2mcx, add colin27 for mcxlab 2019-03-28 [b9a053f]*add json2mcx, converting from json file to mcxlab cfg 2019-03-23 [f71fd39] add the missing verbose flag --workload, although -W was working 2019-03-20 [3cdfc54] fix empty string test 2019-03-20 [6b19d01] mcxstudio: merge output window back to main; update infinite slab sample 2019-03-19 [ac76ff7]*fix cyclic bc, add mcxlab demo == MCX v2019.3 (Ether Dome beta - 1.4.8), FangQ == 2019-03-03 [a3462be] add README files for all new benchmarks, add "What's New" in master README 2019-03-02 [69a7375] use ANSI colors in the output to improve readability 2019-02-28 [123d11d] add USC 19.5 atlas example, Fig9a in TranYan2019(submitted) 2019-02-28 [ccdf8e3]*add digimouse example 2019-02-28 [e36efa0]*add colin27 atlas example using latest v3 segmentation, Fig6 in Fang2009 2019-02-28 [ae2d60e] fix progress bar error in newer nvidia drivers 2019-02-27 [6e84e26] fix mcxlab srcpattern input format bug, update mcxlab help info 2019-02-26 [f1418cd] fix index mismatch between mcx_replay_prep and mcx detphotons output 2019-02-23 [ae9443f]*copy detected photon post-processing scripts from mmc to mcx 2019-02-23 [19e88b0] add function to convert fluence and energy deposition 2019-02-22 [8644714] use USE_MORE_DOUBLE macro to enable additional double precision calls 2019-02-22 [005ca00] disable linking with iomp5 to avoid matlab2016/2017 crashes 2019-02-22 [f7be969]*use nan as srcdir.w, i.e. focal length, for isotropic launch 2019-02-20 [ce1abbe] use double precision for data output,alternative to #41, for sm_60 2019-02-20 [c647f18] support integer data rendering, support multiple windows 2019-02-17 [3a3e72d]*mcx volume renderer is now integrated with mcxstudio 2019-02-16 [70226e6] support output tx3 3D texture file 2019-02-16 [b968133] add line, slit and cone sources in mcxrender, close #36 2019-01-18 [335c9a0] fix mcxlab crash due to racing in multi-thread, close #60 2019-01-10 [b8db72b] add photon's exiting position in the trajectory data 2018-12-22 [2f8483b] fix mcxlab 'gpuinfo' output error for multiple GPUs 2018-12-08 [3c8a9c3]*add gpu anlm filter as submodule, detailed in Yao2018 paper 2018-12-03 [dc594dc]*initial implementation of "photon sharing" - one forward/replay for many patterns, presented in PW2019 2018-12-02 [da93f29] fix a shared memory buffer length error, introduced in 9a631d15 2018-11-24 [5e212a6]*setting separate boundary conditions at 6 boundary facets 2018-11-24 [e6d4932] use char array for boundary condition input in mcxlab 2018-11-23 [817609e] test if parameter has been initialized in command line 2018-11-23 [9a631d1] offloading photonseed to sharedmem,move v back to register 2018-11-23 [e478c37] only use the sign bit to decide detector coverage, like in the old days 2018-11-14 [405ce9c]*add benchmark from mcxyz skinvessel example 2018-11-13 [9a2f696] test if gpuid is 0 to avoid mcxlab crashing 2018-11-12 [3a05df8] fix shared memory allocation size bug 2018-11-07 [5339563] add help info for the new detphoton fields 2018-11-07 [7e45ec0]*save initial weight and partial scattering count to match mmc output 2018-11-07 [01ec192]*isotropic launch if srcdir(4) is -0.f, valid for all src 2018-10-26 [183742d]*set g to 1 when mus is 0, fix #51 2018-10-22 [0721ab4] change NULL pointer test order in reading srcpattern 2018-10-21 [f37e0e2] prepare for nonuniform grid support 2018-10-13 [cfa8e31]*accummulate momemtum transfer for all detected photons in replay mode 2018-09-24 [d3df9b2] update Ruoyang Replay paper citation 2018-09-02 [4d49f3b] add mcxstudio and mcxlab-octave deb packages 2018-09-01 [75b3f7c]*add nightly build script to help people build mcx 2018-08-29 [ecd4053] change deb package folder structure, handcode 1.0 keywords 2018-08-26 [8c86b3e]*add cmake-styled makefile 2018-08-26 [79a47bf]*remove outdated examples and flags, simplify Makefile for a clean start 2018-08-20 [e3bb0e8] add README for mcxstudio == MCX v2018 (Dark Matter - 1.0 Final), FangQ == 2018-08-18 [ ] MCX 1.0 (v2018) is fully baked! create release packages 2018-08-18 [ed0612e] add Yu2018 citation, minor gui update 2018-08-17 [eb9a2e6] fix momentum transfer saving bug, need to clear buffer for each new photon 2018-08-17 [b11dae9] add help menu with papers and web resources 2018-08-15 [13ab6f2] add more demo script for mc data processing showcase 2018-08-14 [1e3eaa9] fix a bug in 2D simulations 2018-08-14 [e99e5ef] allow saving photon trajectory in command line, add plotting function, bump limit to 1e7 2018-07-21 [7850c32]*support photon numbers over 2^31, new limit 2^63-1 after fixing #41 2018-07-20 [db5a349]*use extra global memory to help reduce roundoff error, fix #41 2018-07-02 [8aba23b] fix a regression introduced in 29ea426, fix #40 2018-06-04 [d9bdb33] fix incorrect column number when momentum transfer is recorded 2018-06-04 [cf81b30] read RNGSeed field from the JSON file 2018-06-04 [8cd8a69] support autopilot flag in JSON, fix typo 2018-06-04 [c90b8b3] add specular reflection flag, passing more session flags via the JSON file 2018-06-04 [3e5a1d8]*add mcxlab cfg to json input file converter 2018-05-19 [d28c36e] use load_nii compatible output, make sure nii is read-only 2018-05-19 [78ee1ec]*add built-in loadnii support 2018-05-19 [1854eee] fix normalization bug in replayall mode 2018-05-19 [7f1b574]*positive respin now means repeat-to run more than 2e9 photons; negative respin means divide 2018-05-15 [a7632bc] fix bugs in checking replaydet values 2018-05-15 [e5db8cd] output 5-dim fluence when replaydet=-1,two replay test script,add help for replaydet 2018-05-14 [651c53f]*replay for all detectors with -Y -1 2018-05-03 [91765e1] fix issue #38, revert the regression introduced in commit 95b43708 2018-05-03 [6743d25] partially fixing issue #38 2018-04-07 [b537309]*complete momentum transfer feature, adapt Stefan's generate_g1 with the new output struct 2018-04-07 [63bce2b] initial port of mmc momentum transfer calculations for DCS 2018-04-07 [acef0cf] GUI update on high-res displays 2018-04-02 [6ea1171] set default output format to mc2 again 2018-03-31 [4884ab1] make mcxstudio work for mmc 2018-03-30 [8af5a37] disable button event on the mac 2018-03-30 [dbbe943] prevent double execution 2018-03-29 [cbaaed7] fix double execution when clicking Run 2018-03-29 [ac6c972] make mcxlab to call mcxcl without error 2018-03-29 [b42b51b] fix dumpmask not working on mcxcl bug 2018-03-27 [13fd3f8] fix mac remote execution path 2018-03-27 [4b3af81] fix mac run cmd path bug 2018-03-27 [053c9b1] replace ssh with scp;debug search path on mac 2018-03-27 [ccccab8] fix mac run issue 2018-03-27 [1d1242b] allow both plink and sshpass to download files 2018-03-26 [9b5c010] set default path for mac to home dir 2018-03-26 [07de76e] replace ssh to scp in sshpass remote file download 2018-03-25 [1566fb0] fix typo after replacement 2018-03-25 [b90a66d] do not print password, add matlab path 2018-03-25 [5d1e4ac] use parameter and executable to define command line 2018-03-25 [c7c1445] add longer delay in matlab launching 2018-03-25 [b2a1152] use TProcess for Mac for execution and matlab 2018-03-25 [e08f041] use TProcess on mac to call external commands 2018-03-25 [c633d87] give an error if the executable is not found 2018-03-23 [4766639] use home dir to write output on mac 2018-03-22 [5c64bfa] fix default matlab path; fix search path for mac 2018-03-22 [9844842] fix minor bugs in mcxplotvol 2018-03-21 [2864522] enable src editor for mcxcl 2018-03-21 [cb6c185] update atomic flag 2018-03-21 [9769f8a] move help info from title to a help button 2018-03-21 [cb2fa99] update mcxstudio folder structure 2018-03-21 [6a17a9c] change default mcxsuite folder structure 2018-03-17 [5b083b4]*make mcxlab compatible with mcxlabcl to call opencl 2018-03-12 [1014527] fix crash due to incorrect column number 2018-03-12 [f5bf5b8] make mcxstudio compile on windows 2018-03-11 [74723b1] add ID column for media and detector, addpath to matlab 2018-03-11 [74b2d57] fix #32: unknown verbose option --root bug 2018-03-11 [a0d445b] fix Windows low quality host RNG due to 15bit rand(), fix #31 2018-03-09 [521fb85] compile on lazarus 1.8.2 with glscene svn 7114 2018-03-09 [f29aa12] enable GUI scaling for high dpi displays 2018-03-09 [e38bcab] remove memory leak in domain window 2018-03-02 [5a43a1d] avoid casting double in xor and xoro RNGs 2018-03-02 [1624105] change default RNG to xoroshiro128+, about 5% faster 2018-02-28 [ae22a57] make posix RNG work again 2018-02-28 [a78999d] output trajectory photon id in interger format 2018-02-19 [779b27e] avoid out-of-bound error when saving diffuse reflectance 2018-02-09 [95b4370] fix diffuse reflectance bug - must be performed after boundary reflection 2018-02-09 [d719e78] mcxstudio update 2018-01-31 [f90ee6e] support 3d pattern source in mcxstudio, automatic increase media count 2018-01-31 [589ce45] support 3D pattern with type 'pattern3d' 2018-01-29 [1b9493b]*add mcxpreview to preview the simulation domain settings 2018-01-28 [5f748de] fix crash when saving diffuse reflectance 2018-01-26 [6b55b4b] fix bug to properly scale Jacobian output with voxel size 2018-01-24 [de1b62f] mcxstudio - render disk and planar source types 2018-01-24 [f587194] mcxstudio - add mcxrender window to preview domain shapes 2018-01-24 [b113840] mcxstudio - support displaying source and detectors 2018-01-16 [6b34910]*mcxstudio - add shape visualization utility 2018-01-13 [f6fd6a0]*rename mcxlab.mex to mcx.mex, use mcxlab.m to do pre and post processing 2018-01-11 [ae8bd9a]*fix bug related to absorption fraction changed after fixing 1st scattering handling in #4b33a6f 2017-12-31 [7e6e081]*add doxygen-format comments for thorough documtation of the source code 2017-12-28 [57ccb84] allow saving large data files using 64bit size_t for buffer length 2017-12-02 [b98d728] matlab fails to clear mex variable memory, force setting to NULL 2017-11-29 [3e25d2d] revert to the old way of finding detector id, new approach gives partially detected optodes 2017-11-22 [2267ad7] need to round half coordinates before calling nextafter 2017-11-18 [14bb584]*half precision ray tracer support 2017-10-30 [9958e32] simplify htime update in hitgrid 2017-10-26 [4b33a6f] fix 2 bugs: condition for initial scattering, and v.nscat due to focal length input 2017-10-05 [7703420] port mmc commit 07b33f3 to mcx to compile with matlab 2017 2017-10-05 [c7895a6] change dir vector to transmission direction before terminating a photon 2017-10-04 [ac6fa0e] print a message before exit when det mask is dumped 2017-08-20 [56edc0d] mcxstudio - update app bundle icon 2017-08-20 [dff89ab]*mcxstudio - mac osx app bundle for mcxstudio 2017-08-10 [2fe8029]*apply mirror boundary condition when background n is less than 1 2017-08-07 [53b13e5] mcxstudio - use matlab even in the desktop mode 2017-08-04 [1bb1b26] avoid calling directory instead of executable under linux 2017-08-03 [4779504] avoid output window no show on low-res displays 2017-08-03 [85ee081] avoid output window no show 2017-08-03 [485ca67] plot using matlab on windows 2017-08-01 [275ff8c] mcxstudio - search mcx_core.cl dynamically 2017-07-30 [2371eab] mcxstudio - tested with mcxcl 2017-07-30 [eac9717] avoid windows compilation warnings from VS 2017-07-30 [bd61e4f] mcxstudio - update database when config changes,add link to tutorials,accept enter in windows 2017-07-30 [658906d] mcxstudio - display total frame count in mcxplotvol 2017-07-27 [08014e3] mcxstudio - support multiple time gates in mcxplotvol 2017-07-26 [85d6fa1] mcxstudio use mc2 as default output 2017-07-26 [6d25ddb] mcxstudio - download output files using pscp and scp, help context to online documentation 2017-07-25 [2ed5363] mcxstudio - add context help file for mcxstudio, support matlab for plotting 2017-07-25 [0decc1c] dump mask independent of photon detection 2017-07-25 [3929c80] fix volume mask saving bug 2017-07-25 [44dcfb3] mcxstudio - add plotting functions for mcx 2017-07-25 [7cb2015] mcxstudio - add help database and viewer, save user input history 2017-07-24 [9819eda] mcxstudio - add plotting feature using octave 2017-07-22 [71bbc40] make mkpath windows friendly 2017-07-21 [60c971b] mcxstudio command line quotation,remote execution, user input 2017-07-21 [0503732] recursively create output folder if does not exist 2017-07-20 [6e839ef] handle progress bar for matlab 2014b or newer as the return value is now object 2017-07-20 [eed619f] fix matlab2017a crash when using multiple GPUs 2017-07-20 [b4a37d2] avoid windows compilation error due to mkdir and stat 2017-07-16 [8d1d9cd] mcxstudio - add remote exec tab,correct save data dialog,define current session icons,renaming conflict check,oneditdone to update 2017-07-15 [0fae21a] avoid static TLS error in matlab by linking with libiomp5 instead of libgomp, like mmc commit [10c8a27] 2017-07-15 [d4f2ae1] fix mcxlab for octave crash due to an octave bug #48678 2017-07-14 [a97e9c5] mcxstudio - fix remote cmd changing bug 2017-07-14 [7752896] mcxstudio - add middle docking site 2017-07-14 [2845d7e]*make true remote execution possible by passing json input via -f 2017-07-14 [2012c0a] Merge branch 'master' of https://github.com/fangq/mcx 2017-07-14 [35cfcec] mcxstudio - windows browse work folder,search remote command path,robust cmd output capture 2017-07-14 [3081762] mcxstudio - support inline json input with -f, create root folder if --root is given 2017-07-13 [21ef382] mcxstudio - lock GPU 2017-07-13 [e71659d] mcxstudio - make output window dockable, lock GPU list when use ssh 2017-07-11 [c08a29a] fix mcxstudio GPU name crop bug, fix window drag problem, make media/detector editor autoaddrow 2017-07-09 [c672643]*use int to represent det and media index; increase max media + max det from 128+1024 to 4000, close #21 2017-07-08 [bf9aa22]*mcx now supports 2D simulations, just set one dimension to a thickness of 1 2017-07-05 [dd1026c] mcxstudio - fix source editor bug 2017-07-05 [d1186aa]*successfully built RPM == MCX v2017.7 (Dark Matter - 1.0-RC2), FangQ == 2017-07-05 [6144ee4] fix windows progress bar issue 2017-07-05 [1319828] windows registry fix, fix memory leak, associate .mcxp, use messagedlg, fix VerifyInput bug 2017-07-04 [71fa54a]*add RPM and DEB packaging scripts, add root-level makefile 2017-07-03 [3406ea8] fix memory leak caused by the shape JSON editor, mmc compatible, progress bar fixed 2017-07-02 [ ] automatically build mcxstudio and include the binary in the mcx nightly build 2017-06-30 [ff5e25f] fix shape editor deletion handling, collapsible groupbox, allow remote execution 2017-06-30 [139b50d]*unified GUI for mcx, mmc and mcxcl, ligher source designer 2017-06-29 [1d0f883] initialize tty info to avoid uninitialized values 2017-06-28 [950f96b]*much improved mcxstudio: simulation designer,volume designer,more options,copy and paste sessions 2017-06-26 [9606e95] save mc2 file under rootpath if --root is defined 2017-06-25 [1b7271d] shape editor, json input editor for advanced options, form scaling for high DPI displays 2017-06-21 [325aa35] update of the GUI, more robust mcx execution, colored output, simulation designer 2017-06-20 [faad1a1] user specified scattering events to disable anisotropy g 2017-06-06 [5f42259] fix a bug when using verbose only flags 2017-05-29 [adddbc5] support pencil beam array 2017-05-28 [4ef73e1] use environment variable CUDA_PATH on windows 2017-05-28 [cc22461] add registry key fix for windows 2017-05-27 [cfe280b] fix matlab crash when using multiple GPUs 2017-04-10 [b5170e4] fix windows compilation bug for Pascal cards == MCX v2017.3 (Dark Matter - 1.0-RC1), FangQ == 2017-01-16 [d5a2cbe] prevent progress bar from stalling 2017-01-02 [0a28d4e] fix compilation error on windows 2016-12-21 [63e5e23] fix voxel [0 0 0] is always zero bug, regression since v2016.4 2016-12-21 [1848321] refresh matlab window when running mcx 2016-12-21 [8715a40]*fix progress bar in matlab when set debuglevel=P 2016-12-21 [b53d8ac] avoid hanging in mcxlab when mus=0 2016-12-11 [c93be5b] fix nan error when scattering coeff is 0 2016-11-11 [024542c] fix replay bug due to f->ndone initial value as -1 2016-11-05 [758b8b5]*enable autobuild in both windows and linux 2016-11-05 [dac3cd0] autobuild for windows 2016-10-20 [1f5d0ef] fix Jacobian output normalization 2016-10-13 [84462a3] correct WP replay scaling factor 2016-10-13 [16ab1c9] normalize scattering count based on total replay weight 2016-10-12 [df62a0d] removing divergence inside hitgrid, thanks to njuffa 2016-10-09 [5905e0b]*record diffuse reflectance on the air voxels outside of domain boundaries, close #6 2016-10-09 [39038bf]*save detected photon position and direction using -x 1, close #16 2016-10-08 [e8b21b8]*port diverging and converging widefield source beams from MMC to MCX, close #27 2016-10-05 [ceb6009] fixing mcxlab crash when detps is not given in the replay mode 2016-10-04 [ead4794] fix Gaussian beam waist radius scaling issue, close #25 2016-10-03 [42866fa] fix two regressions for replay, returning scattering count in replay 2016-09-14 [9d70a56] fix memory out-of-bound bug in replay 2016-09-11 [a6792e7] fix usleep warning 2016-09-09 [6393a45] save scattering event count in replay 2016-08-25 [78acd39]*compiling mcx on windows 2016-08-24 [f19e3d4] update core count for GP104 2016-08-22 [1c21212] fix core count in Pascal 2016-08-18 [55e917c] use c++ template to avoid branching in launchnewphoton - by Gustavo Maia and Fanny Paravecino 2016-08-11 [5da5466] remove -code flags to create arch independent binaries, it also produces faster binaries with cuda 7.5 2016-07-24 [dbbc4c6]*support Russian roulette 2016-07-22 [542223d]*compiling mcxlab mex file for Pascal 2016-07-22 [88441c6] support Pascal 2016-07-02 [9b5ee49]*elegantly terminate mcxlab when an exception is raised 2016-07-02 [382aab1] ignore user specified nonexistent devices in workload calculations - bug reported by Nicholas Dana 2016-07-02 [2b98d3e]*add progress bar when user specify -D P 2016-06-05 [6a6fe13]*update makefile for autobuild, correct mcxlab RNG seed length 2016-06-02 [83481ff] add replay demo script 2016-06-02 [2aed76d] fix replay seed bug for mcxlab 2016-05-16 [701beec] make mcx gpu contest compatible with octave 2016-05-16*[a4cb1e1] add debug option to save photon trajectory data 2016-04-26 [590c596] fix workload and gpuid bug when handeling 0 mask 2016-04-23 [4c37c0d] test gpu contest script in matlab 2014 2016-04-22 [bc56e86] make static target on Linux and Mac 2016-04-22 [f5342f0] update Linux static target command, make total photon number accurate 2016-04-22*[690406c] fix multi-GPU hanging problem for real, wrap all CUDA calls with error testing, return workload in mcxlab == MCX v2016.4 (Dark Matter - 1.0-beta), FangQ == 2016-04-21 [release] finalize and release v2016.04 2016-04-21*[2b1f22a] add Visual Studio 2013 Nsight project for easy compilation on windows 2016-04-19 [3b69a1a] fix thread hanging bug when running on multiple GPUs 2016-04-15*[e71f4c7] kick-off "MCX GPU Contest" for user-contributed hardware benchmarking 2016-04-06 [c52b470] fix photon detection bug, fix json file crash, fix workload distribution bug, fix hitgrid inf handeling, fix energytot bug 2016-04-05*[e94087f] add benchmark folder, announce "MCX Speed Challenge" 2016-03-28 [76f9c5a] reduce memory dependency, yielded a 42% increase in mcx speed for the quicktest benchmark 2016-03-26*[b14ccf1] simplify RNG interface, two new RNGs: POSIX erand48 and xorshift128+, retiring MT RNG 2016-02-28 [29ea426] speed up ray tracer with customized nextafterf function and reciprocal of c 2015-11-09 [1491f4e] Determining block size in autopilot mode using max block per SMX, by Fanny Nina Paravecino 2015-11-08 [48dfb33] fix refractive index mismatch transmission bug 2015-09-28*[73dd850] add uniform line source and slit source, suggested by Yu Chen 2015-09-12 [9da817e] fix bug for wide field sources 2015-09-11*[c7f9625] make precise ray-tracing default to improve accuracy 2015-09-11 [a1e781a] update affiliation, Qianqian now moved to Northeastern 2015-07-12 [3898b14] add nsight project files 2015-07-27 [cd8f134] use proper epsilon for float roundoff tests 2015-06-25 [6815577] fix address alignment error for CUDA 6 or higher 2015-06-25*[60238c4] multiple GPU support! 2015-06-25*[60238c4] set atomic as default, single binary now contains all features 2015-06-15 [97cd3e9] return gpu info for better interfacing with matlab 2015-06-10*[7487e4d] support saving photon seeds and replay 2015-06-10 [3c8a116] accept endianness input 2015-05-01 [funding] NIH/NIGMS R01 funding support starts == MCX 0.9.7-2 (Dark Matter - alpha update 2), FangQ == 2014-09-23 [r325] fix submillimeter voxel scaling bug in the binary mode; fix total simulated photon count 2014-07-11 [r324] a patch submitted by David Gasperino for rigirously modeling a collimated Gaussian beam 2014-07-11 [r323] high priority bug fixes submitted by Kim Shultz: transmission angle and oddphoton handling 2014-01-19 [r322] saving detected photon seed for fast replay and pMC analysis == MCX 0.9.7-1 (Dark Matter - alpha update 1), FangQ == 2013-10-22 [r320] fix isotropic scattering bug at g=0, a critical bug fix == MCX 0.9.7 (Dark Matter - alpha), FangQ == 2013-09-16 [r306] MCXLAB srctype demo script 2013-09-15*[r305-308] wide-field source support, including 9 source types 2013-09-11 [r305] random number generator performance optimization 2013-08-29 [r304] loadmch supports the seed data from the latest MMC simulations 2013-02-11 [r300-302] fix double correction for unitinmm == MCX 0.8.0 (Charm Quarks - final), FangQ == 2012-08-24 [r297] merge all variants into a single binary for Fermi cards (make fermi) 2012-08-21 [r296] fix Bug/0005, incorrect returned field and normalization for multiple gate groups (reported by Vivian Pera) 2012-08-21 [r295] fix Bug/0004. incorrect detected photon buffer pointer in MCXLAB with respin>1 (Vivian Pera) 2012-08-08 [r291-294] fix Bug/0001, forward scattering bias with automatic reseeding of the RNG (Matt Adams,Okito Yamashita) 2012-08-08 [r290] backport features from MMCLAB: exception handling and print inside matlab 2012-07-25 [r287] fix Bug/0002-2, conflict between savedet and share memory cache (Okito Yamashita) 2012-07-21 [r286] change default MAX_DETECTORS from 256 t0 1024 2012-07-13 [r282] fix Bug/0002. use srcfrom0 flag to set crop0 and crop1 in mcx_cached (Okito Yamashita) 2012-07-06 [r280] calculate exact exit point when savedet is true (suggested by Audrey Steever) 2012-07-04 [r276] fix MP core count bug (patch by Suresh Paidi) == MCX 0.7.9 (Charm Quarks - beta), FangQ == 2012-01-10 fix a regression introduced in 0.5.3 for accurate exit positions 2012-01-08 support 3D shape input and and run-time rasterization 2012-01-07 port JSON-formatted input file support from MMC to MCX == MCX 0.5.3 (Black Hole - update 3), FangQ == 2012-01-07 fix a minor bug which fails using -1 with -E 2011-12-21 fix an issue causing forward scattering bias (reported by David Giraud) == MCX 0.5.2 (Black Hole - update 2), FangQ == 2011-09-21 fix a regression in MCXLAB related to detectors, use exact exit position for radius test 2011-09-20 add verbose warnings for launch-time-out error and non-surface detectors 2011-09-19 users can specify srcfrom0 (origin setting) from the input file 2011-09-19 fix a bug in detector-to-volume mapping, effects all non-integer inputs == MCX 0.5.1 (Black Hole - update 1), FangQ == 2011-05-03 use the expected absorption for normalization to reduce non-atomic impact 2011-04-26 fix a serious shared-mem buffer length bug (can cause crash) 2011-04-26 MCXLAB now accepts crop0/crop1 fields to specify shared-mem region 2011-03-25 new GPU-ocelot compilation flag == MCX 0.5.0 (Black Hole), FangQ == 2011-03-18 update documents, get ready to release 0.5.0 2011-03-18 gracefully handle exceptions in MCXLAB 2011-03-17 add validation scripts for MCXLAB/MCX, fix a bug for saving flux 2011-03-16 add MCXLAB example scripts 2011-03-15 extensive debugging with the --unitinmm flag 2011-03-09 MCXLAB now returns flux and detected photon in Matlab and Octave 2011-03-03 add -E to seed RNG from command line 2010-12-28 use negative -R to enable cachebox defined in the input file, fix time wraping 2010-08-08 debug make mex option for Linux 2010-08-09 first import of MCXLAB - MCX for Matlab and Octave 2010-08-08 debug and test --unitinmm flag 2010-08-05 initial support for reflection at internal boundaries 2010-08-05 estimate maxgate when using the autopilot mode 2010-08-02 fix a bug when saving multiple blocks of mch == MCX 0.4.9 (Black Hole-beta), FangQ == 2010-08-01 update documentation and release v0.5 beta (aka 0.4.9) 2010-08-01 fix a critical bug for pre-Fermi cards,validated MCX on CC11,13,20 2010-07-31 enable -n for photon number, disable -m, report simulation speed 2010-07-30 fix a bug when reading medium index with detector mask 2010-07-29 use atomic with shared memory cache to improve accuracy near the source 2010-07-28 add example for validation of MCX in heterogeneous media 2010-07-28 use RNG for transmission/reflection test 2010-07-28 use column major as the internal array format 2010-07-27 support saving detected photons, but got 25% slower 2010-07-15 users can use -u to specify voxel edge length in mm 2010-07-12 fix a bug for indexing error in large volumes 2010-07-09 fix a bug when appending data for multiple time gate groups 2010-06-26 use constant memory to pass kernel param, more error info 2010-06-26 use meaningful struct in the kernel to improve readability 2010-05-14 allow to select which GPU to use with the -G option 2010-02-04 fix a minor NaN bug detected by GPU Ocelot 2010-01-26 add GPU Ocelot makefile for multicore CPU == MCX 0.2 (Aurora), FangQ == 2009-12-19 polish documentation, add svn keywords and tagged 0.2 final 2009-12-10 MCX Studio GUI is tested on Linux, Windows, Mac OS X 2009-12-03 add README.txt file for each example folder 2009-12-02 complete "bubble" mode to reduce impact from non-atomic write 2009-10-24 use cuda event timer, use VC compiler for Windows 2009-10-21 paper published online, added windows support 2009-10-20 set license to GPLv3, first public release (v0.2 beta) 2009-10-19 fixed double-precision warning for CUDA 2.3 2009-10-06 more GUI developments 2009-09-25 fixed memory leakage, supported verbose options 2009-09-24 major code clean-up, added GPUDEBUG macro 2009-07-31 tested on GTX295 with CUDA 2.3 2009-07-15 used atomicFloatAdd for atomic memory write 2009-07-13 fixed half-grid shift bug in the validation script 2009-07-08 reflection for a maximum of 3 interfaces 2009-06-26 tested non-atomic write racing condition 2009-05-19 added mcx studio: a GUI for mcx 2009-05-07 query GPU info 2009-05-05 added options to print to a log file 2009-04-30 code clean up and paper submission, tag 0.1.9 (Aurora alpha) 2009-04-26 new and more robust boundary reflection code 2009-04-24 build-in fluence normalization (unitary solution) 2009-04-20 added examples and validation scripts, supported respins 2009-04-07 energy conservation for normalization of the solution 2009-04-03 time gating support 2009-04-01 split the main function to units, add utils. and config file 2009-03-02 added logistic-map based random number generator 2009-02-27 early support of boundary reflection 2009-02-24 MT rand now working fine 2009-02-21 added MT random number generator initial version 2009-02-20 translated to Brook+ 2009-02-15 translated to CUDA 2009-02-14 initial version written in BrookGPU