From d6c1f552610f121a7feb3cf602563292fdfcb8b9 Mon Sep 17 00:00:00 2001 From: Qianqian Fang Date: Mon, 25 Sep 2023 00:06:02 -0400 Subject: [PATCH] bump pmcx to 0.2.3, update help info for pmcx.mcxlab --- pmcx/README.md | 2 +- pmcx/pmcx/__init__.py | 2 +- pmcx/pmcx/utils.py | 96 ++++++------ pmcx/setup.py | 61 +++++--- pmcx/tutorials/pmcx_getting_started.ipynb | 175 ++++++++++++++-------- 5 files changed, 206 insertions(+), 130 deletions(-) diff --git a/pmcx/README.md b/pmcx/README.md index d82ad5dd..1f8554e3 100644 --- a/pmcx/README.md +++ b/pmcx/README.md @@ -4,7 +4,7 @@ - Copyright: (C) Matin Raayai Ardakani (2022-2023) , Qianqian Fang (2019-2023) , Fan-Yu Yen (2023) - License: GNU Public License V3 or later -- Version: 0.2.2 +- Version: 0.2.3 - URL: https://pypi.org/project/pmcx/ - Github: https://github.com/fangq/mcx diff --git a/pmcx/pmcx/__init__.py b/pmcx/pmcx/__init__.py index b582bb80..107f03d4 100644 --- a/pmcx/pmcx/__init__.py +++ b/pmcx/pmcx/__init__.py @@ -49,7 +49,7 @@ # from .files import loadmc2, loadmch, load, save from .bench import bench -__version__ = "0.2.2" +__version__ = "0.2.3" __all__ = ( "gpuinfo", diff --git a/pmcx/pmcx/utils.py b/pmcx/pmcx/utils.py index 664ce6c2..ef1e41d1 100644 --- a/pmcx/pmcx/utils.py +++ b/pmcx/pmcx/utils.py @@ -413,43 +413,40 @@ def mcxlab(*args): (Python code was adapted from mcxlab.m MATLAB function, ported by Fan-Yu Yen) Format: - res=mcxlab(cfg); + res = mcxlab(cfg); or - res=mcxlab(cfg, option); + res = mcxlab(cfg, option); Input: - cfg: a struct, or struct array. Each element of cfg defines - the parameters associated with a simulation. + cfg: a dictionary defining the parameters associated with a simulation. if cfg='gpuinfo': return the supported GPUs and their parameters, if cfg='version': return the version of MCXLAB as a string, - see sample script at the bottom option: (optional), options is a string, specifying additional options option='opencl': force using mcxcl.mex* instead of mcx.mex* on NVIDIA/AMD/Intel hardware option='cuda': force using mcx.mex* instead of mcxcl.mex* on NVIDIA GPUs if one defines USE_MCXCL=1 in as Python global variable, all following - mcxlab and mcxlabcl calls will use mcxcl.mex; by setting option='cuda', one can - force both mcxlab and mcxlabcl to use mcx (cuda version). Similarly, if - USE_MCXCL=0, all mcxlabcl and mcxlab call will use mcx.mex by default, unless - one set option='opencl'. + pmcx.mcxlab calls will use _pmcxcl (OpenCL version of mcx); by setting option='cuda', + one can force pmcx.mcxlab to use _pmcx (CUDA version). Similarly, if + USE_MCXCL=0, all pmcx.mcxlab calls will use _pmcx by default, unless + one sets option='opencl'. Output: - fluence: a struct array, with a length equals to that of cfg. - For each element of fluence, - fluence(i).data is a 4D array with + res: a dictionary containing the following subfields + res['flux'] is a 4D array with dimensions specified by [size(vol) total-time-gates]. The content of the array is the normalized fluence at each voxel of each time-gate. when cfg.debuglevel contains 'T', fluence(i).data stores trajectory output, see below - fluence(i).dref is a 4D array with the same dimension as fluence(i).data + res['dref'] is a 4D array with the same dimension as fluence(i).data if cfg.issaveref is set to 1, containing only non-zero values in the layer of voxels immediately next to the non-zero voxels in cfg.vol, storing the normalized total diffuse reflectance (summation of the weights of all escaped photon to the background regardless of their direction); it is an empty array [] when if cfg.issaveref is 0. - fluence(i).stat is a structure storing additional information, including + res['stat'] is a structure storing additional information, including runtime: total simulation run-time in millisecond nphoton: total simulated photon number energytot: total initial weight/energy of all launched photons @@ -457,33 +454,35 @@ def mcxlab(*args): normalizer: normalization factor unitinmm: same as cfg.unitinmm, voxel edge-length in mm - detphoton: (optional) a struct array, with a length equals to that of cfg. - Starting from v2018, the detphoton contains the below subfields: - detphoton.detid: the ID(>0) of the detector that captures the photon - detphoton.nscat: cummulative scattering event counts in each medium - detphoton.ppath: cummulative path lengths in each medium (partial pathlength) - one need to multiply cfg.unitinmm with ppath to convert it to mm. - detphoton.mom: cummulative cos_theta for momentum transfer in each medium - detphoton.p or .v: exit position and direction, when cfg.issaveexit=1 - detphoton.w0: photon initial weight at launch time - detphoton.s: exit Stokes parameters for polarized photon - detphoton.prop: optical properties, a copy of cfg.prop - detphoton.data: a concatenated and transposed array in the order of - [detid nscat ppath mom p v w0]' - "data" is the is the only subfield in all MCXLAB before 2018 - vol: (optional) a struct array, each element is a preprocessed volume - corresponding to each instance of cfg. Each volume is a 3D int32 array. - seeds: (optional), if give, mcxlab returns the seeds, in the form of - a byte array (uint8) for each detected photon. The column number - of seed equals that of detphoton. - trajectory: (optional), if given, mcxlab returns the trajectory data for - each simulated photon. The output has 6 rows, the meanings are - id: 1: index of the photon packet - pos: 2-4: x/y/z/ of each trajectory position - 5: current photon packet weight - 6: reserved + res['detp']: res['detp'] is a directionary object including the following field + res['detp']['detid']: the ID(>0) of the detector that captures the photon + res['detp']['nscat']: cummulative scattering event counts in each medium + res['detp']['ppath']: cummulative path lengths in each medium (partial pathlength) + one need to multiply cfg.unitinmm with ppath to convert it to mm. + res['detp']['mom']: cummulative cos_theta for momentum transfer in each medium + res['detp']['p'] or ['v']: exit position and direction, when cfg.issaveexit=1 + res['detp']['nscat']: photon initial weight at launch time + res['detp']['s']: exit Stokes parameters for polarized photon + res['detp']['prop']: optical properties, a copy of cfg.prop + res['detp']['data']: a concatenated and transposed array in the order of + [detid nscat ppath mom p v w0]' + + if returned by pmcx.run, res['det'] is a 2D numpy array in a format as + res['detp']['data'] described above + + res['vol']: (optional) a numpy array storing a preprocessed volume. + Each volume is a 3D int32 array. + res['seeds']: (optional), if give, mcxlab returns the seeds, in the form of + a byte array (uint8) for each detected photon. The column number + of seed equals that of res['detp']. + res['traj']: if given, mcxlab returns the trajectory data for + each simulated photon. The output has 6 rows, the meanings are + res['traj']['id']: 1: index of the photon packet + res['traj']['pos']: 2-4: x/y/z/ of each trajectory position + 5: current photon packet weight + 6: reserved By default, mcxlab only records the first 1e7 positions along all - simulated photons; change cfg.maxjumpdebug to define a different limit. + simulated photons; change cfg['maxjumpdebug'] to define a different limit. """ try: defaultocl = eval("USE_MCXCL", globals()) @@ -492,6 +491,14 @@ def mcxlab(*args): useopencl = defaultocl + if len(args) == 1 and isinstance(args[0], str): + if args[0] == "gpuinfo": + varargout = pmcx.gpuinfo() + return varargout + elif args[0] == "version": + varargout = pmcx.version() + return varargout + if len(args) == 2 and isinstance(args[1], str): if args[1] == "preview": varargout = mcxpreview(args[0]) @@ -560,9 +567,14 @@ def mcxlab(*args): if useopencl == 0: varargout = pmcx.run(args[0]) else: - varargout = pmcxcl.run(args[0]) + try: + import pmcxcl - print(varargout.keys()) + varargout = pmcxcl.run(args[0]) + except ImportError: + raise ImportError( + 'To call OpenCL based MCX, one must first run "pip install pmcxcl" to install pmcxcl' + ) if len(args) == 0: return diff --git a/pmcx/setup.py b/pmcx/setup.py index 6a0561a1..18c5f6e4 100644 --- a/pmcx/setup.py +++ b/pmcx/setup.py @@ -48,7 +48,7 @@ def build_extension(self, ext): f"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={extdir}", f"-DPYTHON_EXECUTABLE={sys.executable}", f"-DCMAKE_BUILD_TYPE={cfg}", # not used on MSVC, but no harm - "-DBUILD_PYTHON=true" + "-DBUILD_PYTHON=true", ] build_args = [] # Adding CMake arguments set as environment variable @@ -111,42 +111,57 @@ def build_extension(self, ext): os.makedirs(build_temp) subprocess.check_call(["cmake", ext.source_dir] + cmake_args, cwd=build_temp) - subprocess.check_call(["cmake", "--build", ".", "--target", ext.target] + build_args, cwd=build_temp) + subprocess.check_call( + ["cmake", "--build", ".", "--target", ext.target] + build_args, + cwd=build_temp, + ) # The information here can also be placed in setup.cfg - better separation of # logic and declaration, and simpler if you include description/version in a file. setup( name="pmcx", - packages=['pmcx'], - version="0.2.2", - requires=['numpy'], - license='GPLv3+', + packages=["pmcx"], + version="0.2.3", + requires=["numpy"], + license="GPLv3+", author="Matin Raayai Ardakani, Qianqian Fang, Fan-Yu Yen", author_email="raayaiardakani.m@northeastern.edu, q.fang@neu.edu, yen.f@northeastern.edu", description="Python bindings for Monte Carlo eXtreme photon transport simulator", long_description=readme, long_description_content_type="text/markdown", - maintainer= 'Qianqian Fang', - url='https://github.com/fangq/mcx', - download_url='http://mcx.space', - keywords=['Monte Carlo simulation', 'Biophotonics', 'Ray-tracing', 'Rendering', 'GPU', 'Modeling', - 'Biomedical Optics', 'Tissue Optics', 'Simulator', 'Optics', 'NVIDIA', 'CUDA'], + maintainer="Qianqian Fang", + url="https://github.com/fangq/mcx", + download_url="http://mcx.space", + keywords=[ + "Monte Carlo simulation", + "Biophotonics", + "Ray-tracing", + "Rendering", + "GPU", + "Modeling", + "Biomedical Optics", + "Tissue Optics", + "Simulator", + "Optics", + "NVIDIA", + "CUDA", + ], ext_modules=[CMakeExtension("_pmcx", target="_pmcx", source_dir="../src/")], cmdclass={"build_ext": CMakeBuild}, zip_safe=False, python_requires=">=3.6", classifiers=[ - 'Development Status :: 4 - Beta', - 'Intended Audience :: Science/Research', - 'Environment :: GPU :: NVIDIA CUDA', - 'Topic :: Scientific/Engineering :: Physics', - 'License :: OSI Approved :: Apache Software License', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11' - ] + "Development Status :: 4 - Beta", + "Intended Audience :: Science/Research", + "Environment :: GPU :: NVIDIA CUDA", + "Topic :: Scientific/Engineering :: Physics", + "License :: OSI Approved :: Apache Software License", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + ], ) diff --git a/pmcx/tutorials/pmcx_getting_started.ipynb b/pmcx/tutorials/pmcx_getting_started.ipynb index b719b2e6..b1d6cb46 100644 --- a/pmcx/tutorials/pmcx_getting_started.ipynb +++ b/pmcx/tutorials/pmcx_getting_started.ipynb @@ -92,9 +92,9 @@ "id": "BdyGGnVPr75P", "colab": { "base_uri": "https://localhost:8080/", - "height": 35 + "height": 36 }, - "outputId": "68d7daac-a1ff-4a45-d6bf-25d2560b013e" + "outputId": "1d5c91e9-124f-42ad-b79e-286e4dfc9402" }, "execution_count": 2, "outputs": [ @@ -102,7 +102,7 @@ "output_type": "execute_result", "data": { "text/plain": [ - "'0.1.1'" + "'0.2.2'" ], "application/vnd.google.colaboratory.intrinsic+json": { "type": "string" @@ -133,7 +133,7 @@ ], "metadata": { "id": "LnrnJOcJsQzW", - "outputId": "77a24cf7-951c-4697-f12c-8fc9cb80fc6b", + "outputId": "2e670bef-0f58-4af6-aff8-2a2770303aef", "colab": { "base_uri": "https://localhost:8080/" } @@ -195,7 +195,7 @@ "metadata": { "id": "lY6fw-SnsWxZ" }, - "execution_count": 10, + "execution_count": 4, "outputs": [] }, { @@ -212,7 +212,8 @@ { "cell_type": "code", "source": [ - "res = pmcx.run(cfg)" + "res = pmcx.mcxlab(cfg)\n", + "# or res=pmcx.run(cfg)" ], "metadata": { "id": "fqo7qGqG4tHv" @@ -243,9 +244,9 @@ "height": 432 }, "id": "7IxvdrdWtyMT", - "outputId": "5148d8e3-82c3-4f08-8b56-79010fcd750c" + "outputId": "0e0f80c1-cc72-4dfc-a26b-d5c95c80c458" }, - "execution_count": 12, + "execution_count": 6, "outputs": [ { "output_type": "display_data", @@ -253,7 +254,7 @@ "text/plain": [ "
" ], - "image/png": "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S5IEhw8fRk9PT8CZvX2WLl2K7u7ummswPj6OY8eOXdXXwBiDzZs349ChQ3juueewdOnSmsdXrVqFTCZTc94nT57E6dOnr+rztkmSBIVCYdae8z333INXXnkFJ06cqH594AMfwAMPPFD979l43pc6f/48fvazn2HhwoWz9rVuWOgUBNPf329yuZzZv3+/+elPf2o++9nPms7OTjM8PBx6ak0zMTFhXn75ZfPyyy8bAOYrX/mKefnll80vfvELY4wxu3fvNp2dneZ73/ue+clPfmLuu+8+s3TpUjM1NRV45o37/Oc/bzo6Oszzzz9vzp49W/26cOFCdZ/Pfe5zZsmSJea5554zL774ounp6TE9PT0BZ335HnnkETMwMGBOnTplfvKTn5hHHnnERFFk/v3f/90YMzvP2ebiFJwxs/O8H374YfP888+bU6dOmR//+Memt7fX3HjjjebcuXPGmNl5zo1q2QXIGGO+/vWvmyVLlphsNmvuvPNOc/To0dBTaqof/vCHBkDd18aNG40x01HsL3zhC6arq8vkcjlzzz33mJMnT4ad9GWynS8As2/fvuo+U1NT5k//9E/N9ddfb6677jrzB3/wB+bs2bPhJt0Ef/zHf2xuueUWk81mzU033WTuueee6uJjzOw8Z5tLF6DZeN7333+/Wbhwoclms+Z3fud3zP3332/efPPN6uOz8ZwbpX5AIiISREv+G5CIiMx+WoBERCQILUAiIhKEFiAREQlCC5CIiAShBUhERILQAiQiIkFoARIRkSC0AImISBBagEREJAgtQCIiEsT/B4zRa5ga90kpAAAAAElFTkSuQmCC\n" + "image/png": "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6lOfwrFjx2rWKRQK2Lp1K6644gosXLgQmzdvxsjISKARN8eePXuwevXqmb+C7+npwb//+7/PPD4fj3m2hx56CFEUYceOHTPL5uNxf+lLX0IURTVfq1atmnl8Ph5zo1p2AvrOd76DnTt34oEHHsALL7yANWvWYMOGDTh9+nTooTXN5OQk1qxZg76+PuvjX/nKV/Doo4/im9/8Jo4ePYoFCxZgw4YNKBQslcIvEgMDA9i6dSuOHDmCp556CuVyGZ/4xCcwOTk5s84999yDJ554AgcOHMDAwABOnjyJTZs2BRz1+bvmmmvw0EMPYXBwEM8//zzWr1+P22+/Ha+++iqA+XnM53ruuefwrW99C6tXr65ZPl+P+4YbbsCpU6dmvn784x/PPDZfj7khpkXddNNNZuvWrTP/r1arZunSpWb37t0BR3XhADAHDx6c+X+apqa7u9s8/PDDM8tGR0dNPp83//zP/xxghBfG6dOnDQAzMDBgjDl7jNls1hw4cGBmnf/+7/82AMzhw4dDDfOCuPzyy83f//3fz/tjnpiYMNddd5156qmnzO///u+bu+++2xgzf6/1Aw88YNasWWN9bL4ec6Na8hNQqVTC4OAgent7Z5bFcYze3l4cPnw44MjeOcePH8fw8HDNOejo6MC6devm1TkYGxsDACxZsgQAMDg4iHK5XHPcq1atwvLly+fNcVerVfT392NychI9PT3z/pi3bt2KT37ykzXHB8zva/36669j6dKleM973oM777wTJ06cADC/j7kRLVcNGwDefPNNVKtVdHV11Szv6urCa6+9FmhU76zh4WEAsJ6Dtx672KVpih07duCWW27BjTfeCODscedyOXR2dtasOx+O++WXX0ZPTw8KhQIWLlyIgwcP4v3vfz9eeumleXvM/f39eOGFF/Dcc8/VPTZfr/W6deuwf/9+rFy5EqdOncKDDz6Ij370o3jllVfm7TE3qiUnILk0bN26Fa+88krNz8fns5UrV+Kll17C2NgY/uVf/gVbtmzBwMBA6GFdMENDQ7j77rvx1FNPoa2tLfRw3jEbN26c+ffq1auxbt06XHvttfjud7+L9vb2gCNrPS35I7grr7wSSZLUJUNGRkbQ3d0daFTvrLeOc76eg23btuEHP/gBfvSjH9V0TOzu7kapVMLo6GjN+vPhuHO5HN773vdi7dq12L17N9asWYOvf/3r8/aYBwcHcfr0aXzwgx9EJpNBJpPBwMAAHn30UWQyGXR1dc3L456ts7MT73vf+/DGG2/M22vdqJacgHK5HNauXYtDhw7NLEvTFIcOHUJPT0/Akb1zVqxYge7u7ppzMD4+jqNHj17U58AYg23btuHgwYN4+umnsWLFiprH165di2w2W3Pcx44dw4kTJy7q47ZJ0xTFYnHeHvOtt96Kl19+GS+99NLM14c+9CHceeedM/+ej8c925kzZ/Dzn/8cV1999by91g0LnYJg+vv7TT6fN/v37zc/+9nPzOc+9znT2dlphoeHQw+taSYmJsyLL75oXnzxRQPAfPWrXzUvvvii+eUvf2mMMeahhx4ynZ2d5vvf/7756U9/am6//XazYsUKMz09HXjkjfvCF75gOjo6zDPPPGNOnTo18zU1NTWzzuc//3mzfPly8/TTT5vnn3/e9PT0mJ6enoCjPn/33XefGRgYMMePHzc//elPzX333WeiKDL/8R//YYyZn8dsc24Kzpj5edz33nuveeaZZ8zx48fNT37yE9Pb22uuvPJKc/r0aWPM/DzmRrXsBGSMMd/4xjfM8uXLTS6XMzfddJM5cuRI6CE11Y9+9CMDoO5ry5YtxpizUewvfvGLpqury+TzeXPrrbeaY8eOhR30ebIdLwCzb9++mXWmp6fNn/3Zn5nLL7/cXHbZZeYP//APzalTp8INugn+5E/+xFx77bUml8uZq666ytx6660zk48x8/OYbWZPQPPxuO+44w5z9dVXm1wuZ37nd37H3HHHHeaNN96YeXw+HnOj1A9IRESCaMnfAYmIyPynCUhERILQBCQiIkFoAhIRkSA0AYmISBCagEREJAhNQCIiEoQmIBERCUITkIiIBKEJSEREgtAEJCIiQfx//2ubC1ULv2sAAAAASUVORK5CYII=\n" }, "metadata": {} } @@ -333,6 +334,29 @@ "execution_count": null, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "When using a `dict` cfg input, it is recommended to call `pmcx.mcxlab(cfg)` instead of `pmcx.run()` because `pmcx.mcxlab()` contains the pre- and post-processing code to make the output `res` similar to those returned by `mcxlab()` in MATLAB/Octave.\n", + "\n", + "Specificically, `pmcx.mcxlab()` further processes the `res['detp']` data into directionary with keys `{'detid', 'ppath', 'nscat', 'p', 'v', 'mom', 'iquv', 'w0'}` depends on `cfg['savedetflag']` and related input settings. In addition, `pmcx.mcxlab()` also process `res['traj']` trajectory data into directionary-formatted output for easy processing, including keys like `{'id', 'pos'}`. Please run `help(pmcx.mcxlab)` for more details." + ], + "metadata": { + "id": "6liEDDD-RXSy" + } + }, + { + "cell_type": "code", + "source": [ + "res=pmcx.mcxlab(cfg)\n", + "res.keys()" + ], + "metadata": { + "id": "IYigemuKRVb6" + }, + "execution_count": null, + "outputs": [] + }, { "cell_type": "markdown", "source": [ @@ -533,19 +557,19 @@ "colab": { "base_uri": "https://localhost:8080/" }, - "outputId": "d0f19864-83c9-4e7b-f359-ba585719cdb7" + "outputId": "c9c6d4cf-9ed0-45a9-e6ba-fe4a2cb38867" }, - "execution_count": null, + "execution_count": 9, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - "dict_keys(['nphoton', 'vol', 'tstart', 'tend', 'tstep', 'srcpos', 'srcdir', 'prop', 'detpos', 'issavedet', 'issrcfrom0', 'savedetflag'])" + "dict_keys(['nphoton', 'vol', 'tstart', 'tend', 'tstep', 'srcpos', 'srcdir', 'prop', 'detpos', 'issavedet', 'issrcfrom0'])" ] }, "metadata": {}, - "execution_count": 33 + "execution_count": 9 } ] }, @@ -561,7 +585,8 @@ { "cell_type": "code", "source": [ - "res=pmcx.run(cfg)" + "res=pmcx.mcxlab(cfg)\n", + "res['detp'].keys()" ], "metadata": { "id": "bT-OArmNKBHw" @@ -584,29 +609,27 @@ { "cell_type": "code", "source": [ - "plt.hist(res['detp'][1], bins=100, range=[0,200]);" + "plt.hist(res['detp']['ppath'][:,0], bins=100, range=[0,200]);" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", - "height": 265 + "height": 430 }, "id": "K2w3S9BdKBnS", - "outputId": "55a1a7d3-28e9-4404-a442-bac19fc3bcd9" + "outputId": "616b45e9-c2b0-4b63-f0dd-d97dea000c4f" }, - "execution_count": null, + "execution_count": 14, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ - "
" + "
" ], - "image/png": "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\n" + "image/png": "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k5OjefPmadKkSZo8ebKeffZZ1dfX64EHHvB3awAAwM8COuTMnj1bX375pfLy8uTxeDRhwgQVFha2uRj5agsLC9NTTz3V5tSYTWwfI+MLfLaPkfEFPtvH2BPGF9D3yQEAALiQgL0mBwAA4GIIOQAAwEqEHAAAYCVCDgAAsBIhpxusWbNGI0aMUHh4uJKSkrR7925/t3RZ8vPzdeutt6p///6KjIzUzJkzVVlZ6VPzwx/+UEFBQT7Lww8/7KeOO2f58uVteh89erSz/dy5c8rKytLAgQN13XXXadasWW1uPtnTjRgxos0Yg4KClJWVJSnw5q+0tFR33XWXYmJiFBQUpM2bN/tsN8YoLy9PQ4YMUZ8+fZSSkqJDhw751Jw+fVoZGRlyuVyKiIhQZmamzp49exVHcWEXG19TU5OWLl2q+Ph49evXTzExMbr//vt1/Phxn320N+crVqy4yiO5sEvN4fz589v0n5aW5lMTqHMoqd3fx6CgIK1atcqp6clz2JH3hY787ayurlZ6err69u2ryMhILVmyROfPn+/yfgk5XWzDhg3KycnRU089pY8//lgJCQlKTU3VyZMn/d1ap5WUlCgrK0s7d+5UUVGRmpqaNH36dNXX1/vUPfTQQzpx4oSzrFy50k8dd973vvc9n94/+OADZ9vixYv11ltvaePGjSopKdHx48d17733+rHbzvvoo498xldUVCRJ+ru/+zunJpDmr76+XgkJCVqzZk2721euXKnnn39e69at065du9SvXz+lpqbq3LlzTk1GRoYOHDigoqIibdmyRaWlpVqwYMHVGsJFXWx8X3/9tT7++GP94he/0Mcff6w//OEPqqys1N13392m9umnn/aZ00ceeeRqtN8hl5pDSUpLS/Pp//XXX/fZHqhzKMlnXCdOnNBvf/tbBQUFadasWT51PXUOO/K+cKm/nc3NzUpPT1djY6N27NihV199VQUFBcrLy+v6hg261OTJk01WVpbzuLm52cTExJj8/Hw/dtU1Tp48aSSZkpISZ91f//Vfm0cffdR/TV2Bp556yiQkJLS7rba21vTu3dts3LjRWffZZ58ZSaasrOwqddj1Hn30UXPDDTeYlpYWY0xgz58ks2nTJudxS0uLiY6ONqtWrXLW1dbWmrCwMPP6668bY4z59NNPjSTz0UcfOTV//OMfTVBQkPnf//3fq9Z7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\n" }, - "metadata": { - "needs_background": "light" - } + "metadata": {} } ] }, @@ -640,7 +663,7 @@ "metadata": { "id": "PClnQkheOZUY" }, - "execution_count": null, + "execution_count": 15, "outputs": [] }, { @@ -656,6 +679,28 @@ "execution_count": null, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "In this case, **it is recommended to call `pmcx.mcxlab(cfg)`** instead of `pmcx.run()` as the `pmcx.mcxlab` function splits the detected photon data into detailed named dictionary fields" + ], + "metadata": { + "id": "ppZhI53VTdl2" + } + }, + { + "cell_type": "code", + "source": [ + "res=pmcx.mcxlab(cfg)\n", + "\n", + "res['detp'].keys()" + ], + "metadata": { + "id": "pkRmeLRATP68" + }, + "execution_count": null, + "outputs": [] + }, { "cell_type": "markdown", "source": [ @@ -672,37 +717,19 @@ "cell_type": "code", "source": [ "# plot photon existing position for Det#1 in red\n", - "plt.scatter(res['detp'][3][res['detp'][0]==1], res['detp'][4][res['detp'][0]==1],\n", + "plt.scatter(res['detp']['p'][res['detp']['detid']==1,0], res['detp']['p'][res['detp']['detid']==1,1],\n", " marker='.',color='red');\n", "\n", "# plot photon existing position for Det#2 in blue\n", - "plt.scatter(res['detp'][3][res['detp'][0]==2], res['detp'][4][res['detp'][0]==2],\n", + "plt.scatter(res['detp']['p'][res['detp']['detid']==2,0], res['detp']['p'][res['detp']['detid']==2,1],\n", " marker='.',color='blue');\n", "plt.axis('equal');" ], "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 265 - }, - "id": "POapUtwoQmWx", - "outputId": "b5d62dc2-4f7b-4ea6-d2cd-028dc6727bf3" + "id": "POapUtwoQmWx" }, "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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\n" - }, - "metadata": { - "needs_background": "light" - } - } - ] + "outputs": [] }, { "cell_type": "markdown", @@ -785,7 +812,7 @@ "cfg['vol'][:,:,0]=0\n", "cfg['issaveref']=1\n", "\n", - "res=pmcx.run(cfg)\n", + "res=pmcx.mcxlab(cfg)\n", "\n", "res.keys()" ], @@ -857,7 +884,7 @@ "cfg['issaveseed']=1 ##!important!# set this flag to store detected photon seed data\n", "\n", "# run baseline simulation, now seed data are stored in res['seeds']]\n", - "res=pmcx.run(cfg)\n", + "res=pmcx.mcxlab(cfg)\n", "res.keys()" ], "metadata": { @@ -872,19 +899,41 @@ "# Step 2 - replay detected photon and output Jacobian\n", "cfg_replay=cfg;\n", "cfg_replay['seed']=res['seeds'] # one must define cfg['seed'] using the returned seeds\n", - "cfg_replay['detphotons']=res['detp'] # one must define cfg['detphotons'] using the returned detp data\n", + "cfg_replay['detphotons']=res['detp']['data'] # one must define cfg['detphotons'] using the returned detp data\n", "cfg_replay['outputtype']='jacobian' # tell mcx to output absorption (μ_a) Jacobian\n", "\n", "# run replay, if done properly, the exact the same set of photons will be \"redetected\"\n", - "res2=pmcx.run(cfg_replay)\n", + "res2=pmcx.mcxlab(cfg_replay)\n", "res2.keys()\n", "print({'redetection':res2['seeds'].shape, 'initial_detection':res['seeds'].shape})" ], "metadata": { - "id": "RL30AahxxlnP" + "id": "RL30AahxxlnP", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "19f0c007-59fa-4715-9969-9b5f960d1619" }, - "execution_count": null, - "outputs": [] + "execution_count": 27, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "nphoton: 1e+07\n", + "tstart: 0\n", + "tstep: 5e-09\n", + "tend: 5e-09\n", + "issrcfrom0: 1\n", + "srcpos: [30, 30, 0, 1]\n", + "srcdir: [0, 0, 1, 0]\n", + "issavedet: 1\n", + "issaveseed: 1\n", + "dict_keys(['seeds', 'detp', 'flux', 'stat'])\n", + "{'redetection': (16, 11217), 'initial_detection': (16, 11218)}\n" + ] + } + ] }, { "cell_type": "code", @@ -896,19 +945,19 @@ ], "metadata": { "id": "hNDTPCDIydZC", - "outputId": "2c29e389-4ae0-4220-8550-6d7a0118eab5", + "outputId": "d5b4047a-34ab-4191-b2ec-a623ab70d3c2", "colab": { "base_uri": "https://localhost:8080/", "height": 468 } }, - "execution_count": null, + "execution_count": 28, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ - ":2: RuntimeWarning: divide by zero encountered in log10\n", + ":2: RuntimeWarning: divide by zero encountered in log10\n", " plt.imshow(np.log10(res2['flux'][30,:, :]))\n" ] }, @@ -918,7 +967,7 @@ "text/plain": [ "
" ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfMAAAGfCAYAAABLOTtqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABFiUlEQVR4nO3de3SU1b0//vfcJxdmQiAkUEIkguCloKJi1J4iUpFjXVr5+rP+XC1UFn71gEshXki1IioGBcUbUuuhQJe1KD1VV/UU9YDiUcFLFBUQBAWSCgnecs9cn+f7x5S0A5/PhMlMyDyT92utWcvseZ5n7/3M4J69n8/e22aapgkiIiKyLHtvF4CIiIhSw8aciIjI4tiYExERWRwbcyIiIotjY05ERGRxbMyJiIgsjo05ERGRxbExJyIisjg25kRERBbHxpyIiMjinD114WXLlmHx4sWor6/H2LFj8dhjj+Gss87q8jzDMLB//37069cPNputp4pHREQ9xDRNtLS0YMiQIbDbe67PGAgEEAqFUr6O2+2G1+tNQ4l6kdkD1qxZY7rdbvP3v/+9uW3bNnPmzJlmQUGB2dDQ0OW5dXV1JgC++OKLL74s/qqrq+uJJsY0TdPs6OgwSwY50lLOkpISs6Ojo8fKeizYTDP9G62MHz8eZ555Jh5//HEAsd52aWkpbrjhBsybNy/huU1NTSgoKEBdXR18Pl+6i5bRTl36uJge9cofkT0oj1x8fNPspPI9865l6nvBAXLen9yQXB5E1Hc0NzejtLQUjY2N8Pv9PZaH3+/Hnpoy+Pp1v/ff3GJg+Lh9aGpqsnSbk/Zh9lAohJqaGlRVVXWm2e12TJo0CZs2bTri+GAwiGAw2Pl3S0sLAMDn81n6xnaHXRnmMbXGXHkMkex9c3j04SW7kndf+2yIKHnH4lGpr589pcY8W6T9DnzzzTeIRqMoLi6OSy8uLkZ9ff0Rx1dXV8Pv93e+SktL010kIiLKUlHTSPmVDXr950xVVRWampo6X3V1db1dJCIisggDZsqvbJD2YfaBAwfC4XCgoaEhLr2hoQElJSVHHO/xeODxeNJdjGOmbNX9Yvq+6beJ6SOeu0e9lv14+Uu1+//cKaYft3xJF6U7OpFc/T3bDzrSkgcRUU8wYCCVvnVqZ2eOtPfM3W43xo0bh/Xr13emGYaB9evXo6KiIt3ZERER9Xk9Ms987ty5mDZtGs444wycddZZePjhh9HW1oZf/epXPZEdERH1UVHTRDSFSVmpnJtJeqQxv/LKK/H111/jzjvvRH19PU499VSsW7fuiKA4IiKiVKT63JvPzLswe/ZszJ7NuchEREQ9rccacyIiop5mwESUPXM25kfrhHuWiukFX7vlE6bLyU6nHjnpcMjvnfTCXWL6wOPkNYmH//E+Md3tjcgZn6gWCZHvcvQ30+D4NQvF9GjIoZ6z95fyKoLHL35ITLeH5evs+vXcxIXrBVodvrgl88pKlAk4zB7T6/PMiYiIKDXsmRMRkWUxmj2GjTkREVmW8Y9XKudnAw6zExERWRx75kREZFnRFKPZUzk3k/TZxrz8oQfFdFMZqyg68xsx3TDlLf7OeVVem91m06PDnXZ5wMfjkqPQGw4UyBcKyZUItCsft0v/MucXt4rp5Uvl+/flnEr1WhItZ9v3LvWc4Y/IeUNZ4v+LW5IrU29i1DpRcqJm7JXK+dmgzzbmRERkfXxmHsNn5kRERBbHnjkREVmWARuikB93Hu352YCNORERWZZhxl6pnJ8NOMxORERkceyZExGRZUVTHGZP5dxMktWN+ej58uYoAJA7rklMb22Wp445lGlj/VzyLh5//65ATHcp08wAwK7kEQzLH5NvQJuY3trilfP2yHmHg/rXwDDkL3q0X1RMH/GAvFGIxtWRK6YHB8rXBwBTmUq379pbksqbiKyPjXkMh9mJiIgsLqt75kRElN0M06Yu3nW052cDNuZERGRZHGaP4TA7ERGRxbFnTkRElhWFHdEU+qV6qK21ZHVjvmPBHPW9sX/9jZheNvhbMV3bBKUjLG8IkusNiunNLXL0NgB4fO1iekGenP7Vd34x3eaQo721yHRbgn8Hn/3sLjF95Np7xPRQJLkhq3Cx8k8pwXMsx/fy1/Z4JZLe8Mj3w/u1XPHP7pW/NyMX6pH6u27nBilEvcFM8Zm5yWfmREREvYvPzGP4zJyIiMji2DMnIiLLipp2RM0UnplnydrsbMyJiMiyDNhgpDDIbCA7WnMOsxMREVlcxvbM/+3Vu+HI9cSlOR1y5LNLiTS32/RfXLke+XdMW8gtpkeVSPBI1CGmD8yX101vD3jEdAAIReRr7dk2REx3DuoQ07U13r1eeR15w9AnZ5StvF9M7zdAvla0XY7W1yLKzYjye1KuQuwtJW+0yF9nW/+QmN5h1z8LSWhAtkxiIcoeDICLydjGnIiIqCupPzPnMDsRERFlAPbMiYjIsmIBcClstMJhdiIiot5lpLicK6PZiYiIKCNkbM+8pd0NB+KjjQf45AhxhxK9nWjNXYcS6e52y5HP2rWaOrxieqOSXuxvUcuU65Lzrh8u1y9qyL/F1Kh/h3wdW4Ko/442Obpfux/2H8gR9rZaOco94pLzzhkor0cPAHa7fE5bIE8+4Vs5at1ZLOcx4n5lDfYCtUhE1EsYABeTsY05ERFRVwzYuWgM2JgTEZGFRU0boinsfJbKuZmEz8yJiIgsjj1zIiKyrGiK0exRDrMTERH1LsO0w0ghAM5gAFzPKvK1wZkXiUsLROTiNrXniOnFPj1y3KY8Jwkpa63398pR2lokfVi5jkuJNAeAYFSu36D8VjF937eFct7KGu+OnKCYHo3q/xBy8+VztAh4uxIxH8qR010FATHd6dTvU2uz/HlDKZOrRI5adyhl3XHbXDG97HeL1TIREfWmjG3MiYiIusJh9hg25kREZFkGUotIT7BBo6Uwmp2IiMji2DMnIiLLSn3RmOzo07IxJyIiy0p9OVc25j3KMG0wDnsO4lYiwb15crSyy65HRNuVyOd+bjl6264ESWgR9n6PHKXtTlCmrzvktcWDyseU65XL2tYhr0XeFpDXWXcniBzXotY9yjkt38l18CgR5do664nW1bc75HOMkPyPMhyQ719YyaNs5f1iuqPFpZbp9Jnyeu7NI+Xjw0VhMX3fr25T8yAi0mRsY05ERNQV7mcekx3jC0RE1CcdGmZP5dUT9u7dixkzZmD48OHIycnB8ccfj/nz5yMUknfHTBV75kREZFmpzzPvmcZ8x44dMAwDTz75JEaMGIGtW7di5syZaGtrw5IlS9KeHxtzIiLq85qbm+P+9ng88Hjk+KOjcdFFF+Giiy7q/Lu8vBw7d+7E8uXLe6Qx5zA7ERFZ1qFg6VReAFBaWgq/39/5qq6uTntZm5qaUFgoL8OdKvbMiYjIsowUh9kPzTOvq6uDz+frTE+lVy7ZvXs3HnvssR7plQPdaMzffPNNLF68GDU1NThw4ACef/55XHbZZZ3vm6aJ+fPn46mnnkJjYyPOPfdcLF++HCNHKnN0FP1zOuDKiZ/+dPhUtUPc9oiY7nXI6YA+Ne2bgDy1SrtWab9GMT3HIU89agnrX5DBec1iesiQP6YWh3wtr0u5H045XZteBwBff99PPkc5vv9AeXOb1javmG4os+K0KWuAPl3ONUjeDEcT+l4uEzxyoYxcfeHHb89S3jPk72y/bfI0QU3ZUw+I6ftm3prUdYhI5vP54hpzzbx583D//fL01UM+++wzjB49uvPvr776ChdddBGuuOIKzJw5M+WySpJuzNva2jB27Fhcc801uPzyy494/4EHHsCjjz6K1atXY/jw4fjNb36DyZMnY/v27fB6lf95EhERdUPqW6Amd25lZSWmT5+e8Jjy8vLO/96/fz/OP/98nHPOOfjd737XnSIelaQb8ylTpmDKlCnie6Zp4uGHH8Ydd9yBSy+9FADwhz/8AcXFxXjhhRfw85///IhzgsEggsF/Ln5yeBACERGRJgoboinMFU/23KKiIhQVFR3VsV999RXOP/98jBs3DitXroTd3nNhamm98p49e1BfX49JkyZ1pvn9fowfPx6bNm0Sz6muro4LOigtLU1nkYiIiI65r776ChMmTMCwYcOwZMkSfP3116ivr0d9fX2P5JfWALhDhSwuLo5LLy4uVitQVVWFuXPndv7d3NzMBp2IiI7KsR5mP1qvvfYadu/ejd27d2Po0KFx75lm+vdQ7/WpaR6PpzPw4GgDEIiIiAAgin8OtXfv1TOmT58O0zTFV09Ia8+8pKQEANDQ0IDBgwd3pjc0NODUU09N6lrfdeTAaY+P1s51yRHixV45grojqm+M4VEi4As98oYg6nWUKPdgVL61WmQ6AHRE5PLmOOV6+91yTLl2nYjyC9Rl16O083KVjWeUc7QNUjxeuQ7hsENMDwX1++T2yNfqaJWj+20JIuPlC8llsgX1Z2uOVrm8kQFyWVuPk/8XUrZKjpJ1NurfZSKitPbMhw8fjpKSEqxfv74zrbm5Ge+++y4qKirSmRUREVHnMHsqr2yQdM+8tbUVu3fv7vx7z5492LJlCwoLCzFs2DDcdNNNuPfeezFy5MjOqWlDhgyJm4tORESUDtzPPCbpxvyDDz7A+eef3/n3oeC1adOmYdWqVbj11lvR1taGa6+9Fo2NjTjvvPOwbt06zjEnIqK0M1PcAtXMki1Qk27MJ0yYkPABvs1mw91334277747pYIRERHR0eHa7EREZFkcZo/J2MbcMOyIGvE3Oc8pb+qurbOupQNAWPkA+7nkCHGHci0tYl5bmz1RmfKdcuR4IMnIeC36XYtm16LfAcDpkKPW89zyZ/F1i7y2vS9Xua858v1oC+prl7e1y1HrprIOuhmV6+1ok9Oj+XKkuenSP7uoO7mIeVtUGdpTIu+/uGWumE7U1/3rzmfdPT8bZMdPEiIioj4sY3vmREREXYmmuAVqKudmEjbmRERkWRxmj8mOnyRERER9GHvmRERkWQbsMFLol6ZybibJ2Ma8JL8Zrrz4iOaSHHkN9qgyTOJTItMBwGmTI5a1pf3sNjmq267cQqddvr6WnihvbUEEr7IufGtEjvbW1osPRPSvQY6yHn7EkMtakNchpmsDWVp0vxZFDwDh75U12JUIcS0K3dCi05V/26YzQcS68p69Rb63e26sFNOPe2KJmF721ANi+r6Zt+plIuoDoqZNbQOO9vxskB0/SYiIiPqwjO2ZExERdYUBcDFszImIyLLMFHc+M7kCHBERUe+KwoZoCpulpHJuJsmOnyRERER9WMb2zAvd7XB74qO18xzy2uVaRLQDekS0Jmw6ksoj2by16wNAR1RejzzPIa+D3qJErWtrvGtcCSLsD18f/xCHXa5fe1iuQ4uy1nowLK8Lb1euD+hR6/aQnB7Nketny1PWYG+Ty+T5Wv/sgoOUaylrto+sfkhM31t1s5he9p9yNDtRX2eYqT33NpLbViFjZWxjTkRE1BUjxWfmqZybSbKjFkRERH0Ye+ZERGRZBmzqwlpHe342YGNORESWxRXgYjjMTkREZHEZ2zMf6G6Fxx0fVZyrRHXboUSUK+upA0BUCXrQztGOD9qV9c4NOSJaiw4HgDwlCv27UK6YrkXShww56trrkNdZhx6kjfaIHIXepkSta2u257jkdeRdyhrsja05aplsBfL3wGiUywTll7fdoYSxdsh1iIyQ150HAIeSx5dX/VpML1/6oJhetnqRnIH8dcIP5y5Vy/TpQ3PU94iyBQPgYjK2MSciIuqKgRSXc82SZ+bZ8ZOEiIioD2PPnIiILMtMMZrdzJKeORtzIiKyLO6aFsPGnIiILIsBcDHZUQsiIqI+LGN75kXuFnjd8cXz2uSpVVHlN4l2fKJzgsqUsnZDnvbkgTzlKmqTr+9y6JuaaJuwFLrbxfSOqFzWb4N5Yro2lU2bTpboHGeCjVAk2pQ8Ld3tlu8rAOR45M81lCtPWQsG5ftkGPLwmm2QPEXwy5/frpbpuMeXqO+J15pTmdTxwx+Wp7I1n6h/x0+dJW/msmXZ3KTyJspkHGaPydjGnIiIqCtczjWGw+xEREQWx545ERFZFofZY9iYExGRZbExj+EwOxERkcVlbM98oLMFOc744rlscoSz2yZHiGubowBAwFR2rlDYlQ1YtOh3TdDUb7n2C9Gl1K9D2X3D65Dvk7YBi7aZSsIy2ZUyheUyBSNyvYMRuUyJfivneZQNd5RNb4IBuX6mEs3ucMl1G1ktR4cDwN6qm5M6Z1dVchHle26So9/LnnpAPadppLKRDFEWYc88JmMbcyIioq6wMY/hMDsREZHFsWdORESWZSK1ueLZ8jCKjTkREVkWh9lj2JgTEZFlsTGPydjG/AfO75Hnin+k74YcZRyCHBEdSBBp7jDl6HQH5PQ2wyOmG8oa7Fo0grYeeKJztEhwTbJfTp87oL7XGpbrrUm09rwk3yOvg65FxQP6/Qgp6QP7t8jXCcvHNzfnyBkP0+/TcY/Ja6ebRcndD03ZbxfLb7j1QUIjX85bW0d+72w5Ip+IMl/GNuZERERdYc88ho05ERFZFhvzGE5NIyIisjj2zImIyLJM0wYzhd51KudmEjbmRERkWdzPPCZjG/PRrjb0OyyavcmQI3dblKh1h12OTAcAJWgdduWcaJJPJNqV6HdtnXUAsCvLFwTscv08prwGe4eybrpTmQ1gJFjD3ueSI7ibw14xPccZFtPtNrlu37fLkeMRQy9TRFnPPRqVzwmF5K+5TSlTbr4cYd9W61PLpHF+J+etRac72uU62HKU/+G0y/cCAGzKzAnDm+DfBRFZEp+ZExGRZR0KgEvl1dOCwSBOPfVU2Gw2bNmypUfyYGNORESWdeiZeSqvnnbrrbdiyJAhPZoHG3MiIqIe8re//Q2vvvoqliyRF2tKl4x9Zk5ERNSVdM0zb25ujkv3eDzweJJbAfNwDQ0NmDlzJl544QXk5uamdK2usGdORESWla5h9tLSUvj9/s5XdXV1iuUyMX36dFx33XU444wz0lHVhJLqmVdXV+Mvf/kLduzYgZycHJxzzjm4//77MWrUqM5jAoEAKisrsWbNGgSDQUyePBlPPPEEiouLkyqYx+aA97B1zwM2OXo7pESIhxL8VnEr5xjKOS4l77BNjibWjvfY9V+QrVE5Qlz71alFiHuUaHbtOnL8eUzElL8iuc6QmN4ckuuQ55KPd+bJkdVft+WpZWrrkPMoKGhTjpd/XTudct4dHW4x3VYoR7kDgKlE0kc8SrS5Q/7sDI+cvvd6ed308gcfUsv0ZeVcMf34xfo5RFZjptgzP9SY19XVwef754wVrVc+b9483H///Qmv+dlnn+HVV19FS0sLqqqqul22ZCTVmG/cuBGzZs3CmWeeiUgkgl//+te48MILsX37duTlxf7nO2fOHLz88stYu3Yt/H4/Zs+ejcsvvxxvv/12j1SAiIgoVT6fL64x11RWVmL69OkJjykvL8eGDRuwadOmI34UnHHGGbj66quxevXqVIp7hKQa83Xr1sX9vWrVKgwaNAg1NTX4t3/7NzQ1NWHFihV45plnMHHiRADAypUrceKJJ2Lz5s04++yz01dyIiLq80wApr554FGdn4yioiIUFRV1edyjjz6Ke++9t/Pv/fv3Y/LkyXj22Wcxfvz4JHPtWkoBcE1NTQCAwsJCAEBNTQ3C4TAmTZrUeczo0aMxbNgwbNq0SWzMg8EggsF/Dl8eHoRARESkMWCDLQNXgBs2bFjc3/n5+QCA448/HkOHDk17ft0OgDMMAzfddBPOPfdcnHLKKQCA+vp6uN1uFBQUxB1bXFyM+vp68TrV1dVxQQelpaXdLRIREVGf1O2e+axZs7B161a89dZbKRWgqqoKc+f+M1CnubmZDToRER0Vq2y0ctxxx8FM5XlAF7rVmM+ePRsvvfQS3nzzzbjhgpKSEoRCITQ2Nsb1zhsaGlBSUiJeS5vL9000gqASIXy0HAmehmjR5iFTjj722uSY77BNvoUhJT3RAxpt3XYtat2lrLVe4GoX08NK3doi+lzKQFReF16jlVVba70jIl8/ENLz1aLWc1zyZ9rSKq//3t4h56FFptvs+odnhuVz7Mpa66ZLvpb7e/n44Y8+KKY7wsn/j+iLW+QodyIrMkwbbNzPPLlhdtM0MXv2bDz//PPYsGEDhg8fHvf+uHHj4HK5sH79+s60nTt3ora2FhUVFekpMREREcVJqmc+a9YsPPPMM3jxxRfRr1+/zufgfr8fOTk58Pv9mDFjBubOnYvCwkL4fD7ccMMNqKioYCQ7ERGlnWmmGM3ecyPfx1RSjfny5csBABMmTIhLX7lyZee8u6VLl8Jut2Pq1Klxi8YQERGlm1Wemfe0pBrzo3l47/V6sWzZMixbtqzbhSIiIqKjx41WiIjIstgzj2FjTkRElsVo9piMbcxbTSdgxgfbuyBvjNGdFXy0aWsOm5yHNqVMm+LmVjZg0TZmAQDDJk8u6OcIiOntUXlDkKAhf6zalzZi6pMatKlmoahcD3UzF0M+Xru+L1euMwBElWluGrtD/kxz8uXPLhKRyxoJ6Z+dGZTL5OyQ70coRy7T53ckN21s5EJumkJ9GwPgYrgFKhERkcVlbM+ciIioK7GeeSrPzNNYmF7ExpyIiCyLAXAxHGYnIiKyOPbMiYjIskwkvyf54edng4xtzMOmHeHDo6x7cTQk2Sh39TpKRD6gb7SiptvldG1DFW1jFqdWNwA5DnmDGY3b0SGmf92RL5fJIZdJ25gFAGxKBHwwIn+dnU65fqEE0emSRMNx3kI5+j7vA7ne3/ZPKmuVs10v0wn3ypHuyUbME2UyDrPHcJidiIjI4jK2Z05ERNQljrMDYGNORERWluIwO7JkmJ2NORERWRZXgIvhM3MiIiKLy9ieuQEbooeFrzsycDhEW+PdrkSta2uRA0BUqV80wdrpEm199KDhEtO1qHgAiETlvJPdnECLmNci07UodwAIBj1JXctu1/JW1ou3K+v25+iR/YFvc8R05783ienukPxPr/yhB+UyReT7nd+oFgltciC96vyfLBLTX39tXnIXIjqGGM0ek7GNORERUZdMW2rPvbOkMecwOxERkcWxZ05ERJbFALgYNuZERGRdnGcOgMPsRERElpexPXPDtMM4Ym325CLEtejwRLTodC09nY6o7z9oa60HlOh07X4csdZ9F/kCQNiQ89ai09sjbjHdoUSUa1HxiSJM3c6InEeCmQKS1sZcOe92uc4Ovx7NbgvL5e34wiemGx65rHvnVorpF/3wDjH9yysL1TJFlTxOvGOpfMJ4eZbARSfcKqav+/wBNW+iY4XR7DEZ25gTEREdlSwZKk8Fh9mJiIgsjj1zIiKyLA6zx7AxJyIi62I0OwA25kREZGm2f7xSOd/6MrYxt9sM2G2HpyX3EypRBLoWl3z4evBdSfb4RFw2eT1yLV2jRb9rUestETmKGUg+ar0jIkfYa/JcQTE9kOA6oYj8tQ2E5XTte2OG5Pthy5ej5Y2wHmJieuX7FM2R8953zW1i+pSyOWL6zsqhYrpdvn2x97QI+xL5+7R39s3yhe7V8yCizJCxjTkREVGXOMwOgI05ERFZGRtzAJyaRkREZHnsmRMRkXVxC1QAbMyJiMjCuGtaTMY25i4YODxeOtn10Y00RpprUetamQzlCYa2FjmgR6FrHJAjqD12ORo7Ylei3B16mZrCXjHd7ZDzaArJx+c45fkDLcr120JytDwAGMrXIBiUv845XjnvvIHtYrq2jnxLc45aJrdPDiuPRuR7ftzjS8T0vfvkddOPX/yQmP6DN+TPAQDefFleU52Isk/GNuZERERdYgAcADbmRERkZXxmDoDR7ERERJbHnjkREVmWzYy9Ujk/G7AxJyIi6+IzcwBszImIyMr4zBxABjfmufYIcu1H90g/qnwYCTdmUd6KKpuRaOnadDL9eP2Wa9PftCl2Wv1alU1KtOsEDb1MEUOuX0hJ7+eWp2g1B+UpaNpUvaAypQsAct3yVDNtClpbu76RjMThkKemoUnf/CXsV95QvmdmjpzHccvlKWs2l3yf6iv0z+68yxeL6R395XvrDMiFffePlWL66DvlaXQ77pY3iyGinpOxjTkREVGXOMwOgI05ERFZGRtzAJyaRkREZHnsmRMRkXWxZw6AjTkREVkZo9kBZHBj3t8O9DvsIUBY2d4moPy0CisR5Yk4bHKUsaFFuStPKtQo9wSbv2h5aNfSIsHVsnbjS5vrDMl5ROQIcactKqbblMj7cFSumxaxDgBRQ66f2ynn3dwuf83tHvl4KIH07u/0CHujTS5TJE/+Prmb5eOdrfJn5OyQ8w0VqEXCgbOT27jHVDbcGf7wg3KZPOn7n+BZv5TziCpR/I6w/H167w9y5D1Rb3n55Zdx991345NPPoHX68WPf/xjvPDCC2nPJ2MbcyIioq5k8gpw//Vf/4WZM2fivvvuw8SJExGJRLB169YeyYuNORERWVeGPjOPRCK48cYbsXjxYsyYMaMz/aSTTuqR/BjNTkREfV5zc3PcKxiUF8A6Wh9++CG++uor2O12nHbaaRg8eDCmTJnSYz1zNuZERNTnlZaWwu/3d76qq6tTut6XX34JALjrrrtwxx134KWXXkL//v0xYcIEfPfdd+kochw25kREZFk2/PO5ebde/7hOXV0dmpqaOl9VVVVifvPmzYPNZkv42rFjBwwjFvx6++23Y+rUqRg3bhxWrlwJm82GtWvXpv0+JPXMfPny5Vi+fDn27t0LADj55JNx5513YsqUKQCAQCCAyspKrFmzBsFgEJMnT8YTTzyB4uLipAs2wJEHnyP+t0arERCPjRoRMd2hRL8noq2dnuza7Np1tEjzRNdKNm+nXY7S7gjra4trtPXcO5T134Hk8mjpkNdsdzmUSPMEgmHl66wEXdvqtfXi5eONfsqa7QDsETkT70H5M9qxQF6//LjH5bXZ8+rk60S8+nc8miO/Z+bK99b1rXz/TGUWRKSffP0T7n1ILdPnd8wV07WodcMtX6dmBaPW6R/SNDXN5/PB5/N1eXhlZSWmT5+e8Jjy8nIcOHAAQPwzco/Hg/LyctTW1na/vIqkGvOhQ4di0aJFGDlyJEzTxOrVq3HppZfio48+wsknn4w5c+bg5Zdfxtq1a+H3+zF79mxcfvnlePvtt9NecCIiomOtqKgIRUVFXR43btw4eDwe7Ny5E+eddx4AIBwOY+/evSgrK0t7uZJqzC+55JK4vxcuXIjly5dj8+bNGDp0KFasWIFnnnkGEydOBACsXLkSJ554IjZv3oyzzz47faUmIiICMjaa3efz4brrrsP8+fNRWlqKsrIyLF4c28nwiiuuSHt+3Z6aFo1GsXbtWrS1taGiogI1NTUIh8OYNGlS5zGjR4/GsGHDsGnTJrUxDwaDcVGDzc3N3S0SERH1NRnamAPA4sWL4XQ68Ytf/AIdHR0YP348NmzYgP79+6c9r6Qb808//RQVFRUIBALIz8/H888/j5NOOglbtmyB2+1GQUFB3PHFxcWor69Xr1ddXY0FCxYkXXAiIqJM5nK5sGTJEixZIsfCpFPS0eyjRo3Cli1b8O677+L666/HtGnTsH379m4XoKqqKi6CsK6urtvXIiKiviWlSPYUV4/LJEn3zN1uN0aMGAEg9oD//fffxyOPPIIrr7wSoVAIjY2Ncb3zhoYGlJSUqNfzeDzweI5c5/uNDjvynPERvA7kJlXWgKlHVmtrpLdEc8T0kBI5HlKi1tuVMFwtMj3Rex1RuR5BQ0tP7mPV1ngHALsyBuV3y4uFt0fkejcF5MjxcFi5r0G9Dlp0tXFQzgN+eZ33qF+eBdH/QznvjhL9swsWyRHiw9bJeZw8b6mY7smV70dwgPw5KBMXYu81y/ep36dy/VqUmJzdt8sR6GmlfAU/Wn4M8iZry+Bh9mMp5XnmhmEgGAxi3LhxcLlcWL9+fed7O3fuRG1tLSoqKlLNhoiIiBRJdeGqqqowZcoUDBs2DC0tLXjmmWfwxhtv4JVXXoHf78eMGTMwd+5cFBYWwufz4YYbbkBFRQUj2YmIqGewZw4gycb84MGD+OUvf4kDBw7A7/djzJgxeOWVV/CTn/wEALB06VLY7XZMnTo1btEYIiKinpDJu6YdS0k15itWrEj4vtfrxbJly7Bs2bKUCkVERERHj1ugEhGRdaVpOVery9jG/ECkADmHrbXttctRyZpE66BHldg/bb1zLWq9NapEaSvXSURbB10ra1tUjhwPG0odlPSEZUryi25XxqzUCPSoXDfzgBKZDsD9nXyOto632SK/4Qgq684rWwlE3fp4nG+nfG9f/5+bxfSy3y4W0z1fK2v6u+S8v7xVX6N81N1yxPyHv5PXhU/W8YvlNdgLdujn2OXgfphHTmghOjp8Zg4ggxtzIiKirvCZeQy3QCUiIrI49syJiMi6OMwOgI05ERFZWapLsmZJY85hdiIiIovL2J75wYgf3kh88XLtIfFYly3BAtUKLUo7rESta2u5a2uwB5R10xPR1mAPJbnWekSJ4tcizQMRvazJXktL1xgNctS68jHE3lOKm3tAznvwuq/E9L//bKiYHiyQr+9W1joHgNYyQ0wf/vCD8gl5clmjnvR1E3beKUetn3GNHIXeNEK+zq5fy+ujf3FL762bPm6GXIeaFVzLvc/hMDuADG7MiYiIusTGHACH2YmIiCyPPXMiIrIszjOPYc+ciIjI4tiYExERWRyH2YmIyLoYAAcggxvz5kgOgodNmQrb5eJqG7DYbfJ0oUSCypQybapZshuqJDo+2WtFk9wERZuO15FgaprHKe+M0RjIEdMDEfkzsikPpvzHfy+mf/9NP7VMtm+UDWby5frt/3d5Cpo9KF/f2S6nO5TjAeDLOfKGJ9rUtH0zbxXTj18iT7nSPurypcrUtwRl+uD38vSt8ofka428Ty6TNmPyi1t7fnoYp6DRIXxmHpOxjTkREdFRyZIGORV8Zk5ERGRx7JkTEZF18Zk5ADbmRERkYXxmHsNhdiIiIovL2J75/oAfbmd81PJAd6t4rLbRisuub8BiV8ZWDGVDlaiy4Yi2OYpGi5aPvSd/HFoeWrR+Y1CONDeVkGgt0hwAQlE5wl6LWnc55HveEZLr0LyzUM44X//sCnbJ9e4olD8jm6FsCiMH6sN5UE7370kQzq7Yc5McUT7pvHvFdOP/yJ+ddp2TqpaqeR//gByFrkWbOwLy90PZS4goM3CYHUAGN+ZERERd4TB7DIfZiYiILI49cyIisi4OswNgY05ERFbGxhwAh9mJiIgsL2N75hHTAZsRH0mtRXsbNjkKtz1BGK5HCWWOGPLvG23d9IiSrkXLN0c8apkCStR6a1g+x61E62uR9+1h+fpeZf11AHAmub69W4lm3//3gWK6v1b+7OxhfZ3670fJ57ib5eM/fVCO3j75VjkSfNsDc8T0H//7A2qZzr5KXtfcEZa/B7nvfCym2y+rUPOQbK+WywoAo+frke4S5WsD0650XZLbGoCoRzAALiZjG3MiIqIucZgdABtzIiKyMjbmAPjMnIiIyPLYMyciIsviM/MYNuZERGRdHGYHkMGNeSDqRDQaX7yWiFc81q1Epuc4wur12xJElUvCSqivS4n2ViPvtZDhBLSo9ZCRXCS9Fnzc2CHfVwBwO+W8c13yvW1SruUqDIjppiNfTA/m66HSzjY5PVigniIK9U/uX7HnW7kOAODskD/vg6fJa62/bawV04c/LEfFd8eOBXqku0T7an45V14XXlv7nYiOvYxtzImIiLrCYfYYNuZERGRdHGYHwGh2IiIiy2PPnIiIrIs9cwBszImIyMJsSG1l4WxZlThjG/NA1IXoYWuVa2uU57uCYnquM6ReX4tCtyvREG0ReZ33iBICrK3xrl0fAAxT/lp1ROQ11XOcckS5Vuv2kHwdh7b2NoDmdjk6vaifElKuiATkvIP95eNtchA9AH0NdmWZfJx4u7xG+a6F8prtGnttg/pedOQQOV2fKCAy3fJnMfI+OXI86tU/Oy0K/eTblDXb5eXzVV/cmtz9I6Kek7GNORERUZc4zA6AjTkREVkYp6bFsDEnIiLrYs8cAKemERERWR575kREZG1Z0rtORcY25m0hN5yu+Oh1l0MOcY4oa5S3KxHoiWjR5qGofKsCSnqiqHWNFn3vsMuR91qEvbY2u6lEy0ei+uQM7ZywEq3f2JinXEe5vhJJ72zXy/TxY/Ka4yfPk6O0ty9Mbo3yk2+Vr7PtwLKkrtMdzmb5vob9yuyLgD64NmqBXI+d9yd3P4gyWSY/M//8889xyy234O2330YoFMKYMWNwzz334Pzzz097XhxmJyIi6gE//elPEYlEsGHDBtTU1GDs2LH46U9/ivr6+rTnxcaciIisy0zDqwd888032LVrF+bNm4cxY8Zg5MiRWLRoEdrb27F169a055exw+xERERdSdcwe3Nz/GpUHo8HHk9yW2X/qwEDBmDUqFH4wx/+gNNPPx0ejwdPPvkkBg0ahHHjxnW/wAr2zImIqM8rLS2F3+/vfFVXV6d0PZvNhv/5n//BRx99hH79+sHr9eKhhx7CunXr0L+/svRlCtiYExGRdaVpmL2urg5NTU2dr6qqKjG7efPmwWazJXzt2LEDpmli1qxZGDRoEP73f/8X7733Hi677DJccsklOHDgQNpvQ0qN+aJFi2Cz2XDTTTd1pgUCAcyaNQsDBgxAfn4+pk6dioYGfU1rIiKi7jo0zJ7KCwB8Pl/cSxtir6ysxGeffZbwVV5ejg0bNuCll17CmjVrcO655+L000/HE088gZycHKxevTrt96Hbz8zff/99PPnkkxgzZkxc+pw5c/Dyyy9j7dq18Pv9mD17Ni6//HK8/fbbSV0/FHUgGo2fchaMylPQwkq6zxNQr69NAwsom5potClorSH5izAwp1W9VlMoR85DidAIRuSPz+OMyHnny5ujNHbI+QKAYcrTAVsDcv3sTnkKlTdf3hQm4FF2VPlCL9Nxy5eI6S5fzw40jblJ2aAEQMtwud7ONmU6YK4yJc+Qj3d0yHX74mZ9s5PzfrZYfY+IuqeoqAhFRUVdHtfe3g4AsNvj/+3a7XYYhvz/i1R06/9+ra2tuPrqq/HUU0/Fjf03NTVhxYoVeOihhzBx4kSMGzcOK1euxDvvvIPNmzenrdBEREQAMjaavaKiAv3798e0adPw8ccfd84537NnDy6++OK059etxnzWrFm4+OKLMWnSpLj0mpoahMPhuPTRo0dj2LBh2LRpk3itYDCI5ubmuBcREdFRydDGfODAgVi3bh1aW1sxceJEnHHGGXjrrbfw4osvYuzYsWnPL+lh9jVr1uDDDz/E+++/f8R79fX1cLvdKCgoiEsvLi5WJ8lXV1djwYIFyRaDiIgoo1eAO+OMM/DKK6/0XAb/IqmeeV1dHW688Ub88Y9/hNfrTUsBqqqq4iII6+rq0nJdIiKiviKpnnlNTQ0OHjyI008/vTMtGo3izTffxOOPP45XXnkFoVAIjY2Ncb3zhoYGlJSUiNdMdWI+ERH1YdwCFUCSjfkFF1yATz/9NC7tV7/6FUaPHo3bbrsNpaWlcLlcWL9+PaZOnQoA2LlzJ2pra1FRUZFUwfLcITjd8ZG9B1vyxWPt3qCY3qJElAN6NLsBOZo4pETMB5PcaOVgez+1TE5lQxWbci1ts5NAQB41+fZ7+f4V+OUodwAIheX6ORxyWY2IXKaIkh5tljeLcSb4B5a3T/4sosrHXb70QTkPJdI8V7kdjSfqEaj2oFy/QR/K53x1gXydsFw1dSxwxAMPqWWKTpDLdLxyzhe36pHxRJnKZpqwaTs5HeX52SCpxrxfv3445ZRT4tLy8vIwYMCAzvQZM2Zg7ty5KCwshM/nww033ICKigqcffbZ6Ss1ERERdUr72uxLly6F3W7H1KlTEQwGMXnyZDzxxBPpzoaIiIjD7P+QcmP+xhtvxP3t9XqxbNkyLFvW83s/ExFR35bJ0ezHEtdmJyIisjhugUpERNbFYXYAGdyY1x4shD03Piq7X36HeOx3LXliepFPXwe9QYkqz3HKa4h/3SbnYSgR5R6XvD56Itqa6t+3y+uUO5WIcocSFe9yy9fvCMoR5QBgV67V1iiXKXeXfK32ciVMWwkQt4fkSHMACPnlf33aeufKBAV8foccvV32O3lNc0eLFmoO2JUl5uvPVga/InJZtXqbSta7E0Sgj7hfiXRX7seou+S153feNUfNg6i3cZg9hsPsREREFpexPXMiIqIucZgdABtzIiKyMA6zx7AxJyIi62LPHACfmRMREVlexvbMC/1tcOTFR18HlXXCQ3VypHn4xHb1+lFTDun9ri1XTO+nrP8eUaLZ25QIcW2ddQAIR+VrqWuzR+QQZ5dHDq2225XrhPSvgWEooc/KWuQdJUqEfa4cSR8NydcJ9dd/Zzo65DLZInoEvGT4o/Ka7Q5lgXQjV1+b3dUgn+OQvzbYXi1HoR/3mFwmV6tctxPu1ddm361E62vnMGqdrCpbhspTkbGNORERUZdMM/ZK5fwswGF2IiIii2PPnIiILIvR7DFszImIyLoYzQ6Aw+xERESWl7E98/awC46QKy6t5Xs50tylrGcdUqK9AcBUotnb2rxier4Sza5F2GvXV6PDAQSDLjHdoazB7nTKUevtSiS9dnzkc3mdegAwfyDXO+crud6BEfLx2rr6gZBcZ/vnHrVMYZ/8U9oRkI8/fnW9mL7u8wfUPJJ18jx5XfNti5KLENfWZrcH5fTuRKBra9ITWZHNiL1SOT8bZGxjTkRE1CUOswPgMDsREZHlsWdORESWxWj2GDbmRERkXVw0BgAbcyIisjD2zGMytjF/999vh8/nO6pjy363WEw3lHXTAaA9IEd8az/SGr6TyxLtkG+hXVkf3QjpEfZ5BXLEd8deOdo8UBgW03N9cli3VreIXw/ndByQo8ojufLFTGWt9aZGeSaCJl9Z0xwAPrstuWjs02vltchPv1ZOby6XrxPN0f/V71lUmVSZNF9WMtKciJKXsY05ERFRlxjNDoCNORERWRiH2WM4NY2IiMji2DMnIiLrYjQ7ADbmRERkYRxmj+EwOxERkcVlRc9837W3pO1a5X+6T0z3KRuFtO0plC9kyhuIhEv1OVftzfImL3n18m+uSGlIzlr5pWlT9ngx7fpP0y9uTc9UqdF3yhuR+PbK0+Le+0PyG4hoPnwyuTqcOkuesmbaMu+3r3ZfASDUX763jg75i7Dr15wWRxbEaHYAWdKYExFR38Rh9pjM62oQERFRUtgzJyIi6zLM2CuV87MAG3MiIrIuPjMHwMaciIgszIYUn5mnrSS9i435YaIBeSOUdpe8MYujXf4q2LS9S+rkjUsAIOyTT+o4tV3OIyyX1aZEXduUqHVbbkQt08m3ydHSrSfKkfSagu/l+/feH9KzQUk6bVkmR3WPna1HjveWHXfrUf8jq+WofEatE2UfNuZERGRdXAEOABtzIiKyME5Ni+HUNCIiIotjz5yIiKyL0ewA2JgTEZGF2UwTthSee6dybiZhY364iByd7nDIkeaf3SNHE4+6W458Dg0Jq1nb3VEx3eWS023Kw56O73LE9Lwv5fXizVNb1TJpUeuefHmNedOU718kT45mtxJfnR71r7noh3eI6es+vTfV4nRpVxWj1on6CjbmRERkXcY/XqmcnwXYmBMRkWVxmD2G0exEREQWx545ERFZF6PZAbBnTkREVnZoBbhUXj1k4cKFOOecc5Cbm4uCggLxmNraWlx88cXIzc3FoEGDcMsttyASST7Ylj3zw+ybeauYPvyZ+8T0Ec/dI6aHS5Xo7ZD++8m9Tz4nMFSOgN83Qy7rOf/fEjH9nefkyPvyNQvVMtmVSPpwSP7q5ObJUe7bFulriPe0M66R1yj/4PfJRXv/74u3JJ13dNvOpM8hoqOXySvAhUIhXHHFFaioqMCKFSuOeD8ajeLiiy9GSUkJ3nnnHRw4cAC//OUv4XK5cN99cpujYc+ciIioByxYsABz5szBD3/4Q/H9V199Fdu3b8fTTz+NU089FVOmTME999yDZcuWIRRKbjMrNuZERGRdaRpmb25ujnsFg/IoYzpt2rQJP/zhD1FcXNyZNnnyZDQ3N2Pbtm1JXYuNORERWZbNSP0FAKWlpfD7/Z2v6urqHi97fX19XEMOoPPv+vr6pK7FxpyIiPq8uro6NDU1db6qqqrE4+bNmwebzZbwtWPHjmNcegbAERGRlaVpP3Ofzwefz9fl4ZWVlZg+fXrCY8rLy48q65KSErz33ntxaQ0NDZ3vJSOpxvyuu+7CggUL4tJGjRrV+SskEAigsrISa9asQTAYxOTJk/HEE08cMYxgRXv+/1+n5Trlf9IjFHdeK0dLH/eEHJ1e9tQDYvq+5+Qo97KV98sZR+U12wHA95n8XuvpHWL6tksXiOmaEc/Ka5Rra7wDwBc/vz2pPAxHUofjxNvldfU/W6hH5I+sliPmdxlrk8uciJJzjOeZFxUVoaioKIUM/6miogILFy7EwYMHMWjQIADAa6+9Bp/Ph5NOOimpayU9zH7yySfjwIEDna+33nqr8705c+bgr3/9K9auXYuNGzdi//79uPzyy5PNgoiIyPJqa2uxZcsW1NbWIhqNYsuWLdiyZQtaW2ObW1144YU46aST8Itf/AIff/wxXnnlFdxxxx2YNWsWPB5PUnklPczudDrF7n9TUxNWrFiBZ555BhMnTgQArFy5EieeeCI2b96Ms88+O9msiIiIEsrktdnvvPNOrF69uvPv0047DQDw+uuvY8KECXA4HHjppZdw/fXXo6KiAnl5eZg2bRruvvvupPNKujHftWsXhgwZAq/Xi4qKClRXV2PYsGGoqalBOBzGpEmTOo8dPXo0hg0bhk2bNqmNeTAYjJsC0NzcnHQliIioj0rTM/OesGrVKqxatSrhMWVlZfjv//7vlPNKaph9/PjxWLVqFdatW4fly5djz549+NGPfoSWlhbU19fD7XYfsWRdcXFxwhD76urquOkApaWl3aoIERFRX5VUz3zKlCmd/z1mzBiMHz8eZWVleO6555CTk9OtAlRVVWHu3H8uq9nc3MwGnYiIjo6J1PYkz5KNVlKamlZQUIATTjgBu3fvxk9+8hOEQiE0NjbG9c4bGhoShth7PJ6kH/RbWbRFjxzX7P2Pm8X04X+UI+PLfi9Hrbvy5eUBHQ7929w8Rv5Xsu9qObpfjequktdB333lHWrevWXo+hb5DX0Je7V+RNSzMvmZ+bGU0qIxra2t+OKLLzB48GCMGzcOLpcL69ev73x/586dqK2tRUVFRcoFJSIiOoKJFJdz7e0KpEdSPfObb74Zl1xyCcrKyrB//37Mnz8fDocDV111Ffx+P2bMmIG5c+eisLAQPp8PN9xwAyoqKhjJTkRE1IOSasz//ve/46qrrsK3336LoqIinHfeedi8eXPnBPqlS5fCbrdj6tSpcYvGEBER9YgMjmY/lpJqzNesWZPwfa/Xi2XLlmHZsmUpFYqIiOioGAD0BSOP7vwswI1WiIiILI4brRARkWUxmj2Gjfkxtk/ZTKU7DGWaW94++WPtKJHTowODYjoAICDvUnJSlbwZya7qzJuiZSb5Lf/ulPyeKQgRpR+fmQPgMDsREZHlsWdORETWxZ45ADbmRERkZWzMAXCYnYiIyPLYMyciIuviPHMAWd6Yl62SNxwBgH3Tb+vZvJXNTvZdk758912XXGR82epFYnrC4Rm3/E3fXj0nqbx700fLk4uwN1P5HwMRHVOcmhaT1Y05ERFlOT4zB8Bn5kRERJbHnjkREVmXYQK2FHrXRnb0zNmYExGRdXGYHQCH2YmIiCwvu3vmgV78reKQf+2VPblYPWXf/00uOv34JQ+J6ZGCiFyk/KiYHm1y65k4lXr8Tq5HOteeT5fyB+X7ZHjkSP0BJn/jEllHij1zZEfPPLsbcyIiym4cZgfAYXYiIiLLY8+ciIisyzCR0lA5o9mJiIh6mWnEXqmcnwU4zE5ERGRxWd0zT3bt8rTmPW1ej+cR6S9HrduC8m+0aLMctW6L6IuRa9eyFQW7KF3m+LIyubXZNSMXylHxABAaIM8U0H4uO5sdYvoXN6enrER9BgPgAGR5Y05ERFmOz8wBsDEnIiIrY88cAJ+ZExERWR575kREZF0mUuyZp60kvYqNORERWReH2QGwMbe0fTNu7bW8y1Yv6rW8k1W+9EEx3dEuR/GbLvk6Eb8+H9VmytfK+1KOWm8fkh1zW4koM7AxJyIi6zIMACn8ODay44c1G3MiIrIuDrMDYDQ7ERGR5bFnTkRE1sWeOQA25kREZGVcAQ4AG3PqJluzEvKdgUw5oBzhQjnwZe/1N/dgaYiI0o+NORERWZZpGjBT2MY0lXMzCRtzIiKyLtNMbaicz8yJiIh6mZniM/Msacw5NY2IiMji2DMnIiLrMgzAlsJzbz4zJyIi6mUcZgfAxpy6ae8Nlb1dhKNmuOVf3t6D/PoTUXbg/82IiMiyTMOAmcIwO6emERER9TYOswNgNDsREZHlsWdORETWZZiAjT1z9syJiMi6TDM2vazbr55rzBcuXIhzzjkHubm5KCgoOOL9jz/+GFdddRVKS0uRk5ODE088EY888ki38mLPnLKfTU4OlESObTmIqE8JhUK44oorUFFRgRUrVhzxfk1NDQYNGoSnn34apaWleOedd3DttdfC4XBg9uzZSeXFxpyIiCzLNEyYKQyzm//omTc3N8elezweeDyelMq2YMECAMCqVavE96+55pq4v8vLy7Fp0yb85S9/Sbox5zA7ERFZV0pD7EbnCnClpaXw+/2dr+rq6l6pTlNTEwoLC5M+jz1zIiKyrHT1zOvq6uDz+TrTU+2Vd8c777yDZ599Fi+//HLS57JnTkREfZ7P54t7aY35vHnzYLPZEr527NiRdP5bt27FpZdeivnz5+PCCy9M+vyM65lrzy+IusvoCMhvKIFx/O4RpebQvyHzGEz7ipjBlDZLiSCc1PGVlZWYPn16wmPKy8uTuub27dtxwQUX4Nprr8Udd9yR1LmHZFxj3tLSAiD2/IKoN/hvurO3i0CUFVpaWuD3+3vk2m63GyUlJXir/r9TvlZJSQncbvdRHVtUVISioqKU8zxk27ZtmDhxIqZNm4aFCxd2+zoZ15gPGTIEdXV16NevH1paWlBaWnrEs4xs19zczHr3kXr3xToDfbPefanOpmmipaUFQ4YM6bE8vF4v9uzZg1AolPK13G43vF5vGkoVr7a2Ft999x1qa2sRjUaxZcsWAMCIESOQn5+PrVu3YuLEiZg8eTLmzp2L+vp6AIDD4Uj6B0PGNeZ2ux1Dhw4FANhssXHQQ88w+hrWu+/oi3UG+ma9+0qde6pH/q+8Xm+PNMLpcuedd2L16tWdf5922mkAgNdffx0TJkzAn//8Z3z99dd4+umn8fTTT3ceV1ZWhr179yaVFwPgiIiIesCqVatgmuYRrwkTJgAA7rrrLvH9ZBtygI05ERGR5WV0Y+7xeDB//vxeme/Xm1jvvlPvvlhnoG/Wuy/WmY4dm3ks5g4QERFRj8nonjkRERF1jY05ERGRxbExJyIisjg25kRERBbHxpyIiMjiMroxX7ZsGY477jh4vV6MHz8e7733Xm8XKa3efPNNXHLJJRgyZAhsNhteeOGFuPdN08Sdd96JwYMHIycnB5MmTcKuXbt6p7BpUl1djTPPPBP9+vXDoEGDcNlll2Hnzp1xxwQCAcyaNQsDBgxAfn4+pk6dioaGhl4qcXosX74cY8aM6Vz9q6KiAn/7298638/GOh9u0aJFsNlsuOmmmzrTsrHed9111xG7aI0ePbrz/WysM/W+jG3Mn332WcydOxfz58/Hhx9+iLFjx2Ly5Mk4ePBgbxctbdra2jB27FgsW7ZMfP+BBx7Ao48+it/+9rd49913kZeXh8mTJyMQUHYBs4CNGzdi1qxZ2Lx5M1577TWEw2FceOGFaGtr6zxmzpw5+Otf/4q1a9di48aN2L9/Py6//PJeLHXqhg4dikWLFqGmpgYffPABJk6ciEsvvRTbtm0DkJ11/lfvv/8+nnzySYwZMyYuPVvrffLJJ+PAgQOdr7feeqvzvWytM/UyM0OdddZZ5qxZszr/jkaj5pAhQ8zq6upeLFXPAWA+//zznX8bhmGWlJSYixcv7kxrbGw0PR6P+ac//akXStgzDh48aAIwN27caJpmrI4ul8tcu3Zt5zGfffaZCcDctGlTbxWzR/Tv39/8z//8z6yvc0tLizly5EjztddeM3/84x+bN954o2ma2ftZz58/3xw7dqz4XrbWmXpfRvbMQ6EQampqMGnSpM40u92OSZMmYdOmTb1YsmNnz549qK+vj7sHfr8f48ePz6p70NTUBAAoLCwEANTU1CAcDsfVe/To0Rg2bFjW1DsajWLNmjVoa2tDRUVF1td51qxZuPjii+PqB2T3Z71r1y4MGTIE5eXluPrqq1FbWwsgu+tMvSvjdk0DgG+++QbRaBTFxcVx6cXFxdixY0cvlerYOrQVnnQPDr1ndYZh4KabbsK5556LU045BUCs3m63GwUFBXHHZkO9P/30U1RUVCAQCCA/Px/PP/88TjrpJGzZsiVr67xmzRp8+OGHeP/99494L1s/6/Hjx2PVqlUYNWoUDhw4gAULFuBHP/oRtm7dmrV1pt6XkY059Q2zZs3C1q1b454nZrNRo0Zhy5YtaGpqwp///GdMmzYNGzdu7O1i9Zi6ujrceOONeO211zJ6m8p0mzJlSud/jxkzBuPHj0dZWRmee+455OTk9GLJKJtl5DD7wIED4XA4jojwbGhoQElJSS+V6tg6VM9svQezZ8/GSy+9hNdff71z/3ogVu9QKITGxsa447Oh3m63GyNGjMC4ceNQXV2NsWPH4pFHHsnaOtfU1ODgwYM4/fTT4XQ64XQ6sXHjRjz66KNwOp0oLi7OynofrqCgACeccAJ2796dtZ819b6MbMzdbjfGjRuH9evXd6YZhoH169ejoqKiF0t27AwfPhwlJSVx96C5uRnvvvuupe+BaZqYPXs2nn/+eWzYsAHDhw+Pe3/cuHFwuVxx9d65cydqa2stXW+JYRgIBoNZW+cLLrgAn376KbZs2dL5OuOMM3D11Vd3/nc21vtwra2t+OKLLzB48OCs/awpA/R2BJ5mzZo1psfjMVetWmVu377dvPbaa82CggKzvr6+t4uWNi0tLeZHH31kfvTRRyYA86GHHjI/+ugjc9++faZpmuaiRYvMgoIC88UXXzQ/+eQT89JLLzWHDx9udnR09HLJu+/66683/X6/+cYbb5gHDhzofLW3t3cec91115nDhg0zN2zYYH7wwQdmRUWFWVFR0YulTt28efPMjRs3mnv27DE/+eQTc968eabNZjNfffVV0zSzs86Sf41mN83srHdlZaX5xhtvmHv27DHffvttc9KkSebAgQPNgwcPmqaZnXWm3pexjblpmuZjjz1mDhs2zHS73eZZZ51lbt68ubeLlFavv/66CeCI17Rp00zTjE1P+81vfmMWFxebHo/HvOCCC8ydO3f2bqFTJNUXgLly5crOYzo6Osz/+I//MPv372/m5uaaP/vZz8wDBw70XqHT4JprrjHLyspMt9ttFhUVmRdccEFnQ26a2VlnyeGNeTbW+8orrzQHDx5sut1u8wc/+IF55ZVXmrt37+58PxvrTL2P+5kTERFZXEY+MyciIqKjx8aciIjI4tiYExERWRwbcyIiIotjY05ERGRxbMyJiIgsjo05ERGRxbExJyIisjg25kRERBbHxpyIiMji2JgTERFZ3P8DAU0+vI9S+U0AAAAASUVORK5CYII=\n" + "image/png": "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\n" }, "metadata": {} } @@ -958,7 +1007,7 @@ "metadata": { "id": "F8Idr-uA1J5L" }, - "execution_count": null, + "execution_count": 29, "outputs": [] }, { @@ -968,13 +1017,13 @@ ], "metadata": { "id": "j8L27Jgb4Iyy", - "outputId": "200b0cc4-4168-49d1-dc3d-d9c8a8d4563d", + "outputId": "41284b9f-c521-4b9d-9094-042fe768e0ec", "colab": { "base_uri": "https://localhost:8080/", "height": 36 } }, - "execution_count": null, + "execution_count": 30, "outputs": [ { "output_type": "execute_result", @@ -987,14 +1036,14 @@ } }, "metadata": {}, - "execution_count": 31 + "execution_count": 30 } ] }, { "cell_type": "code", "source": [ - "res=pmcx.run(cfg)" + "res=pmcx.mcxlab(cfg)" ], "metadata": { "id": "kWTkg2xd2CEI" @@ -1015,4 +1064,4 @@ "outputs": [] } ] -} +} \ No newline at end of file