diff --git a/.gitignore b/.gitignore index f3ae10f..894a44c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,104 @@ -# the basics -*~ -**/.DS_Store -**/._.DS_Store - -# python -__init__.pyc +# Byte-compiled / optimized / DLL files __pycache__/ -.mypy_cache/ +*.py[cod] +*$py.class -# pytest -.pytest_cache/ +# C extensions +*.so -# pip +# Distribution / packaging +.Python build/ +develop-eggs/ dist/ -pcdl.egg-info/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ diff --git a/README.md b/README.md index 99d0652..b5ef466 100644 --- a/README.md +++ b/README.md @@ -1,148 +1,5 @@ -![physicellcdataloader logo & title](man/img/pcdataloader_title_v3.0.0.png) +# python-loader +Python data loader for PhysiCell digital snapshots. +Rf. http://www.mathcancer.org/blog/python-loader/ -## Abstract: -physicelldataloader (pcdl) provides a platform independent, python3 based, [pip](https://en.wikipedia.org/wiki/Pip_(package_manager)) installable interface -to load output, generated with the [PhysiCell](https://github.com/MathCancer/PhysiCell) agent based modeling framework, -into [python3](https://en.wikipedia.org/wiki/Python_(programming_language)). - -pcdl was forked from the original [PhysiCell-Tools](https://github.com/PhysiCell-Tools) [python-loader](https://github.com/PhysiCell-Tools/python-loader) implementation. - -The pcdl python3 library maintains three branches branches: - -+ **Branch version 1** is the original PhysiCell-Tools/python-loader code. -+ **Branch version 2** will be strictly compatible with the original PhysiCell-Tools/python-loader code, although pip installable. -+ **Branch version 3** might break with old habits, although tries to be as much downward compatible as possible. - The aim of the v3 branch is to get a very lean and agile python3 physicell output interface, for the ones coming from the python world. - - -## Header: -+ Language: python >= 3.6 -+ Library dependencies: anndata, matplotlib, numpy, pandas -+ Date of origin original PhysiCell-Tools python-loader: 2019-09-02 -+ Date of origin pcdl fork: 2022-08-30 -+ License: [BSD-3-Clause](https://en.wikipedia.org/wiki/BSD_licenses) -+ User manual: this README.md file -+ Source code: [https://github.com/elmbeech/physicelldataloader](https://github.com/elmbeech/physicelldataloader) - - -## HowTo Guide: -+ Check out: [man/HOWTO.md](https://github.com/elmbeech/physicelldataloader/tree/master/man/HOWTO.md)! - - -## Tutorial: -+ Check out: [man/TUTORIAL.md](https://github.com/elmbeech/physicelldataloader/tree/master/man/TUTORIAL.md)! - - -## Reference Manual: -+ Check out: [man/REFERENCE.md](https://github.com/elmbeech/physicelldataloader/tree/master/man/REFERENCE.md)! - - -## Discussion: -To be developed. - - -## About Documentation: -Within the pcdl library, we tried to stick to the documentation policy lined out by Daniele Procida in his "[what nobody tells you about documentation](https://www.youtube.com/watch?v=azf6yzuJt54)" talk at PyCon 2017 in Portland, Oregon. - - -## Contributions: -+ original PhysiCell-Tools python-loader implementation: Patrick Wall, Randy Heiland, Paul Macklin -+ fork pcdl implementation: Elmar Bucher -+ fork pcdl co-programmer and tester: Heber Rocha, Marshal Gress - - -## Release Notes: -+ version 3.2.8 (2023-06-21): elmbeech/physicelldataloader - + pyMCDS **get_concentration_df** minstate parameter to filter out non-informative variables. - + pyMCDS **get_cell_df** minstate parameter to filter out non-informative variables. - + pyMCDSts **_\_init__** load parameter to specify if the whole time series data straight at object initialization should be loaded. - + new pyMCDSts **get_cell_minstate_col** function to scan the whole time series for informative variables. - + new pyMCDSts **get_concentartion_minstate_col** function to scan the whole time series for informative variables. - -+ version 3.2.7 (2023-06-20): elmbeech/physicelldataloader - + pyMCDS and pyMCDSts **_\_init__** custom_type parameter to specify other custom_data variable types (int, bool, str) then the generic float. - -+ version 3.2.5 (2023-06-19): elmbeech/physicelldataloader - + pyMCDS resolve incompatibility with earlier PhysiCell and MultiCellDS versions. - -+ version 3.2.4 (2023-06-17): elmbeech/physicelldataloader - + pyMCDS **_\_init__** seetingxml parameter for cases where in the output folder no PhysiCell_settings.xml find can be found. - + pyMCDSts **mcdsts.make_imgcell** extrema parameter replaced by z_axis parameter to account for numerical and categorical variable types. - -+ version 3.2.2 (2023-06-16): elmbeech/physicelldataloader - + pyMCDS **mcds.get_cell_df** sets distinct boolean, categorical, integer number, and real number variable types. categorical number codes are translated. for all spatial variables, the vector length value is calculated and added automatically. - + new pyMCDS **mcds.get_celltype_dict** function. - + new pyMCDS **mcds.get_substrate_dict** function. - + pyMCDSts **mcdsts.make_imgcell** and **mcdsts.make_imgsubs** functions improved. - -+ version 3.2.1 (2023-06-12): elmbeech/physicelldataloader - + pypa odyssey is comming to an end. - + change build system from setuptools to hatching. - + change the library name from pcDataLoader to pcdl. - + to make the library installation more lightweight, test data was excluded from the basic installation. - given the computer is connected to the internet, test data can easily be installed and removed with the **pcdl.install_data()** and **pcdl.uninstall_data()** functions now. - -+ version 3.0.7 (2023-06-08): elmbeech/physicelldataloader - + pyMCDSts: replaces the svg dependent **mcdsts.make_jpeg**, **mcdsts.make_png**, and **mcdsts.make_tiff** with **mcdsts.make_imgcell** and **mcdsts.make_imgsubs** which generate images straight out of the loaded data. the **mcdsts.make_gif** and **mcdsts.make_movie** functions were adjusted accordingly. - + pyMCDSts: **mcdsts.read_mcds** loads now automatically all mcds snapshots, if no xmlfile_list is provided (default). - -+ version 3.0.6 (2023-04-29): elmbeech/physicelldataloader - + pyMCDS **\_read_xml** is now able to load time steps with zero cells. - + pyMCDS **mcds.get_contour** can handle more input parameters. - -+ version 3.0.5 (2023-02-26): elmbeech/physicelldataloader pyMCDS **mcds.get_contour** plots span now the whole domain and not only to the border voxel centers. -+ version 3.0.4 (2023-02-21): elmbeech/physicelldataloader pyMCDS **mcds.get_contour** function, to easily generate for substrates matplotlib contourf and contour plots because they do not exist as pandas plots. -+ version 3.0.3 (2023-02-19): elmbeech/physicelldataloader branch 3 has no longer anndata and as such hdf5 dependency. -+ version 3.0.2 (2023-01-06): elmbeech/physicelldataloader bugfix installing package data. -+ version 3.0.0 (2023-01-06): elmbeech/physicelldataloader - + **pyMCDS** parameter **xml_file** can now handle path/file.xml (unix) or path\file.xml (dos) input, as long output_path is the default. - + **pyMCDS** has a new additional boolean **microenv** parameter, to specify if the microenvironment (substrates) should be read (for completeness) or not (for speed increase and less memory usage). - + **pyMCDS** has a new additional boolean **graph** parameter, to specify if the attached and neighbor graph should be read. - + **pyMCDS** has a new additional boolean **verbose** parameter, to specify if there should be text output while processing. - + pyMCDS **mcds.get_2D_mesh** was renamed to **mcds.get_mesh_2D** for consistency. - + pyMCDS **mcds.get_linear_voxels** was renamed to **mcds.get_mesh_coordinate** for consistency. - + pyMCDS **mcds.get_containing_voxel_ijk** was renamed to **mcds.get_voxel_ijk** for briefness. - + pyMCDS **mcds.get_voxel_spacing** returns now 3 specific values, one for x, y, and z, instead of 1 general value. - + pyMCDS **mcds.get_concentrations** was renamed to **mcds.get_concentration** for consistency - + pyMCDS **mcds.get_concentrations_at** was renamed to **mcds.get_concentration_at** for consistency - + pyMCDS **mcds.get_concentration_at** if z_slice is not a mesh center value, the function will by default adjust to nearest and no longer break. - + pyMCDS **mcds.get_cell_variables** and **mcds.get_substrate_names** return now a strictly alphabetically ordered list. - + pyMCDS **mcds.get_cell_df** returns now a pandas dataframe with the cell IDs as the index and not as a column. - additionally, this dataframe contains now voxel, mesh_center, substrate parameter, substrate concentration, and cell density information too. - + new pyMCDS **mcds.get_concentration_df** function. - + new pyMCDS **mcds.get_substrate_df** function. - + new pyMCDS **mcds.get_unit_df** function. - + new pyMCDS **mcds.get_multicellds_version** function. - + new pyMCDS **mcds.get_physicell_version** function. - + new pyMCDS **mcds.get_runtime** function. - + new pyMCDS **mcds.get_timestamp** function. - + new pyMCDS **mcds.get_voxel_ijk_range** function. - + new pyMCDS **mcds.get_voxel_ijk_axis** function. - + new pyMCDS **mcds.get_voxel_spacing** function. - + new pyMCDS **mcds.get_voxel_volume** function. - + new pyMCDS **mcds.get_mesh_mnp_range** function. - + new pyMCDS **mcds.get_mesh_mnp_axis** function. - + new pyMCDS **mcds.get_xyz_range** function. - + new pyMCDS **mcds.is_in_mesh** function. - + new pyMCDS **mcds.get_attached_graph_dict** function. - + new pyMCDS **mcds.get_neigbor_graph_dict** function. - + class **pyMCDS_timeseries** was renamed to **pyMCDSts** and completely rewritten. - + new pyMCDSts **get_xmlfile_list** function. - + new pyMCDSts **read_mcds** function. - + new pyMCDSts **make_jpeg** function. - + new pyMCDSts **make_png** function. - + new pyMCDSts **make_tiff** function. - + new pyMCDSts **make_gif** function. - + new pyMCDSts **make_movie** function. - + all **plotting** functions were removed because pcdl only focus on making the raw data in python easy accessible for in-depth analysis. - + cell position coordinates are now constantly labeled as **x,y,z**, mesh center coordinates as **m,n,p**, and voxel coordinates as **i,j,k**. - + the underling [mcds object data dictionary structure](https://github.com/elmbeech/physicelldataloader/tree/master/man/img/physicelldataloader_data_dictionary_v3.0.0.png) has changed. - + [pytest](https://en.wikipedia.org/wiki/Pytest) unit tests exist now for all pyMCDS and pyMCDSts functions. - -+ version 2.0.2 (2023-01-06): elmbeech/physicelldataloader reset patch voxel spacing bugfix, so that branch2 is full compatible with branch1 again. use branch3 for a bugfixed version! -+ version 2.0.1 (2022-11-08): elmbeech/physicelldataloader beta release patch voxel spacing bugfix. -+ version 2.0.0 (2022-08-30): elmbeech/physicelldataloader pip installable release, derived from and compatible with PhysiCell-Tools/python-loader release 1.1.0 (2022-07-20). - -+ version 1.1.0 (2022-05-09): Physicell-Tools/python-loader release compatible with pre-v1.10.x of PhysiCell -+ version 1.0.1 (2020-01-25): Physicell-Tools/python-loader time-series related bug fix -+ version 1.0.0 (2019-09-28): Physicell-Tools/python-loader first public release! +Additional scripts for plotting PhysiCell output can be found in the `plotting` directory. You can copy these into your PhysiCell `output` directory and run them there. They require the `scipy` and `matplotlib` Python modules, so we recommend installing the Anaconda Python 3.x distribution (https://www.anaconda.com/distribution/). diff --git a/VERSION.txt b/VERSION.txt new file mode 100644 index 0000000..524cb55 --- /dev/null +++ b/VERSION.txt @@ -0,0 +1 @@ +1.1.1 diff --git a/cells3D_fury.py b/cells3D_fury.py new file mode 100644 index 0000000..edfa209 --- /dev/null +++ b/cells3D_fury.py @@ -0,0 +1,66 @@ +import numpy as np +from fury import window, actor, ui +import itertools +import math +from pyMCDS import pyMCDS + +mcds = pyMCDS('output00003696.xml') # replace this filename with yours +print(mcds.get_time()) +print('\n------- cell_vars:') +cell_vars = mcds.get_cell_variables() +print(cell_vars) +#['ID', 'position_x', 'position_y', 'position_z', 'total_volume', 'cell_type', 'cycle_model', 'current_phase', 'elapsed_time_in_phase', 'nuclear_volume', 'cytoplasmic_volume', 'fluid_fraction', 'calcified_fraction', 'orientation_x', 'orientation_y', 'orientation_z', 'polarity', 'migration_speed', 'motility_vector_x', 'motility_vector_y', 'motility_vector_z', 'migration_bias', 'motility_bias_direction_x', 'motility_bias_direction_y', 'motility_bias_direction_z', 'persistence_time', 'motility_reserved', 'oncoprotein', 'elastic_coefficient', 'kill_rate', 'attachment_lifetime', 'attachment_rate'] + +print('\n------- cell_data:') +cell_data = mcds.get_cell_df() +print(cell_data) +print('cell_type min = ',cell_data['cell_type'].min()) # = 0.0 +print('cell_type max = ',cell_data['cell_type'].max()) # = 1.0 +#In [7]: cell_data['position_x'].min() +#Out[7]: -750.0005921113642 +# BEWARE - bogus max! +#In [6]: cell_data['position_x'].max() +#Out[6]: 2.8091642052341613e+229 + +# double cell_radius = cell_defaults.phenotype.geometry.radius; # int xc=0,yc=0,zc=0; +cell_radius = 8.412710547954228 + +xyz = np.empty((0,3)) +#colors = np.ones((num_cells,4)) # white [0-2]; opaque [3] +colors = np.empty((0,4)) +print('supposed len of cells = ',len(cell_data['position_x'])) +#xyz = np.empty((len(cell_data['position_x']),3)) + +idx_cell = 0 +for idx in range(len(cell_data['position_x'])): + x = cell_data['position_x'][idx] + y = cell_data['position_y'][idx] + z = cell_data['position_z'][idx] + if (abs(x) < 800. and abs(y) < 800. and abs(y) < 800.): + if (x > 0.): + xyz = np.append(xyz, np.array([[x,y,z]]), axis=0) + if (cell_data['cell_type'][idx] > 0.0): + colors = np.append(colors, np.array([[1,0,0,1]]), axis=0) # red + else: + colors = np.append(colors, np.array([[0,1,1,1]]), axis=0) # cyan + idx_cell += 1 + else: + print(x,y,z) + +num_cells = idx_cell +print('actual len of cells = ',num_cells) +# default color +#colors = np.ones((num_cells,4)) # white [0-2]; opaque [3] +#colors[:,0] = 0 # make them cyan +#for idx in range(num_cells): + +scene = window.Scene() +sphere_actor = actor.sphere(centers=xyz, + colors=colors, + radii=cell_radius) +scene.add(sphere_actor) +showm = window.ShowManager(scene, + size=(900, 768), reset_camera=False, + order_transparent=False) +showm.initialize() +showm.start() \ No newline at end of file diff --git a/data_timeseries_2d.tar.gz b/data_timeseries_2d.tar.gz deleted file mode 100644 index f5ac93d..0000000 Binary files a/data_timeseries_2d.tar.gz and /dev/null differ diff --git a/man/HOWTO.md b/man/HOWTO.md deleted file mode 100644 index 6bc8f13..0000000 --- a/man/HOWTO.md +++ /dev/null @@ -1,31 +0,0 @@ -# PhysiCell Data Loader How To Man Page - -## How to install the latest physicelldataloader? -```bash -pip3 install pcdl -``` - -## How to update to the latest physicelldataloader? -```bash -pip3 install -U pcdl -``` - -## How to uninstall physicelldataloader from your python3 environment? -Note: For the pcdl library this is a two-step procedure. -First, possibly installed test data and tutorial output will be removed. -Then, the software will be uninstalled. -```bash -python3 -c "import pcdl; pcdl.uninstall_data()" -pip3 uninstall pcdl -``` - -## How to load the physicelldataloader library? -```python3 -import pcdl -``` - -## How to check for the current installed physicelldataloader version? -```python3 -import pcdl -pcdl.__version__ -``` diff --git a/man/REFERENCE.md b/man/REFERENCE.md deleted file mode 100644 index fc84ca9..0000000 --- a/man/REFERENCE.md +++ /dev/null @@ -1,94 +0,0 @@ -# PhysiCell Data Loader Reference Man Page - -This is the technical descriptions of the machinery and how to operate it.\ -References are maintained in each module's [docstring](https://en.wikipedia.org/wiki/Docstring).\ -You can access them through the [source code](https://github.com/elmbeech/physicelldataloader/tree/master/pcdl), or by first load PhysiCell Data Loader. - -```python3 -import pcdl -``` - -Then, for each pcdl module, get on the fly reference information with the [help](https://en.wikipedia.org/wiki/Help!) command. - -# pyMCDS -``` -help(pcdl.pyMCDS) -help(pcdl.pyMCDS.__init__) - -# pyMCDS medata -help(pcdl.pyMCDS.get_multicellds_version) -help(pcdl.pyMCDS.get_physicell_version) -help(pcdl.pyMCDS.get_timestamp) -help(pcdl.pyMCDS.get_time) -help(pcdl.pyMCDS.get_runtime) - -# pyMCDS mesh -help(pcdl.pyMCDS.get_voxel_ijk_range) -help(pcdl.pyMCDS.get_mesh_mnp_range) -help(pcdl.pyMCDS.get_xyz_range) -help(pcdl.pyMCDS.get_voxel_ijk_axis) -help(pcdl.pyMCDS.get_mesh_mnp_axis) -help(pcdl.pyMCDS.get_mesh) -help(pcdl.pyMCDS.get_mesh_2D) -help(pcdl.pyMCDS.get_mesh_coordinate) -help(pcdl.pyMCDS.get_mesh_spacing) -help(pcdl.pyMCDS.get_voxel_spacing) -help(pcdl.pyMCDS.get_voxel_volume) -help(pcdl.pyMCDS.get_voxel_ijk) -help(pcdl.pyMCDS.is_in_mesh) - -# pyMCDS microenvironment -help(pcdl.pyMCDS.get_substrate_names) -help(pcdl.pyMCDS.get_substrate_dict) -help(pcdl.pyMCDS.get_substrate_df) -help(pcdl.pyMCDS.get_concentration) -help(pcdl.pyMCDS.get_concentration_df) -help(pcdl.pyMCDS.get_concentration_at) -help(pcdl.pyMCDS.get_contour) - -# pyMCDS cells and other agents -help(pcdl.pyMCDS.get_celltype_dict) -help(pcdl.pyMCDS.get_cell_variables) -help(pcdl.pyMCDS.get_cell_df) -help(pcdl.pyMCDS.get_cell_df_at) - -# pyMCDS graphs -help(pcdl.pyMCDS.get_attached_graph_dict) -help(pcdl.pyMCDS.get_neighbor_graph_dict) - -# pyMCDS unit -help(pcdl.pyMCDS.get_unit_df) - -# pyMCDS internal functions -help(pcdl.pyMCDS._read_xml) -help(pcdl.graphfile_parser) -``` - -# pyMCDS time series -``` -help(pcdl.pyMCDSts) -help(pcdl.pyMCDSts.__init__) - -# pyMCDSts load data -help(pcdl.pyMCDSts.get_xmlfile_list) -help(pcdl.pyMCDSts.read_mcds) - -# pyMCDSts triage data -help(pcdl.pyMCDSts.get_cell_minstate_col) -help(pcdl.pyMCDSts.get_concentration_minstate_col) - -# pyMCDSts images and movies -help(pcdl.pyMCDSts.make_imgcell) -help(pcdl.pyMCDSts.make_imgsubs) -help(pcdl.pyMCDSts.make_gif) -help(pcdl.pyMCDSts.make_movie) - -# pyMCDSts internal functions -help(pcdl.pyMCDSts._handle_magick) -``` - -# test data sets -``` -help(pcdl.install_data) -help(pcdl.uninstall_data) -``` diff --git a/man/TUTORIAL.md b/man/TUTORIAL.md deleted file mode 100644 index b54790f..0000000 --- a/man/TUTORIAL.md +++ /dev/null @@ -1,654 +0,0 @@ -# PhysiCell Data Loader Tutorial Man Page - -Please install the latest version of physicelldataloader (pcdl) branch v3, -as described in the [HowTo](https://github.com/elmbeech/physicelldataloader/blob/master/man/HOWTO.md) section.\ -Branch v1 and v2 exists mainly for backwards compatibility. - - -## Tutorial - branch v1 and v2 -The original python-loader tutorial can be found here. -+ http://www.mathcancer.org/blog/python-loader/ - - -## Tutorial - branch v3 - -### Introduction: PhysiCell's MultiCellular Data Standard (MCDS) Time Step Anatomy - -Each time PhysiCell's internal time tracker passes a time step where data is to be saved, it generates a number of files of various types.\ -Each of these files will have a number at the end that indicates where it belongs in the sequence of outputs.\ -All files from the first round of output will end in 00000000.\*, and the second round will be 00000001.\*, and so on.\ -Have a look at this [PhysiCell data time series](https://github.com/elmbeech/physicelldataloader/tree/master/pcdl/data_timeseries_2d). - -Let's assume we captured data every simulation time hour, and we're interested in the set of output half a day through the run, the 13th set of output files.\ -The files we care about most from this set consists of: - -+ **output00000012.xml**: This file is the main organizer of the data. - It contains an overview of the data stored in the MultiCellDS as well as some actual data, including:\ - metadata (MultiCellDS version, PhysiCell or BioFVM version, simulation time, runtime, and processing time stamp),\ - coordinates for the computational domain (mesh),\ - parameters for diffusing substrates in the microenvironment (continuum\_variables),\ - column labels and units for the cell data (cell\_population),\ - file names for the files that contain microenvironment and cell data at this time step (mat and possibly graph.txt files), -+ **output00000012_cells.mat**: This is a MATLAB matrix file that contains tracked information about the individual cells in the model. - It tells us things like the cells' position, volume, secretion, cell cycle status, and user defined cell parameters. -+ **output00000012_microenvironment0.mat**: This is a MATLAB matrix file that contains data about the microenvironment at this time step. - - -### Legacy Way to Run pyMCDS - -In the early days, PhysiCell output was with the help of a script loaded into MATLAB for analysis.\ -In 2019, a similar loader script was written for phython3. -The name of this script filed was pyMCDS.py. -To load data, this file was copied into the PhysiCell root or output folder. -A python3 shell was fired up in the directory where this file resisted, and the pyMCDS class was loaded with this code line below. - -```python -# legacy way to load the pyMCDS class -from pyMCDS import pyMCDS -``` - -In autumn 2022 an endeavor was undertaken to pack this pyMCDS.py script into a pip installable python3 library and develop it further, but always in a way, that, if needed, the code still could be run like in the early days. - -All this resulted in the PhysiCell data loader (pcdl) library here. - -If you inspect today's pcdl source code, you will see that the pyMCDS.py file still exists, and if you feel so, it is still possible to load PhysiCell output in this ancient way! - - -### Loading an MCDS into Python3 - -In this section, we will load the pcDataLoder library, and use its pyMCDS class to load the data snapshot 00000012, described above, from [data\_timeseries\_ 2d](https://github.com/elmbeech/physicelldataloader/tree/master/pcdl/data_timeseries_2d) from the 2D timeseries test dataset. - -```python -import pathlib # library to locate the test data -import pcdl # the physicell data loader library - -print('pcdl version:', pcdl.__version__) # it is easy to figure out which pcdl version you run - -pcdl.install_data() # to install the test datasets - -s_path = str(pathlib.Path(pcdl.__file__).parent.joinpath('data_timeseries_2d')) # local path to the installed test data set -s_file = 'output00000012.xml' # the snapshot we want to analyze -s_pathfile = f'{s_path}/{s_file}' -print('mcds xml:', s_pathfile) - -# load mcds - multi cell data standard - object -mcds = pcdl.pyMCDS(s_pathfile) # loads the whole snapshot: the xml and all related mat and graph files -``` - -Side note: for path, in general, unix (slash) and windows (backslash) notation will work. - -The legacy way of loading data, where filename and path had to be separated, works too. - -```python -# legacy way of loading a mcds object -mcds = pcdl.pyMCDS('output00000012.xml', s_path) -``` - -By default, all data related to the snapshot is loaded.\ -For speed and less memory usage, it is however possible to only load the essential (output xml and cell mat data), and exclude microenvironment, graph data, and ID label mapping loading.\ -Additionally, it is possible to specify for custom_data variable types other than the generic float type, namely: int, bool, and str. - -```python -# fine tuned way of loading a mcds object -mcds = pcdl.pyMCDS(s_pathfile, custom_type={}, microenv=False, graph=False, settingxml=False) -``` - - -### The Loaded Data Structure - -```python -# fetch data -mcds = pcdl.pyMCDS(s_pathfile) -``` - -All loaded data lives in `mcds.data` dictionary.\ -As in **version 1**, we have tried to keep everything organized inside this dictionary.\ -Regarding **version 1**, the structure has slightly changed.\ -However, in **version 3**, all data is accessible by functions. There should be no need to fetch data directly from the `mcds.data` dictionary!\ -Anyhow, let's take a look at what we actually have in here. - -![mcds.data dictionary blueprint](img/physicelldataloader_data_dictionary_v3.2.2.png) - -```python -# main data branches -sorted(mcds.data.keys()) # metadata, mesh, substrate (continuum_variables), and agent (discrete_cells) - -# metadata -sorted(mcds.data['metadata'].keys()) # multicellds version, physicell version, simulation time, runtime, time stamp, time unit, spatial unit, and substrate and cell type ID label mappings - -# mesh -sorted(mcds.data['mesh'].keys()) # voxel (ijk), mesh (nmp), and position (xyz) range, axis, coordinate, grid objects, and voxel volume - -# microenvironment -sorted(mcds.data['continuum_variables'].keys()) # list of all processed substrates, e.g. oxygen -sorted(mcds.data['continuum_variables']['oxygen'].keys()) # substrate related data values, unit, diffusion coefficient, and decay rate - -# cell -sorted(mcds.data['discrete_cells'].keys()) # data, units, and graph dictionaries -sorted(mcds.data['discrete_cells']['data'].keys()) # all cell related, tracked data -sorted(mcds.data['discrete_cells']['units'].keys()) # all units from the cell related, tracked data -sorted(mcds.data['discrete_cells']['graph'].keys()) # neighbor_cells and attached_cells graph dictionaries -``` - - -### Accessing the Loaded Data by the pyMCDS Class Functions -Once again, loud, for the ones in the back, in version 3, all data is accessible by functions.\ -There should be no need to fetch data directly from the `mcds.data` dictionary of dictionaries.\ -We will explore these functions in this section. - -```python -# fetch data -mcds = pcdl.pyMCDS(s_pathfile) -``` - -#### Metadata - -Fetch the data's MultiCellDS version, and the PhysiCell version the data was generated. - -```python -mcds.get_multicellds_version() # will return a string like MultiCellDS_2 or MultiCellDS_0.5 -mcds.get_physicell_version() # will return a string like PhysiCell_1.10.4 or BioFVM_1.1.7 -``` - -Fetch simulation time, runtime, and time stamp when the data was processed. - -```python -mcds.get_time() # will return a float value like 720.0 -mcds.get_runtime() # will return a float value like 15.596373 -mcds.get_timestamp() # will return a sting like 2022-10-19T01:12:01Z -``` - -Fetch substrate and cell type ID label mappings, read out from the PhysiCell_settings.xml file. - -```python -mcds.get_substarte_dict() # will return a dictionary, which maps substrate IDs to labels -mcds.get_celltype_dict() # will return a dictionary, which maps cell type IDs to labels -``` - - -#### Mesh Data - -Let's start by the voxel.\ -It is common, but not necessary, that the voxel's width, height, and depth is the same.\ -However, you will find that in this test dataset this is not the case. \ -In the related `PhysiCell_settings.xml` file the voxel was specified as 30[nm] high, 20[nm] wide, and 10[nm] deep.\ -We can retrieve this voxel spacing value and voxel volume. \ -Additionally, we can retrieve the mesh spacing.\ -You will notice that voxel and mesh spacing values differ.\ -This is because this data set is from a 2D simulation. For that reason, the mesh depth is set to 1.\ -In 3D simulation data, voxel and mesh spacing will be the same because voxel and mesh depth is the same. - -```python -mcds.get_mesh_spacing() # [30.0, 20.0, 1] -mcds.get_voxel_spacing() # [30.0, 20.0, 10.0] -mcds.get_voxel_volume() # 30[nm] * 20[nm] * 10[nm] = 6000[nm\*\*3] -``` - -Since version 3, coordinate labels are distinct: -+ **x,y,z:** stand for cell position coordinates, and are real values. -+ **m,n,p:** stand for mesh center coordinates, and are real values. -+ **i,j,k:** stand for voxel index coordinates, and are unsigned integer values. - -For a better understanding, let's fetch start and stop range values for each coordinate type.\ -Unlike in the python range function, not only the start value, but also the stop value is inclusive. - -```python -mcds.get_voxel_ijk_range() # [(0, 10), (0, 10), (0, 0)] -mcds.get_mesh_mnp_range() # [(-15.0, 285.0), (-10.0, 190.0), (0.0, 0.0)] -mcds.get_xyz_range() # [(-30.0, 300.0), (-20.0, 200.0), (-5.0, 5.0)] -``` - -The domain benchmarks are: -+ voxel index values stretch from 0 to 10 longitude (i), 0 to 10 latitude (j), the 2D domain is only 1 voxel deep (k). -+ mesh center values stretch from -15[nm] to 285[nm] longitude (m), -10[nm] to 190[nm] latitude (n), and the depth mesh center (p) is at zero. -+ cells can hold a positioned between -30[nm] and 300[nm] longitude (x), -20[nm] and 200[nm] latitude (y), and -5[nm] and 5[nm] depth (z). - -For voxel and mesh centers, we can fetch the axis tick lists.\ -Each of this function will return a list of 3 numpy arrays, ordered by ijk or mnp, respective. - -```python -mcds.get_voxel_ijk_axis() -mcds.get_mesh_mnp_axis() -``` - -We can even retrieve all mnp mesh center coordinate triplets, and the meshgrids in 2D or 3D shape itself.\ -The coordinate triplets are returned as numpy array.\ -The meshgrids are returned as a 3 way tensor (2D) or 4 way tensor (3D) numpy array. \ -As shown below, it is easy to subset these tensors. - -```python -# all mnp coordinates -mnp_coordinats = mcds.get_mesh_coordinate() # numpy array with shape (3, 121) -mnp_coordinats.shape # (3, 121) - -# 2D mesh grid -mn_meshgrid = mcds.get_mesh_2D() # numpy array with shape (2, 11, 11) -mn_meshgrid.shape # (2, 11, 11) -m_meshgrid = mn_meshgrid[0] # or explicit mn_meshgrid[0,:,:] -n_meshgrid = mn_meshgrid[1] # or explicit mn_meshgrid[1,:,:] -m_meshgrid.shape # (11, 11) -n_meshgrid.shape # (11, 11) - -# 3D mesh grid -mnp_meshgrid = mcds.get_mesh() # numpy array with shape (3, 11, 11, 1) -mnp_meshgrid.shape # (3, 11, 11, 1) -m_meshgrid = mnp_meshgrid[0] # or explicit mnp_meshgrid[0,:,:,:] -n_meshgrid = mnp_meshgrid[1] # or explicit mnp_meshgrid[1,:,:,:] -p_meshgrid = mnp_meshgrid[2] # or explicit mnp_meshgrid[2,:,:,:] -m_meshgrid.shape # (11, 11, 1) -n_meshgrid.shape # (11, 11, 1) -p_meshgrid.shape # (11, 11, 1) -``` - -Furthermore, there are two helper function.\ -One to figure out if a particular xyz coordinate is still in side the mesh, another one to translate a xyz coordinate into ijk voxel indices.\ -The translation function will by default checks if the given coordinate is in the mesh. - -```python -# is given xyz is in the mesh? -mcds.is_in_mesh(x=0, y=0, z=0) # True -mcds.is_in_mesh(x=111, y=22, z=-5) # True -mcds.is_in_mesh(x=111, y=22, z=-5.1) # False and Warning @ pyMCDS.is_in_mesh : z = -5.1 out of bounds: z-range is (-5.0, 5.0) - -# translate xyz into ijk! -mcds.get_voxel_ijk(x=0, y=0, z=0) # [0,0,0] -mcds.get_voxel_ijk(x=111, y=22, z=-5) # [4, 2, 0] -mcds.get_voxel_ijk(x=111, y=22, z=-5.1) # None and Warning @ pyMCDS.is_in_mesh : z = -5.1 out of bounds: z-range is (-5.0, 5.0) -``` - - -#### Microenvironment (Continuum Variables) Data - -Let's have a look at the substrate.\ -We can retrieve an alphabetically ordered list of all substrates processes in the simulation.\ -In the loaded dataset, only one substrate, oxygen, was part of the simulation. - -```python -mcds.get_substrate_names() # ['oxygen'] -``` - -We can retrieve a pandas dataframe with the parameters (decay\_rate, diffusion\_coefficient) that were set for each substrate. - -```python -df = mcds.get_substrate_df() -df.head() -``` - -Regarding the concentrations, we can retrieve: -+ a **numpy array** of all substrate concentrations at a particular xyz coordinate, ordered alphabetically by substrate name, like the list retrieved by the get\_substrate\_names function. -+ substrate specific 3D or 2D **meshgrid numpy arrays**. - To get a 2D meshgrids you can slice though any z stack value, the function will always pick the closest mesh center coordinate, the smaller coordinate, if you hit the saddle point between two voxels. -+ **matplotlib contour and contourf plots**, for any substrate, through any z\_slice. -+ a **pandas dataframe** with voxel ijk coordinate values, mesh center mnp coordinate values, and concentrations values for all substrates. - -```python -# all concentration values at a particular coordinate -mcds.get_concentration_at(x=0, y=0, z=0) # array([34.4166271]) -mcds.get_concentration_at(x=111, y=22, z=-5) # array([18.80652216]) -mcds.get_concentration_at(x=111, y=22, z=-5.1) # None and Warning @ pyMCDS.is_in_mesh : z = -5.1 out of bounds: z-range is (-5.0, 5.0) - -# concentration meshgrid for a particular substrate -oxygen_3d = mcds.get_concentration('oxygen') -oxygen_2d = mcds.get_concentration('oxygen', z_slice=0) -oxygen_3d.shape # (11, 11, 1) -oxygen_2d.shape # (11, 11) - -# contour plot -fig = mcds.get_contour('oxygen') -fig = mcds.get_contour('oxygen', z_slice=3.333) -fig.show() - -# dataframe with complete voxel coordinate (ijk), mesh coordinate (mnp), and substrate concentration mapping -df = mcds.get_concentration_df() -df.head() - -# detect substrates that not over whole domain have the same concentration -df = mcds.get_concentration_df(minstate=2) -df.head() # oxygen concentration varies over the domain -``` - - -#### Cell (Discrete Cells) Data - -Now, let's have a look at all variables we track from each agent.\ -It is quite a list.\ -This list is ordered alphabetically, except for the first entry, which always is ID. - -```python -mcds.get_cell_variables() # ['ID', 'attachment_elastic_constant', ..., 'velocity_z'] -len(mcds.get_cell_variables()) # 77 -``` - -The data itself we can retrieve as dataframe.\ -There exist two functions to do so.\ -One that retrieves data from all agents in the whole domain, the other retrieves only data from the agents in a particular voxel, specified by the xyz coordinate.\ -Please note, this dataframes not only hold the exact xyz coordinate, and all discrete variables mentioned above, they list additionally all agent surrounding substrate concentrations, the containing ijk voxel coordinate, and the mnp mesh center coordinate. - -```python -# data from all agents in the domain -df = mcds.get_cell_df() -df.shape # (992, 87) this means: 992 agents in the whole domain, 87 tracked variables -df.info() -df.head() - -# data variables that are in all agents the same carry no information -# let's filter for variables that carry at least 2 states -df = mcds.get_cell_df(minstate=2) -df.shape # (992, 37) this means: 992 agents in the whole domain, 37 tracked variables have more than 2 states - -# data from all agents in the xyz specified voxel -df = mcds.get_cell_df_at(x=0,y=0,z=0) -df.shape # (4, 87) - -df = mcds.get_cell_df_at(x=111,y=22,z=-5) -df.shape # (3, 87) - -df = mcds.get_cell_df_at(x=111,y=22,z=-5.1) # None and Warning @ pyMCDS.is_in_mesh : z = -5.1 out of bounds: z-range is (-5.0, 5.0) -``` - -Since lately, PhysiCell tracks for each cell, if this cell touches other cells.\ -This data is stored in two dictionaries of sets of integers which link the corresponding cell IDs.\ -We have here a closer look at the neighbor graph because the attached graph is in this particular study not really interesting. - -```python -# attached graph -graph = mcds.get_attached_graph_dict() -len(graph) # 992 - -# neighbor graph -graph = mcds.get_neighbor_graph_dict() -len(graph) # 992 -graph.keys() # dict_keys([0, 1, ..., 993]) -graph[0] # {1, 31, 33, 929, 935, 950} -``` - - -#### Unites - -Finally, it is possible to retrieve a dataframe that lists all units from all tracked variables, from metadata, mesh, continuum\_variables, and discrete\_cells. - -```python -df = mcds.get_unit_df() -df.shape # (82, 1) -df.columns # Index(['unit'], dtype='object') -df.index # Index(['attachment_elastic_constant', 'attachment_rate', ..., 'velocity_z'], dtype='object', name='parameter') -df.head() -``` - - -### MCDS Time Step Pandas and Plotting - -Since microenvironment data and cell data can be retrieved as pandas datafarme, basic plotting (line plot, bar plot, histogram, boxplot, kernel density estimation plot, area plot, pie plot, scatter plot, hexbin plot) can easily be generated with the **pandas plot function**. -As mentioned above, for microenvironment data the pyMCDS class has a mcds.get\_contour function because pandas has no contour and contourf plots implementation. -All these plots are mathplotlib plots, hence fine tuning can always be done using the matplotlib library. - -+ https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html -+ https://matplotlib.org/ - -```python -# load library -import matplotlib.pyplot as plt - -# set constantes -z_slice = 0 - -# generate plot -fig, ax = plt.subplots(figsize=(7,4)) - -# plot microenvironment -mcds.get_contour('oxygen', z_slice=z_slice, ax=ax) - -# plot cells -df = mcds.get_cell_df() -df = df.loc[(df.mesh_center_p == z_slice),:] -df.plot( - kind = 'scatter', - x = 'position_x', - y = 'position_y', - s = 10, - c = 'oncoprotein', - cmap = 'magma', - vmin = 0, - vmax = 2, - grid = True, - title = 'cells and microenvironment', - ax = ax, -) -ax.axis('equal') -plt.tight_layout() - -# save plot to file -# bue 20230101: note, in this test dataset, cells were seeded outside the actual domain. -fig.savefig('pymcds_2d_cell_and_microenvironment.png', facecolor='white') -plt.close() -``` - - -### Working With MCDS Time Series in Python3 - -An exciting thing about modeling is to have time series data.\ -Pcdl's pyMCDSts class is here to make the handling of a time series of MCD snapshots easy. - -```python -import pathlib # library to locate the test data -import pcdl # the physicell data loader library - -s_path = str(pathlib.Path(pcdl.__file__).parent.joinpath('data_timeseries_2d')) # local path to the installed test data set -print('mcds time series:', s_path) - -# generate a mcds time series instance -mcdsts = pcdl.pyMCDSts(s_path) -``` - -Like in the pyMCDs class, for memory consumption and processing speed control, we can specify if we want to load microenvironment data and graph data from the snapshots we later on analyze.\ -By default, all data related to the snapshot is loaded, if needed, we can set load to False.\ -Additionally, we can exclude to read the PhysiCell_settings.xml file, if it is not available, and fine tune variable typing. - -```python -# fine tuned the way mcds objects will be loaded -mcdsts = pcdl.pyMCDSts(s_path, custom_type={}, load=True, microenv=False, graph=False, settingxml=False) -``` - - -#### Times Series MCDS Data - -Now, let's have a look at the pyMCDSts instances data analysis functions. - -```python -# fetch data -mcdsts = pcdl.pyMCDSts(s_path, load=False) -``` - -+ **get_xmlfile_list** will simply return a list of absolute path and mcds xml file name strings.\ -This list can be manipulated, and later be fed into the objects read\_xml function, to only read specific snapshots into memory. -For example, if you want only to analyze hour 11, 12, and 13 from your run, or if data from every other hour will be enough. - -```python -ls_xml = mcdsts.get_xmlfile_list() -ls_xml # ['/path/to/output00000000.xml', '/path/to/output00000001.xml', ..., '/path/to/output00000024.xml'] - -# filter for snapshot 11,12, and 13 -ls_xml_11_12_13 = ls_xml[11:14] -ls_xml_11_12_13 # ['/path/to/output00000011.xml', '/path/to/output00000012.xml', '/path/to/output00000013.xml'] - -# filter for every other snapshot -ls_xml_even = [s_xml for i, s_xml in enumerate(ls_xml) if (i%2 == 0)] -ls_xml_even # ['/path/to/output00000000.xml', '/path/to/output00000002.xml', ..., /path/to/output00000024.xml'] -``` - -+ **read_xml** will actually read the snapshots into RAM.\ -The default setting will read all snapshots from a time series. \ -However, you can always use a filtered ls\_xml list to only load a subset of snapshots. - -```python -# load all snapshots -mcdsts.read_mcds() -mcdsts.l_mcds # YMMV! [, , ..., ] -len(mcdsts.l_mcds) # 25 - -# load snapshot 11, 12, and 13 -mcdsts.l_mcds = mcdsts.read_mcds(ls_xml_11_12_13) -len(mcdsts.l_mcds) # 3 - -# load all even snapshots -mcdsts.ls_mcds = mcdsts.read_mcds(ls_xml_even) -len(mcdsts.ls_mcds) # 13 -``` - -Single snapshots can now be accessed by indexing.\ -With a single snapshot, you work exactly in the same way as with an object loaded by pyMCDS. - -```python -# get the simulation time -mcdsts.l_mcds[12].get_time() # 720.0 - -# get the cell data frame -df = mcdsts.l_mcds[12].get_cell_df() -df.shape # (992, 87) -df.head() -``` - -It is very easy to loop over the whole time series, to analyze time series data, and generate time series plots. - -```python -# load library -import matplotlib.pyplot as plt -import pandas as pd - -# fetch data -mcdsts = pcdl.pyMCDSts(s_path) - -# loop over the time series to gather temporal information like, for example, data for a growth curve -lr_time = [mcds.get_time() for mcds in mcdsts.l_mcds] # [0.0, 60.0, ..., 1440.0] -li_cellcount = [mcds.get_cell_df().shape[0] for mcds in mcdsts.l_mcds] # [889, 898, ..., 1099] - -# pack data into a pandas datafarm -df = pd.DataFrame([lr_time,li_cellcount], index=['time_min','cell_count']).T -df.head() - -# plot data -df.plot( - kind = 'scatter', - x = 'time_min', - y = 'cell_count', - s = 36, - ylim = (800,1200), - grid=True, - title='2D time series test data' -) - -# save plot to file -fig, ax = plt.subplots() -df.plot( - kind = 'scatter', - x = 'time_min', - y = 'cell_count', - s = 36, - ylim = (800,1200), - grid = True, - title = '2D time series test data', - ax = ax, -) -plt.tight_layout() -fig.savefig('pymcdsts_2d_cellcount.png', facecolor='white') -plt.close() -``` - - -#### Times Series Data Triage - -Cell variables that have no variance, zero entropy, that are in all agent overall time steps in the same state, have always exacted the same value, carry no information. -Similarly, substrates variables that over the whole domain overall time steps have the same concentration are not interesting. - -```python -# fetch data -mcdsts = pcdl.pyMCDSts(s_path) -``` - -Like for a single time steps, there is an easy way to triage over the whole time series for variables that carry information, by checking for variables with more than one state. - -``` -# cell data -ls_cell = mcdsts.get_cell_minstate_col() -len() - -# substrate data -ls_substarte = mcdsts.get_concentration_minstate_col() -``` - - -#### Times Series Data Scatter Plot Images, Contour Plot Images, and Movies - -With PhysiCell it is not only possible to take data snapshots, but as well [svg](https://en.wikipedia.org/wiki/SVG) vector graphics images snapshots.\ -PhysiCell's [Makefile](https://en.wikipedia.org/wiki/Make_(software)) has code to translate those svg images into [gif](https://en.wikipedia.org/wiki/GIF), [jpeg](https://en.wikipedia.org/wiki/JPEG), [png](https://en.wikipedia.org/wiki/Portable_Network_Graphics), or [tiff](https://en.wikipedia.org/wiki/TIFF) format, making use of the [image magick](https://en.wikipedia.org/wiki/ImageMagick) library, and to translate the jpeg, png, or tiff images into a [mp4](https://en.wikipedia.org/wiki/MP4_file_format) movie, therefore making use from the [ffmpeg](https://en.wikipedia.org/wiki/FFmpeg) library.\ -pyMCDSts instances provides a similar functionality, although the images are generated straight from data and not for the svg files.\ -However, mp4 movies and gif images are generated in the same way.\ -This means the mcdsts.make_gif code will only run if image magick and mcdsts.make_movie code will only run if ffmpeg is installed on your computer. - -```python -# fetch data -mcdsts = pcdl.pyMCDSts(s_path) -``` - -Translate physicell output data into static raster graphic images: - -```python -# cell images colored by cell_type -mcdsts.make_imgcell() # jpeg images colored by cell_type -mcdsts.make_imgcell(ext='png') # png images colored by cell_type -mcdsts.make_imgcell(ext='tiff') # tiff images colored by cell_type - -# cell images can be colored by any cell dataframe column, like, for example, by pressure -# there are parameters to adjust cell size and more -mcdsts.make_imgcell(focus='pressure') # jpeg images colored by pressure values - -# substrate data owns an equivalent function, -# being able to display any substrate dataframe column -mcdsts.make_imgsubs(focus='oxygen') # jpeg images colored by oxygen values -``` - -Translate raster graphic images into a dynamic gif image:\ -Gif images can only be generated for already existing jpeg, png, or tiff images!\ -By default, jpeg files will be used, to generate the movie.\ -If png or tiff files should be used as source, then this has to be explicitly stated. - -```python -# using jpeg images for input -s_path = mcdsts.make_imgcell() -mcdsts.make_gif(s_path) - -# using jpeg images one-liner -mcdsts.make_gif(mcdsts.make_imgcell()) - -# using tiff images for input -s_path = mcdsts.make_imgcell(ext='tiff') -mcdsts.make_gif(s_path, interface='tiff') -``` - -Translate physicell svg images into an mp4 movie:\ -Movies can only be generated for already existing jpeg, png, or tiff images! - -```python -# using jpeg images for input -s_path = mcdsts.make_imgcell() -mcdsts.make_movie(s_path) - -# using jpeg images one-liner -mcdsts.make_movie(mcdsts.make_imgcell()) - -# using tiff images for input -s_path = mcdsts.make_imgcell(ext='tiff') -mcdsts.make_movie(s_path, interface='tiff') -``` - - -### Data Clean Up - -After you are done checking out the results, you can uninstall the test datasets and all files stored within its folders. - -``` -pcdl.uninstall_data() -``` - - -**That's all Folks!** diff --git a/man/img/pcdataloader_title_v3.0.0.jpg b/man/img/pcdataloader_title_v3.0.0.jpg deleted file mode 100644 index df1a7d1..0000000 Binary files a/man/img/pcdataloader_title_v3.0.0.jpg and /dev/null differ diff --git a/man/img/pcdataloader_title_v3.0.0.png b/man/img/pcdataloader_title_v3.0.0.png deleted file mode 100644 index 4f6321d..0000000 Binary files a/man/img/pcdataloader_title_v3.0.0.png and /dev/null differ diff --git a/man/img/physicelldataloader_data_dictionary_v3.0.0.jpg b/man/img/physicelldataloader_data_dictionary_v3.0.0.jpg deleted file mode 100644 index e096462..0000000 Binary files a/man/img/physicelldataloader_data_dictionary_v3.0.0.jpg and /dev/null differ diff --git a/man/img/physicelldataloader_data_dictionary_v3.0.0.png b/man/img/physicelldataloader_data_dictionary_v3.0.0.png deleted file mode 100644 index 1fc96b1..0000000 Binary files a/man/img/physicelldataloader_data_dictionary_v3.0.0.png and /dev/null differ diff --git a/man/img/physicelldataloader_data_dictionary_v3.2.2.jpg b/man/img/physicelldataloader_data_dictionary_v3.2.2.jpg deleted file mode 100644 index c3e3287..0000000 Binary files a/man/img/physicelldataloader_data_dictionary_v3.2.2.jpg and /dev/null differ diff --git a/man/img/physicelldataloader_data_dictionary_v3.2.2.png b/man/img/physicelldataloader_data_dictionary_v3.2.2.png deleted file mode 100644 index 7de357d..0000000 Binary files a/man/img/physicelldataloader_data_dictionary_v3.2.2.png and /dev/null differ diff --git a/man/img/physicelldataloader_logo_geek_v3.0.0.png b/man/img/physicelldataloader_logo_geek_v3.0.0.png deleted file mode 100644 index 0d9039e..0000000 Binary files a/man/img/physicelldataloader_logo_geek_v3.0.0.png and /dev/null differ diff --git a/man/img/physicelldataloader_logo_v3.0.0.png b/man/img/physicelldataloader_logo_v3.0.0.png deleted file mode 100644 index 8cb57f8..0000000 Binary files a/man/img/physicelldataloader_logo_v3.0.0.png and /dev/null differ diff --git a/man/img/physicelldataloader_logo_v3.0.0.svg b/man/img/physicelldataloader_logo_v3.0.0.svg deleted file mode 100644 index 2e430c9..0000000 --- a/man/img/physicelldataloader_logo_v3.0.0.svg +++ /dev/null @@ -1,517 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - DataLoader Python3 PhysiCell - - - - - - - - - - diff --git a/matlab_example/citation and license.txt b/matlab_example/citation and license.txt new file mode 100755 index 0000000..a609d83 --- /dev/null +++ b/matlab_example/citation and license.txt @@ -0,0 +1,14 @@ +This dataset is posted online with the Creative Commons Attribution 4.0 International (CC BY 4.0) license. + +It requires that you cite the source of this dataset for *any* reuse: + +A. Ghaffarizadeh, S.H. Friedman, S.M. Mumenthaler, and P. Macklin. +PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D Multicellular Systems. +PLoS Comput. Biol., 2017 (preprint, in review). DOI: 10.1101/088773. + +Please check http://PhysiCell.MathCancer.org for the most recent citation information as +this article undergoes peer review. + +For the full text and legal conditions of the CC BY 4.0 license, see: + +https://creativecommons.org/licenses/by/4.0/ diff --git a/man/img/physicelldataloader_logo_geek_v3.0.0.svg b/matlab_example/initial_mesh0.mat similarity index 51% rename from man/img/physicelldataloader_logo_geek_v3.0.0.svg rename to matlab_example/initial_mesh0.mat index 3e41106..917eac9 100644 Binary files a/man/img/physicelldataloader_logo_geek_v3.0.0.svg and b/matlab_example/initial_mesh0.mat differ diff --git a/matlab_example/output00003696.xml b/matlab_example/output00003696.xml new file mode 100644 index 0000000..d7ada9b --- /dev/null +++ b/matlab_example/output00003696.xml @@ -0,0 +1,90 @@ + + + + + BioFVM + 1.1.6 + http://BioFVM.MathCancer.org + + + + + + 30239.999998 + 191255.188684 + 2017-08-27T04:28:34Z + 2017-08-27T04:28:34Z + + + + + -750.000000 -750.000000 -750.000000 750.000000 750.000000 750.000000 + -740.000000 -720.000000 -700.000000 -680.000000 -660.000000 -640.000000 -620.000000 -600.000000 -580.000000 -560.000000 -540.000000 -520.000000 -500.000000 -480.000000 -460.000000 -440.000000 -420.000000 -400.000000 -380.000000 -360.000000 -340.000000 -320.000000 -300.000000 -280.000000 -260.000000 -240.000000 -220.000000 -200.000000 -180.000000 -160.000000 -140.000000 -120.000000 -100.000000 -80.000000 -60.000000 -40.000000 -20.000000 0.000000 20.000000 40.000000 60.000000 80.000000 100.000000 120.000000 140.000000 160.000000 180.000000 200.000000 220.000000 240.000000 260.000000 280.000000 300.000000 320.000000 340.000000 360.000000 380.000000 400.000000 420.000000 440.000000 460.000000 480.000000 500.000000 520.000000 540.000000 560.000000 580.000000 600.000000 620.000000 640.000000 660.000000 680.000000 700.000000 720.000000 740.000000 + -740.000000 -720.000000 -700.000000 -680.000000 -660.000000 -640.000000 -620.000000 -600.000000 -580.000000 -560.000000 -540.000000 -520.000000 -500.000000 -480.000000 -460.000000 -440.000000 -420.000000 -400.000000 -380.000000 -360.000000 -340.000000 -320.000000 -300.000000 -280.000000 -260.000000 -240.000000 -220.000000 -200.000000 -180.000000 -160.000000 -140.000000 -120.000000 -100.000000 -80.000000 -60.000000 -40.000000 -20.000000 0.000000 20.000000 40.000000 60.000000 80.000000 100.000000 120.000000 140.000000 160.000000 180.000000 200.000000 220.000000 240.000000 260.000000 280.000000 300.000000 320.000000 340.000000 360.000000 380.000000 400.000000 420.000000 440.000000 460.000000 480.000000 500.000000 520.000000 540.000000 560.000000 580.000000 600.000000 620.000000 640.000000 660.000000 680.000000 700.000000 720.000000 740.000000 + -740.000000 -720.000000 -700.000000 -680.000000 -660.000000 -640.000000 -620.000000 -600.000000 -580.000000 -560.000000 -540.000000 -520.000000 -500.000000 -480.000000 -460.000000 -440.000000 -420.000000 -400.000000 -380.000000 -360.000000 -340.000000 -320.000000 -300.000000 -280.000000 -260.000000 -240.000000 -220.000000 -200.000000 -180.000000 -160.000000 -140.000000 -120.000000 -100.000000 -80.000000 -60.000000 -40.000000 -20.000000 0.000000 20.000000 40.000000 60.000000 80.000000 100.000000 120.000000 140.000000 160.000000 180.000000 200.000000 220.000000 240.000000 260.000000 280.000000 300.000000 320.000000 340.000000 360.000000 380.000000 400.000000 420.000000 440.000000 460.000000 480.000000 500.000000 520.000000 540.000000 560.000000 580.000000 600.000000 620.000000 640.000000 660.000000 680.000000 700.000000 720.000000 740.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 1000.000000 + 0.016000 + + + + + output00003696_microenvironment0.mat + + + + + + + + + output00003696_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + output00003696_cells_physicell.mat + + + + + + diff --git a/matlab_example/output00003696_cells.mat b/matlab_example/output00003696_cells.mat new file mode 100644 index 0000000..8a184a3 Binary files /dev/null and b/matlab_example/output00003696_cells.mat differ diff --git a/matlab_example/output00003696_cells_physicell.mat b/matlab_example/output00003696_cells_physicell.mat new file mode 100644 index 0000000..a6df7f0 Binary files /dev/null and b/matlab_example/output00003696_cells_physicell.mat differ diff --git a/data_timeseries_3d.tar.gz b/matlab_example/output00003696_microenvironment0.mat similarity index 57% rename from data_timeseries_3d.tar.gz rename to matlab_example/output00003696_microenvironment0.mat index 6121992..1387054 100644 Binary files a/data_timeseries_3d.tar.gz and b/matlab_example/output00003696_microenvironment0.mat differ diff --git a/matlab_example/snapshot00003696.svg b/matlab_example/snapshot00003696.svg new file mode 100644 index 0000000..5a360c3 --- /dev/null +++ b/matlab_example/snapshot00003696.svg @@ -0,0 +1,3711 @@ + + + + + + + + Current time: 21 days, 0 hours, and 0.00 minutes, z = 0.00 μm + + + 66978 agents + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 200 μm + + + 2 days, 5 hours, 7 minutes, and 35.5525 seconds + + + diff --git a/pcdl/VERSION.py b/pcdl/VERSION.py deleted file mode 100644 index 5f5025a..0000000 --- a/pcdl/VERSION.py +++ /dev/null @@ -1 +0,0 @@ -__version__ = '3.2.8' diff --git a/pcdl/__init__.py b/pcdl/__init__.py deleted file mode 100644 index 719c53a..0000000 --- a/pcdl/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from .pyMCDS import pyMCDS -from .pyMCDSts import pyMCDSts -from .data_timeseries import install_data, uninstall_data -from .VERSION import __version__ diff --git a/pcdl/data_timeseries.py b/pcdl/data_timeseries.py deleted file mode 100644 index 02048a4..0000000 --- a/pcdl/data_timeseries.py +++ /dev/null @@ -1,85 +0,0 @@ -######### -# title: data_timeseries.py -# -# language: python3 -# date: 2023-06-11 -# license: BSD-3-Clause -# authors: Patrick Wall, Randy Heiland, Paul Macklin, Elmar Bucher -# -# description: -# code to download the data_timeseries.tar.gz files -# from the source code repository, and extract them to where -# the pcdl library is installed, and code to remove the installed -# data_timeseries folders. -# the extracted data_timeseries_2d and data_timeseries_3d folder contains -# example PhysiCell output, necessary to run the pytest unit tests -# and useful to run through the tutorial. -######### - - -# library -import os -import pathlib -import pcdl -import requests -import shutil -import tarfile - - -# object classes -class install_data: - """ - description: - function to install a 2D and 3D PhysiCell output test dataset. - """ - def __init__(self): - # get pcdl library installation path - s_path = str(pathlib.Path(pcdl.__file__).parent).replace('\\','/') + '/' - - # for each timeseries - for s_url in [ - 'https://raw.githubusercontent.com/elmbeech/physicelldataloader/master/data_timeseries_2d.tar.gz', - 'https://raw.githubusercontent.com/elmbeech/physicelldataloader/master/data_timeseries_3d.tar.gz', - ]: - # get path and filename - s_file = s_url.split('/')[-1] - s_pathfile = s_path + s_file - - # download tar.gz file - print(f'download: {s_url}') - o_response = requests.get(s_url) - - print(f'extract: {s_pathfile}\n') - # save tar.gz file - f = open(s_pathfile, 'wb') - f.write(o_response.content) - f.close() - # extract tar.gz file - f = tarfile.open(s_pathfile, 'r') - f.extractall(s_path) - - -class uninstall_data: - """ - description: - function to uninstall the 2D and 3D PhysiCell output test dataset, - and all other files stored within its folders. - """ - def __init__(self): - # get pcdl library installation path - s_path = str(pathlib.Path(pcdl.__file__).parent) + '/' - - # for each obsolet timeserie - for s_file in sorted(os.listdir(s_path)): - if s_file.startswith('data_timeseries_'): - - # get path and filename - s_pathfile = s_path + s_file - - # delete timeseries - print(f'remove: {s_pathfile}') - if os.path.isfile(s_pathfile): - os.remove(s_pathfile) - else: - shutil.rmtree(s_pathfile) - diff --git a/pcdl/pdplt.py b/pcdl/pdplt.py deleted file mode 100644 index 7d1b3fb..0000000 --- a/pcdl/pdplt.py +++ /dev/null @@ -1,126 +0,0 @@ -#### -# title: biotransistor.pdplt.py -# -# language: python3 -# date: 2019-06-29 -# license: GPL>=v3 -# author: Elmar Bucher -# -# description: -# library with the missing pandas plot features. -# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html -#### - - -# library -import matplotlib.pyplot as plt -from matplotlib import cm -from matplotlib import colors -import matplotlib.patches as mpatches -import numpy as np -import random - - -# pandas to matplotlib -#fig, ax = plt.subplots() -#ax = ax.ravel() -#df.plot(ax=ax) -#ax.axis('equal') -#plt.tight_layout() -#fig.savefig(s_filename, facecolor='white') -#plt.close() - - -# plot stuff -def df_label_to_color(df_abc, s_label, es_label=None, s_cmap='viridis', b_shuffle=False): - ''' - input: - df_abc: dataframe to which the color column will be added. - s_label: column name with sample labels for which a color column will be generated. - es_label: set of labels. if None, es_label will be extracted for the s_label column. - s_cmap: matplotlib color map label. - https://matplotlib.org/stable/tutorials/colors/colormaps.html - b_shuffle: should colors be given by alphabetical order, - or should the label color mapping order be random. - - output: - df_abc: dataframe updated with color column. - ds_color: lable to hex color string mapping dictionary - - description: - function adds for the selected label column - a color column to the df_abc dataframe. - ''' - if (es_label is None): - es_label = set(df_abc.loc[:,s_label]) - ls_label = sorted(es_label) - if b_shuffle: - random.shuffle(ls_label) - a_color = plt.get_cmap(s_cmap)(np.linspace(0, 1, len(ls_label))) - do_color = dict(zip(ls_label, a_color)) - ds_color = {} - for s_category, o_color in do_color.items(): - ds_color.update({s_category : colors.to_hex(o_color)}) - # output - df_abc[f'{s_label}_color'] = [ds_color[s_scene] for s_scene in df_abc.loc[:,s_label]] - return(ds_color) - -def ax_colorlegend(ax, ds_color, r_x_figure2legend_space=0.01, s_fontsize='small'): - ''' - input: - ax: matplotlib axis object to which a color legend will be added. - ds_color: lables to color strings mapping dictionary - r_x_figure2legend_space: space between plot and legend. - -1 is left plot border, 0 is right plot border. - s_fontsize: font size used for the legend. known are: - xx-small, x-small, small, medium, large, x-large, xx-large. - - output: - ax: matplotlib axis object updated with color legend. - - description: - function to add color legend to a figure. - ''' - lo_patch = [] - for s_label, s_color in sorted(ds_color.items()): - o_patch = mpatches.Patch(color=s_color, label=s_label) - lo_patch.append(o_patch) - ax.legend( - handles = lo_patch, - bbox_to_anchor = (1+r_x_figure2legend_space, 0, 0, 0), - loc = 'lower left', - borderaxespad = 0.00, - fontsize = s_fontsize - ) - -def ax_colorbar(ax, r_vmin, r_vmax, s_cmap='viridis', s_text=None, o_fontsize='medium', b_axis_erase=False): - ''' - input: - ax: matplotlib axis object to which a colorbar will be added. - r_vmin: colorbar min value. - r_vmax: colorbar max value. - s_cmap: matplotlib color map label. - https://matplotlib.org/stable/tutorials/colors/colormaps.html - s_text: to label the colorbar axis. - o_fontsize: font size used for the legend. known are: - xx-small, x-small, small, medium, large, x-large, xx-large. - b_axis_erase: should the axis ruler be erased? - - output: - ax: matplotlib axis object updated with colorbar. - - description" - function to add colorbar to a figure. - ''' - if b_axis_erase: - ax.axis('off') - if not (s_text is None): - ax.text(0.5,0.5, s_text, fontsize=o_fontsize) - plt.colorbar( - cm.ScalarMappable( - norm=colors.Normalize(vmin=r_vmin, vmax=r_vmax, clip=False), - cmap=s_cmap, - ), - ax=ax, - ) - diff --git a/pcdl/pyMCDS.py b/pcdl/pyMCDS.py deleted file mode 100644 index db97d9b..0000000 --- a/pcdl/pyMCDS.py +++ /dev/null @@ -1,1725 +0,0 @@ -######### -# title: pyMCDS.py -# -# language: python3 -# date: 2022-08-22 -# license: BSD-3-Clause -# authors: Patrick Wall, Randy Heiland, Paul Macklin, Elmar Bucher -# -# description: -# pyMCDS.py definds an object class, able to load and access -# within python a single time step from the PhysiCell model output folder. -# pyMCDS.py was forked from the original PhysiCell-Tools python-loader -# implementation and further developed. -######### - - -# load library -import matplotlib.pyplot as plt -from matplotlib import cm -from matplotlib import colors -import numpy as np -import pandas as pd -import pathlib -from scipy import io -import sys -import xml.etree.ElementTree as ET - - -# const physicell codec -# implemation based on PhysiCell/core/PhysiCell_constants.h. -ds_cycle_model = { - '0' : 'advanced_Ki67_cycle_model', - '1' : 'basic_Ki67_cycle_model', - '2' : 'flow_cytometry_cycle_model', - '3' : 'live_apoptotic_cycle_model', - '4' : 'total_cells_cycle_model', - '5' : 'live_cells_cycle_model', - '6' : 'flow_cytometry_separated_cycle_model', - '7' : 'cycling_quiescent_model', -} -ds_death_model = { - '100' : 'apoptosis_death_model', - '101' : 'necrosis_death_model', - '102' : 'autophagy_death_model', - '9999' : 'custom_cycle_model', -} - -ds_cycle_phase = { - '0' : 'Ki67_positive_premitotic', - '1' : 'Ki67_positive_postmitotic', - '2' : 'Ki67_positive', - '3' : 'Ki67_negative', - '4' : 'G0G1_phase', - '5' : 'G0_phase', - '6' : 'G1_phase', - '7' : 'G1a_phase', - '8' : 'G1b_phase', - '9' : 'G1c_phase', - '10' : 'S_phase', - '11' : 'G2M_phase', - '12' : 'G2_phase', - '13' : 'M_phase', - '14' : 'live', - '15' : 'G1pm_phase', - '16' : 'G1ps_phase', - '17' : 'cycling', - '18' : 'quiescent', - '9999' : 'custom_phase', -} -ds_death_phase = { - '100' : 'apoptotic', - '101' : 'necrotic_swelling', - '102' : 'necrotic_lysed', - '103' : 'necrotic', - '104' : 'debris', -} - -# const physicell variable names -es_var_subs = { - 'chemotactic_sensitivities', - 'fraction_released_at_death', - 'fraction_transferred_when_ingested', - 'internalized_total_substrates', - 'net_export_rates', - 'saturation_densities', - 'secretion_rates', - 'uptake_rates', -} -es_var_death = { - 'death_rates', -} -es_var_cell = { - 'attack_rates', - 'cell_adhesion_affinities', - 'fusion_rates', - 'live_phagocytosis_rates', - 'transformation_rates', -} -es_var_spatial = { - 'migration_bias_direction', - 'motility_vector', - 'orientation', - 'position', - 'velocity', -} - -# const physicell variable types -do_var_type = { - # integer - 'ID': int, - 'cell_count_voxel': int, - 'chemotaxis_index': int, - 'maximum_number_of_attachments': int, - 'number_of_nuclei': int, - # boolean - 'contact_with_basement_membrane': bool, - 'dead': bool, - 'is_motile': bool, - # categorical - 'cell_type': str, # id mapping - 'current_death_model': str, # codec mapping - 'current_phase': str, # codec mapping - 'cycle_model': str, # codec mapping -} - - -# functions -def graphfile_parser(s_pathfile): - """ - input: - s_pathfile: string - path to and file name from graph.txt file. - - output: - dei_graph: dictionary of sets of integers. - object maps each cell ID to connected cell IDs. - - description: - code parses PhysiCell's own graphs format and - returns the content in a dictionary object. - """ - # processing - dei_graph = {} - f = open(s_pathfile) - for i, s_line in enumerate(f): - #print('processing line:', s_line.strip()) - s_key, s_value = s_line.strip().split(':') - ei_value = set() - if len(s_value.strip()) : - ei_value = set([int(s_id) for s_id in s_value.split(',')]) - dei_graph.update({int(s_key): ei_value}) - f.close() - - # output - return(dei_graph) - - -# object classes -class pyMCDS: - """ - input: - xmlfile: string - name of the xml file with or without path. - in the with path case, output_path has to be set to the default! - - output_path: string; default '.' - relative or absolute path to the directory where - the PhysiCell output files are stored. - - custom_type: dictionary; default is {} - variable to specify custom_data variable types - other than float (int, bool, str) like this: {var: dtype, ...}. - down stream float and int will be handled as numeric, - bool as Boolean, and str as categorical data. - - microenv: boole; default True - should the microenvironment be extracted? - setting microenv to False will use less memory and speed up - processing, similar to the original pyMCDS_cells.py script. - - graph: boole; default True - should the graphs be extracted? - setting graph to False will use less memory and speed up processing. - - settingxml: boole; default True - should the substrate and cell type ID label mapping defined in - PhysiCell_settings.xml be extracted? - only set to False if the xml file is missing. - - verbose: boole; default True - setting verbose to False for less text output, while processing. - - output: - mcds: pyMCDS class instance - all fetched content is stored at mcds.data. - - description: - pyMCDS.__init__ will generate a class instance with a - dictionary of dictionaries data structure that contains all - output from a single PhysiCell model time step. furthermore, - this class, and as such it's instances, offers functions - to access the stored data. - the code assumes that all related output files are stored in - the same directory. data is loaded by reading the xml file - for a particular time step and the therein referenced files. - """ - def __init__(self, xmlfile, output_path='.', custom_type={}, microenv=True, graph=True, settingxml=True, verbose=True): - self.custom_type = custom_type - self.microenv = microenv - self.graph = graph - self.settingxml = settingxml - self.verbose = verbose - self.data = self._read_xml(xmlfile, output_path) - - - ## METADATA RELATED FUNCTIONS ## - - def get_multicellds_version(self): - """ - input: - self: pyMCDS class instance. - - output: - s_version : sting - MultiCellDS xml version which stored the data. - - description: - function returns as a string the MultiCellDS xml version - that was used to store this data. - """ - return self.data['metadata']['multicellds_version'] - - def get_physicell_version(self): - """ - input: - self: pyMCDS class instance. - - output: - s_version : sting - PhysiCell version which generated the data. - - description: - function returns as a string the PhysiCell version - that was used to generate this data. - """ - return self.data['metadata']['physicell_version'] - - - def get_timestamp(self): - """ - input: - self: pyMCDS class instance. - - output: - s_timestap : sting - timestamp from when this data was generated. - - description: - function returns as a string the timestamp from when - this data was generated. - """ - return self.data['metadata']['created'] - - - def get_time(self): - """ - input: - self: pyMCDS class instance. - - output: - r_time : floating point number - simulation time in [min]. - - description: - function returns as a real number - the simulation time in minutes. - """ - return self.data['metadata']['current_time'] - - - def get_runtime(self): - """ - input: - self: pyMCDS class instance. - - output: - r_time : floating point number - wall time in [sec]. - - description: - function returns as a real number, the wall time in seconds - the simulation took to run up to this time step. - """ - return self.data['metadata']['current_runtime'] - - - ## MESH RELATED FUNCTIONS ## - - def get_voxel_ijk_range(self): - """ - input: - self: pyMCDS class instance. - - output: - lti_i : list of tuple of 2 integer numbers - i-axis, j-aixs, and k-axis voxel range. - - decritpion: - function returns in a list of tuples the lowest and highest - i-axis, j-axis, and k-axis voxel value. - """ - return self.data['mesh']['ijk_range'] - - - def get_mesh_mnp_range(self): - """ - input: - self: pyMCDS class instance. - - output: - ltr_mnp : list of tuple of 2 floating point numbers - m-axis, n-axis, and p-axis mesh center range. - - decritpion: - function returns in a list of tuples the lowest and highest - m-axis, n-axis, and p-axis mesh center value. - """ - return self.data['mesh']['mnp_range'] - - - def get_xyz_range(self): - """ - input: - self: pyMCDS class instance. - - output: - ltr_xyz : list of tuple of 2 floating point numbers - x-axis, y-axis, and z-axis position range. - - decritpion: - function returns in a list of tuples the lowest and highest - x-axis, y-axis, and z-axis position value. - """ - return self.data['mesh']['xyz_range'] - - - def get_voxel_ijk_axis(self): - """ - input: - self: pyMCDS class instance. - - output: - lai_ijk : list of 3 numpy arrays of integer numbers - i-axis, j-axis, and k-axis voxel coordinates axis. - - description: - function returns a list of voxel coordinate vectors, - one for the i-axis, j-axis, and k-axis. - """ - return self.data['mesh']['ijk_axis'] - - - def get_mesh_mnp_axis(self): - """ - input: - self: pyMCDS class instance. - - output: - lar_mnp : list of 3 numpy arrays of floating point numbers - m-axis, n-axis, and p-axis mesh center axis coordinates. - - description: - function returns a list of mesh center vectors, - one for the m-axis, n-axis, and p-axis. - """ - return self.data['mesh']['mnp_axis'] - - - def get_mesh(self, flat=False): - """ - input: - self: pyMCDS class instance. - - flat : bool; default False - if flat is True, only the m-axis mesh center - and n-axis mesh center meshgrids will be returned. - else the m, n, and p mesh center meshgrids will be returned. - - output: - aar_meshgrid : 4-way (3D) or 3-way (2D) numpy arrays tensor of floating point numbers - meshgrid shaped object, with the mesh center - coordinate values from the m, n, p-axis or m, n-axis. - - description: - function returns a numpy array of meshgrids each stores the - mesh center coordinate values from one particular axis. - the function can either return meshgrids for the full - m, n, p 3D cube, or only the 2D planes along the p-axis. - """ - if flat: - ar_m = self.data['mesh']['mnp_grid'][0][:, :, 0] - ar_n = self.data['mesh']['mnp_grid'][1][:, :, 0] - return np.array([ar_m, ar_n]) - - else: - return self.data['mesh']['mnp_grid'] - - - def get_mesh_2D(self): - """ - input: - self: pyMCDS class instance. - - output: - aar_meshgrid : 3-way numpy arrays tensor of floating point numbers - meshgrid shaped objects, with the mesh center - coordinate values from the m and n-axis. - - description: - function is identical to the self.get_mesh(self, flat=True) - function call. - """ - return self.get_mesh(flat=True) - - - def get_mesh_coordinate(self): - """ - input: - self: pyMCDS class instance. - - output: - aar_meshaxis : numpy array of 3 one dimensional numpy floating point number arrays - n, m, and p-axis mesh center coordinate vectors. - - description: - function returns three vectors with mesh center coordinate values, - one for each axis. - """ - return self.data['mesh']['mnp_coordinate'] - - - def get_voxel_volume(self): - """ - input: - self: pyMCDS class instance. - - output: - r_volume: floating point number - voxel volume value related to the spacial unit - defined in the PhysiCell_settings.xml file. - - description: - function returns the volume value for a single voxel, related - to the spacial unit defined in the PhysiCell_settings.xml file. - """ - ar_volume = np.unique(self.data['mesh']['volumes']) - if ar_volume.shape != (1,): - sys.exit(f'Error @ pyMCDS.get_voxel_volume : mesh is not built out of a unique voxel volume {ar_volume}.') - r_volume = ar_volume[0] - return(r_volume) - - - def get_mesh_spacing(self): - """ - input: - self: pyMCDS class instance. - - output: - lr_mnp_spacing: list of 3 floating point numbers - mesh spacing in m, n, and p direction. - - description: - function returns the distance in between mesh centers, - in the spacial unit defined in the PhysiCell_settings.xml file. - """ - tr_m_range, tr_n_range, tr_p_range = self.get_mesh_mnp_range() - ar_m_axis, ar_n_axis, ar_p_axis = self.get_mesh_mnp_axis() - - dm = (tr_m_range[1] - tr_m_range[0]) / (ar_m_axis.shape[0] - 1) - dn = (tr_n_range[1] - tr_n_range[0]) / (ar_n_axis.shape[0] - 1) - if (len(set(tr_p_range)) == 1): - dp = 1 - else: - dp = (tr_p_range[1] - tr_p_range[0]) / (ar_p_axis.shape[0] - 1) - return [dm, dn, dp] - - - def get_voxel_spacing(self): - """ - input: - self: pyMCDS class instance. - - output: - lr_ijk_spacing: list of 3 floating point numbers - voxel spacing in i, j, and k direction. - - description: - function returns the voxel width, height, depth measurement, - in the spacial unit defined in the PhysiCell_settings.xml file. - """ - r_volume = self.get_voxel_volume() - dm, dn, _ = self.get_mesh_spacing() - dp = r_volume / (dm * dn) - return [dm, dn, dp] - - - def is_in_mesh(self, x, y, z, halt=False): - """ - input: - self: pyMCDS class instance. - - x: floating point number - position x-coordinate. - - y: floating point number - position y-coordinate. - - z: floating point number - position z-coordinate. - - halt: boolean; default is False - should program execution break or just spit out a warning, - if position is not in mesh? - - output: - b_isinmesh: boolean - states if the given coordinate is inside the mesh. - - description: - function evaluates, if the given position coordinate - is inside the boundaries. if the coordinate is outside the - mesh, a warning will be printed. if additionally - halt is set to True, program execution will break. - """ - b_isinmesh = True - - # check against boundary box - tr_x, tr_y, tr_z = self.get_xyz_range() - - if (x < tr_x[0]) or (x > tr_x[1]): - print(f'Warning @ pyMCDS.is_in_mesh : x = {x} out of bounds: x-range is {tr_x}.') - b_isinmesh = False - elif (y < tr_y[0]) or (y > tr_y[1]): - print(f'Warning @ pyMCDS.is_in_mesh : y = {y} out of bounds: y-range is {tr_y}.') - b_isinmesh = False - elif (z < tr_z[0]) or (z > tr_z[1]): - print(f'Warning @ pyMCDS.is_in_mesh : z = {z} out of bounds: z-range is {tr_z}.') - b_isinmesh = False - - # output - if halt and not b_isinmesh: - sys.exit('Processing stopped!') - return(b_isinmesh) - - - def get_voxel_ijk(self, x, y, z, is_in_mesh=True): - """ - input: - self: pyMCDS class instance. - - x: floating point number - position x-coordinate. - - y: floating point number - position y-coordinate. - - z: floating point number - position z-coordinate. - - is_in_mesh: boolean; default is True - should function check, if the given coordinate is in the mesh, - and only calculate ijk values if is so? - - output: - li_ijk : list of 3 integers - i, j, k indices for the voxel - containing the x, y, z position. - - description: - function returns the meshgrid indices i, j, k - for the given position x, y, z. - """ - lr_ijk = None - b_calc = True - - if is_in_mesh: - b_calc = self.is_in_mesh(x=x, y=y, z=z, halt=False) - - if b_calc: - tr_m, tr_n, tr_p = self.get_mesh_mnp_range() - dm, dn, dp = self.get_voxel_spacing() - - i = int(np.round((x - tr_m[0]) / dm)) - j = int(np.round((y - tr_n[0]) / dn)) - k = int(np.round((z - tr_p[0]) / dp)) - - lr_ijk = [i, j, k] - - return lr_ijk - - - ## MICROENVIRONMENT RELATED FUNCTIONS ## - - def get_substrate_names(self): - """ - input: - self: pyMCDS class instance. - - output: - ls_substrate: list of stings - alphabetically ordered list of all tracked substrates. - - description: - function returns all chemical species names, - modeled in the microenvironment. - """ - ls_substrate = sorted(self.data['continuum_variables'].keys()) - return ls_substrate - - def get_substrate_dict(self): - """ - input: - self: pyMCDS class instance. - - output: - ds_substrate: dictionary of stings - dictionary that maps substrate IDs to labels. - - description: - function returns a dictionary that maps ID and name from all - microenvironment_setup variables, - specified in the PhysiCell_settings.xml file. - """ - return self.data['metadata']['substrate'] - - def get_substrate_df(self): - """ - input: - self: pyMCDS class instance. - - output: - df_substare: pandas dataframe - one substrate per row and decay_rate and difusion_coefficient - factors as columns. - - description: - function returns a dataframe with each substrate's - decay_rate and difusion_coefficient. - """ - # extract data - ls_column = ['substrate','decay_rate','diffusion_coefficient'] - ll_sub = [] - for s_substrate in self.get_substrate_names(): - s_decay_value = self.data['continuum_variables'][s_substrate]['decay_rate']['value'] - s_diffusion_value = self.data['continuum_variables'][s_substrate]['diffusion_coefficient']['value'] - ll_sub.append([s_substrate, s_decay_value, s_diffusion_value]) - - # generate dataframe - df_substrate = pd.DataFrame(ll_sub, columns=ls_column) - df_substrate.set_index('substrate', inplace=True) - df_substrate.columns.name = 'parameter' - - # output - return(df_substrate) - - - def get_concentration(self, substrate, z_slice=None, halt=False): - """ - input: - self: pyMCDS class instance. - - substrate: string - substrate name. - - z_slice: floating point number; default is None - z-axis position to slice a 2D xy-plain out of the - 3D substrate concentration mesh. if None the - whole 3D mesh will be returned. - - halt: boolean; default is False - should program execution break or just spit out a warning, - if z_slize position is not an exact mesh center coordinate? - if False, z_slice will be adjusted to the nearest - mesh center value, the smaller one, if the coordinate - lies on a saddle point. - - output: - ar_conc: numpy array of floating point numbers - substrate concentration meshgrid or xy-plain slice - through the meshgrid. - - description: - function returns the concentration meshgrid, or a xy-plain slice - out of the whole meshgrid, for the specified chemical species. - """ - ar_conc = self.data['continuum_variables'][substrate]['data'] - - # check if z_slice is a mesh center or None - if not (z_slice is None): - _, _, ar_p_axis = self.get_mesh_mnp_axis() - if not (z_slice in ar_p_axis): - print(f'Warning @ pyMCDS.get_concentration : specified z_slice {z_slice} is not an element of the z-axis mesh centers set {ar_p_axis}.') - if halt: - sys.exit('Processing stopped!') - else: - z_slice = ar_p_axis[(ar_p_axis - z_slice).argmin()] - print(f'z_slice set to {z_slice}.') - - # filter by z_slice - _, _, ar_p_grid = self.get_mesh() - mask = ar_p_grid == z_slice - ar_conc = ar_conc[mask].reshape((ar_p_grid.shape[0], ar_p_grid.shape[1])) - - # output - return ar_conc - - - def get_concentration_at(self, x, y, z=0): - """ - input: - self: pyMCDS class instance. - - x: floating point number - position x-coordinate. - - y: floating point number - position y-coordinate. - - z: floating point number; default is 0 - position z-coordinate. - - output: - ar_concs: numpy array of floating point numbers - array of substrate concentrations in the order - given by get_substrate_names(). - - description: - function return concentrations of each chemical species - inside a particular voxel that contains the point specified - in the arguments. - """ - ar_concs = None - - # is coordinate inside the domain? - b_calc = self.is_in_mesh(x=x, y=y, z=z, halt=False) - if b_calc: - - # get voxel coordinate and substrate names - i, j, k = self.get_voxel_ijk(x, y, z, is_in_mesh=False) - ls_substrate = self.get_substrate_names() - ar_concs = np.zeros(len(ls_substrate)) - - # get substrate concentrations - for n, s_substrate in enumerate(ls_substrate): - ar_concs[n] = self.get_concentration(s_substrate)[j, i, k] - if self.verbose: - print(f'pyMCD.get_concentration_at(x={x},y={y},z={z}) > jkl: [{i},{j},{k}] > substrate: {s_substrate} {ar_concs[n]}') - - # output - return ar_concs - - - def get_concentration_df(self, z_slice=None, halt=False, minstate=1): - """ - input: - self: pyMCDS class instance. - - z_slice: floating point number; default is None - z-axis position to slice a 2D xy-plain out of the - 3D substrate concentration mesh. if None the - whole 3D mesh will be returned. - - halt: boolean; default is False - should program execution break or just spit out a warning, - if z_slize position is not an exact mesh center coordinate? - if False, z_slice will be adjusted to the nearest - mesh center value, the smaller one, if the coordinate - lies on a saddle point. - - minstate: integer; default is 1 - minimal number of states a variable has to have to be outputted. - variables that have only 1 state carry no information. - None is a state too. - - output: - df_conc : pandas dataframe - dataframe with all substrate concentrations in each voxel. - - description: - function returns a dataframe with concentration values - for all chemical species in all voxels. additionally, this - dataframe lists voxel and mesh center coordinates. - """ - # check if z_slice is a mesh center or None - if not (z_slice is None): - _, _, ar_p_axis = self.get_mesh_mnp_axis() - if not (z_slice in ar_p_axis): - print(f'Warning @ pyMCDS.get_concentration_df : specified z_slice {z_slice} is not an element of the z-axis mesh centers set {ar_p_axis}.') - if halt: - sys.exit('Processing stopped!') - else: - z_slice = ar_p_axis[(ar_p_axis - z_slice).argmin()] - print(f'z_slice set to {z_slice}.') - - # flatten mesh coordnates - ar_m, ar_n, ar_p = self.get_mesh() - ar_m = ar_m.flatten(order='C') - ar_n = ar_n.flatten(order='C') - ar_p = ar_p.flatten(order='C') - - # get mesh spacing - dm, dn, dp = self.get_voxel_spacing() - - # get voxel coordinates - ai_i = ((ar_m - ar_m.min()) / dm) - ai_j = ((ar_n - ar_n.min()) / dn) - ai_k = ((ar_p - ar_p.min()) / dp) - - # handle coordinates - ls_coor = [ - 'voxel_i','voxel_j','voxel_k', - 'mesh_center_m','mesh_center_n','mesh_center_p' - ] - ls_column = ls_coor.copy() - la_data = [ai_i, ai_j, ai_k, ar_m, ar_n, ar_p] - - # handle concentrations - for s_substrate in self.get_substrate_names(): - ls_column.append(s_substrate) - ar_conc = self.get_concentration(substrate=s_substrate, z_slice=None) - la_data.append(ar_conc.flatten(order='C')) - - # generate dataframe - aa_data = np.array(la_data) - df_conc = pd.DataFrame(aa_data.T, columns=ls_column) - d_dtype = {'voxel_i': int, 'voxel_j': int, 'voxel_k': int} - df_conc = df_conc.astype(d_dtype) - - # filter z_slize - if not (z_slice is None): - df_conc = df_conc.loc[df_conc.mesh_center_p == z_slice, :] - - # filter min state - if (minstate > 1): - es_delete = set() - for s_column in set(df_conc.columns).difference(set(ls_coor)): - if len(set(df_conc.loc[:,s_column])) < minstate: - es_delete.add(s_column) - df_conc.drop(es_delete, axis=1, inplace=True) - - # output - df_conc.sort_values(['voxel_i', 'voxel_j', 'voxel_k'], inplace=True) - return df_conc - - - def get_contour(self, substrate, z_slice=0, vmin=None, vmax=None, alpha=1, fill=True, cmap='viridis', title=None, grid=True, xlim=None, ylim=None, xyequal=True, figsize=None, ax=None): - """ - input: - self: pyMCDS class instance. - - substrate: string - substrate name. - - z_slice: floating point number; default is 0 - z-axis position to slice a 2D xy-plain out of the - 3D substrate concentration mesh. if z_slize position - is not an exact mesh center coordinate, then z_slice - will be adjusted to the nearest mesh center value, - the smaller one, if the coordinate lies on a saddle point. - - vmin: floating point number; default is None - color scale min value. - None will take the min value found in the data. - - vmax: floating point number; default is None - color scale max value. - None will take the max value found in the data. - - alpha: floating point number; default is 1 - alpha channel transparency value - between 1 (not transparent at all) and 0 (totally transparent). - - fill: boolean; default is True - True generates a matplotlib contourf plot. - False generates a matplotlib contour plot. - - cmap: string; default is viridis - matplotlib color map color label. - https://matplotlib.org/stable/tutorials/colors/colormaps.html - - title: string; default None - possible plot title string. - - grid: boolean; default True - should be plotted on a grid or on a blank page? - True will plot on a grid. - - xlim: tuple of two floating point numbers; default is None - to specify min and max x axis value. - None will extract agreeable values from the data. - - ylim: tuple of two floating point numbers; default is None - to specify min and max y axis value. - None will extract agreeable values from the data. - - xyequal: boolean; default True - to specify equal axis spacing for x and y axis. - - figsize: tuple of floating point numbers; default is None - the specif the figure x and y measurement in inch. - None result in the default matplotlib setting, which is [6.4, 4.8]. - - ax: matplotlib axis object; default setting is None - the ax object, which will be used as a canvas for plotting. - None will generate a figure and ax object from scratch. - - output: - fig: matplotlib figure, containing the ax axis object, - with contour plot and color bar. - - description: - function returns a matplotlib contour (or contourf) plot, - inclusive color bar, for the substrate specified. - """ - # handle z_slice input - _, _, ar_p_axis = self.get_mesh_mnp_axis() - if not (z_slice in ar_p_axis): - z_slice = ar_p_axis[(ar_p_axis - z_slice).argmin()] - print(f'z_slice set to {z_slice}.') - - # get data z slice - df_conc = self.get_concentration_df(minstate=1) - df_conc = df_conc.loc[(df_conc.mesh_center_p == z_slice),:] - # extend to x y domain border - df_mmin = df_conc.loc[(df_conc.mesh_center_m == df_conc.mesh_center_m.min()), :].copy() - df_mmin.mesh_center_m = self.get_xyz_range()[0][0] - df_mmax = df_conc.loc[(df_conc.mesh_center_m == df_conc.mesh_center_m.max()), :].copy() - df_mmax.mesh_center_m = self.get_xyz_range()[0][1] - df_conc = pd.concat([df_conc, df_mmin, df_mmax], axis=0) - df_nmin = df_conc.loc[(df_conc.mesh_center_n == df_conc.mesh_center_n.min()), :].copy() - df_nmin.mesh_center_n =self.get_xyz_range()[1][0] - df_nmax = df_conc.loc[(df_conc.mesh_center_n == df_conc.mesh_center_n.max()), :].copy() - df_nmax.mesh_center_n = self.get_xyz_range()[1][1] - df_conc = pd.concat([df_conc, df_nmin, df_nmax], axis=0) - # sort dataframe - df_conc.sort_values(['mesh_center_m', 'mesh_center_n', 'mesh_center_p'], inplace=True) - - # meshgrid shape - ti_shape = (self.get_voxel_ijk_axis()[0].shape[0]+2, self.get_voxel_ijk_axis()[1].shape[0]+2) - x = (df_conc.loc[:,'mesh_center_m'].values).reshape(ti_shape) - y = (df_conc.loc[:,'mesh_center_n'].values).reshape(ti_shape) - z = (df_conc.loc[:,substrate].values).reshape(ti_shape) - - # handle vmin and vmax input - if (vmin is None): - vmin = np.floor(df_conc.loc[:,substrate].min()) - if (vmax is None): - vmax = np.ceil(df_conc.loc[:,substrate].max()) - - # get figure and axis orbject - if (ax is None): - # handle figsize - if (figsize is None): - figsize = (6.4, 4.8) - fig, ax = plt.subplots(figsize=figsize) - else: - fig = plt.gcf() - - # get contour plot - if fill: - ax.contourf(x,y,z, vmin=vmin, vmax=vmax, alpha=alpha, cmap=cmap) - else: - ax.contour(x,y,z, vmin=vmin, vmax=vmax, alpha=alpha, cmap=cmap) - - # set title - if not (title is None): - ax.set_title(title) - - # set grid - ax.grid(visible=grid) - - # set axis lim - if not (xlim is None): - ax.set_xlim(xlim[0], xlim[1]) - if not (ylim is None): - ax.set_ylim(ylim[0], ylim[1]) - - # set equal axis spacing - if xyequal: - ax.axis('equal') - - # get colorbar - fig.colorbar( - mappable=cm.ScalarMappable(norm=colors.Normalize(vmin=vmin, vmax=vmax), cmap=cmap), - label=substrate, - ax=ax - ) - - # output - return(fig) - - - ## CELL RELATED FUNCTIONS ## - - def get_cell_variables(self): - """ - input: - self: pyMCDS class instance. - - output: - ls_variables: list of strings - alphabetically ordered list of all tracked cell variable names. - - - description: - function returns all modeled cell variable names. - """ - ls_variables = sorted(self.data['discrete_cells']['data'].keys()) - return ls_variables - - def get_celltype_dict(self): - """ - input: - self: pyMCDS class instance. - - output: - ds_celltype: dictionary of stings - dictionary that maps cell_type IDs to labels. - - description: - function returns a dictionary that maps ID and name from all - cell_definitions, specified in the PhysiCell_settings.xml file. - """ - return self.data['metadata']['cell_type'] - - def get_cell_df(self, minstate=1): - """ - input: - self: pyMCDS class instance. - - minstate: integer; default is 1 - minimal number of states a variable has to have to be outputted. - variables that have only 1 state carry no information. - None is a state too. - - output: - df_cell: pandas dataframe - dataframe lists, one cell per row, all tracked variables - values related to this cell. the variables are cell_position, - mesh_center, and voxel coordinates, all cell_variables, - all substrate rates and concentrations, and additional - the surrounding cell density. - - description: - function returns a dataframe with a cell centric view - of the simulation. - """ - # const - ls_coor = [ - 'voxel_i', 'voxel_j', 'voxel_k', - 'mesh_center_m', 'mesh_center_n', 'mesh_center_p', - 'position_x', 'position_y', 'position_z', - ] - - # get cell position and more - df_cell = pd.DataFrame(self.data['discrete_cells']['data']) - df_voxel = df_cell.loc[:,['position_x','position_y','position_z']].copy() - - # get mesh spacing - dm, dn, dp = self.get_voxel_spacing() - - # get mesh and voxel min max values - tr_m_range, tr_n_range, tr_p_range = self.get_mesh_mnp_range() - tr_i_range, tr_j_range, tr_k_range = self.get_voxel_ijk_range() - - # get voxel for each cell - df_voxel.loc[:,'voxel_i'] = np.round((df_voxel.loc[:,'position_x'] - tr_m_range[0]) / dm).astype(int) - df_voxel.loc[:,'voxel_j'] = np.round((df_voxel.loc[:,'position_y'] - tr_n_range[0]) / dn).astype(int) - df_voxel.loc[:,'voxel_k'] = np.round((df_voxel.loc[:,'position_z'] - tr_p_range[0]) / dp).astype(int) - df_voxel.loc[(df_voxel.voxel_i > tr_i_range[1]), 'voxel_i'] = tr_i_range[1] # i_max - df_voxel.loc[(df_voxel.voxel_i < tr_i_range[0]), 'voxel_i'] = tr_i_range[0] # i_min - df_voxel.loc[(df_voxel.voxel_j > tr_j_range[1]), 'voxel_j'] = tr_j_range[1] # j_max - df_voxel.loc[(df_voxel.voxel_j < tr_j_range[0]), 'voxel_j'] = tr_j_range[0] # j_min - df_voxel.loc[(df_voxel.voxel_k > tr_k_range[1]), 'voxel_k'] = tr_k_range[1] # k_max - df_voxel.loc[(df_voxel.voxel_k < tr_k_range[0]), 'voxel_k'] = tr_k_range[0] # k_min - - # merge voxel (inner join) - df_cell = pd.merge(df_cell, df_voxel, on=['position_x', 'position_y', 'position_z']) - - # merge cell_density (left join) - df_cellcount = df_cell.loc[:,['voxel_i','voxel_j','voxel_k','ID']].groupby(['voxel_i','voxel_j','voxel_k']).count().reset_index() - ls_column = list(df_cellcount.columns) - ls_column[-1] = 'cell_count_voxel' - df_cellcount.columns = ls_column - s_density = f"cell_density_{self.data['metadata']['spatial_units']}3" - df_cellcount[s_density] = df_cellcount.loc[:,'cell_count_voxel'] / self.get_voxel_volume() - df_cell = pd.merge( - df_cell, - df_cellcount, - on = ['voxel_i', 'voxel_j', 'voxel_k'], - how = 'left', - ) - - # get column label set - es_column = set(df_cell.columns) - - # get vector length - for s_var_spatial in es_var_spatial: - es_vector = es_column.intersection({f'{s_var_spatial}_x',f'{s_var_spatial}_y',f'{s_var_spatial}_z'}) - if len(es_vector) > 0: - # linear algebra - #a_vector = df_cell.loc[:,ls_vector].values - #a_length = np.sqrt(np.diag(np.dot(a_vector, a_vector.T))) - # pythoagoras - a_length = None - for s_vector in es_vector: - a_vectorsq = df_cell.loc[:,s_vector].values**2 - if (a_length is None): - a_length = a_vectorsq - else: - a_length += a_vectorsq - a_length = a_length**(1/2) - # result - df_cell[f'{s_var_spatial}_vectorlength'] = a_length - - # microenvironment - if self.microenv: - # merge substrate (left join) - df_sub = self.get_substrate_df() - for s_sub in df_sub.index: - for s_rate in df_sub.columns: - s_var = f'{s_sub}_{s_rate}' - df_cell[s_var] = df_sub.loc[s_sub,s_rate] - - # merge concentration (left join) - df_conc = self.get_concentration_df(z_slice=None, minstate=1) - df_cell = pd.merge( - df_cell, - df_conc, - on = ['voxel_i', 'voxel_j', 'voxel_k'], - how = 'left', - ) - - # variable typing - do_type = {} - [do_type.update({k:v}) for k,v in do_var_type.items() if k in es_column] - do_type.update(self.custom_type) - do_int = do_type.copy() - [do_int.update({k:int}) for k in do_int.keys()] - ls_int = sorted(do_int.keys()) - df_cell.loc[:,ls_int] = df_cell.loc[:,ls_int].round() - df_cell = df_cell.astype(do_int) - df_cell = df_cell.astype(do_type) - - # categorical translation - #df_cell.loc[:,'current_death_model'].replace(ds_death_model, inplace=True) # bue 20230614: this column looks like an artefact to me - df_cell.loc[:,'cycle_model'].replace(ds_cycle_model, inplace=True) - df_cell.loc[:,'cycle_model'].replace(ds_death_model, inplace=True) - df_cell.loc[:,'current_phase'].replace(ds_cycle_phase, inplace=True) - df_cell.loc[:,'current_phase'].replace(ds_death_phase, inplace=True) - df_cell.loc[:,'cell_type'].replace(self.data['metadata']['cell_type'], inplace=True) - - # filter min state - if (minstate > 1): - es_delete = set() - for s_column in set(df_cell.columns).difference(set(ls_coor)): - if len(set(df_cell.loc[:,s_column])) < minstate: - es_delete.add(s_column) - df_cell.drop(es_delete, axis=1, inplace=True) - - # output - df_cell = df_cell.loc[:,sorted(df_cell.columns)] - df_cell.set_index('ID', inplace=True) - df_cell = df_cell.copy() - return df_cell - - - def get_cell_df_at(self, x, y, z=0, minstate=1): - """ - input: - self: pyMCDS class instance. - - x: floating point number - position x-coordinate. - - y: floating point number - position y-coordinate. - - z: floating point number; default is 0 - position z-coordinate. - - minstate: integer; default is 1 - minimal number of states a variable has to have to be outputted. - variables that have only 1 state carry no information. - None is a state too. - - output: - df_voxel: pandas dataframe - x, y, z voxel filtered cell dataframe. - - description: - function returns the cell dataframe for the voxel - specified with the x, y, z position coordinate. - """ - df_voxel = None - - # is coordinate inside the domain? - b_calc = self.is_in_mesh(x=x, y=y, z=z, halt=False) - if b_calc: - - # get mesh and mesh spacing - dm, dn, dp = self.get_voxel_spacing() - ar_m, ar_n, ar_p = self.get_mesh() - - # get voxel coordinate - i, j, k = self.get_voxel_ijk(x, y, z, is_in_mesh=False) - m = ar_m[j, i, k] - n = ar_n[j, i, k] - p = ar_p[j, i, k] - - # get voxel - df_cell = self.get_cell_df(minstate=minstate) - inside_voxel = ( - (df_cell['position_x'] <= m + dm / 2) & - (df_cell['position_x'] >= m - dm / 2) & - (df_cell['position_y'] <= n + dn / 2) & - (df_cell['position_y'] >= n - dn / 2) & - (df_cell['position_z'] <= p + dp / 2) & - (df_cell['position_z'] >= p - dp / 2) - ) - df_voxel = df_cell[inside_voxel] - - # output - return df_voxel - - - ## GRAPH RELATED FUNCTIONS ## - - def get_attached_graph_dict(self): - """ - input: - self: pyMCDS class instance. - - output: - dei_graph: dictionary of sets of integers - maps each cell ID to the attached connected cell IDs. - - description: - function returns the attached cell graph as a dictionary object. - """ - return self.data['discrete_cells']['graph']['attached_cells'] - - - def get_neighbor_graph_dict(self): - """ - input: - self: pyMCDS class instance. - - output: - dei_graph: dictionary of sets of integers - maps each cell ID to the connected neighbor cell IDs. - - description: - function returns the cell neighbor graph as a dictionary object. - """ - return self.data['discrete_cells']['graph']['neighbor_cells'] - - - ## UNIT OVERVIEW RELATED FUNCTION ## - - def get_unit_df(self): - """ - input: - self: pyMCDS class instance. - - output: - df_unit: pandas dataframe - dataframe lists all tracked variables from metadata, - cell, and microenvironment and maps them to their unit. - - description: - function returns a dataframe that lists all tracked variables - and their units. - """ - # extract data - ds_unit = {} - # units for metadata parameters - ds_unit.update({'time': [self.data['metadata']['time_units']]}) - ds_unit.update({'runtime': [self.data['metadata']['runtime_units']]}) - ds_unit.update({'spatial_unit': [self.data['metadata']['spatial_units']]}) - - # microenvironment - if self.microenv: - for s_substrate in self.get_substrate_names(): - # unit from substrate parameters - s_unit = self.data['continuum_variables'][s_substrate]['units'] - ds_unit.update({s_substrate: [s_unit]}) - - # units from microenvironment parameters - s_diffusion_key = f'{s_substrate}_diffusion_coefficient' - s_diffusion_unit = self.data['continuum_variables'][s_substrate]['diffusion_coefficient']['units'] - ds_unit.update({s_diffusion_key: [s_diffusion_unit]}) - - s_decay_key = f'{s_substrate}_decay_rate' - s_decay_unit = self.data['continuum_variables'][s_substrate]['decay_rate']['units'] - ds_unit.update({s_decay_key: [s_decay_unit]}) - - # units from cell parameters - ds_unit.update(self.data['discrete_cells']['units']) - - # output - del ds_unit['ID'] - df_unit= pd.DataFrame(ds_unit, index=['unit']).T - df_unit.index.name = 'parameter' - df_unit.sort_index(inplace=True) - return(df_unit) - - - ## LOAD DATA ## - - def _read_xml(self, xmlfile, output_path='.'): - """ - input: - self: pyMCDS class instance. - - xmlfile: string - name of the xml file with or without path - in the with path case, output_path has to be set to the default! - - output_path: string; default '.' - relative or absolute path to the directory where - the PhysiCell output files are stored. - - output: - self: pyMCDS class instance with loaded data. - - description: - internal function to load the data from the PhysiCell output files - into the pyMCDS instance. - """ - ##################### - # path and filename # - ##################### - - # file and path manipulation - xmlfile = xmlfile.replace('\\','/') - if (xmlfile.find('/') > -1) and (output_path == '.'): - ls_xmlfile = xmlfile.split('/') - xmlfile = ls_xmlfile.pop(-1) - output_path = '/'.join(ls_xmlfile) - output_path = pathlib.Path(output_path) - xmlpathfile = output_path / xmlfile - xmlpcsetting = output_path / 'PhysiCell_settings.xml' - - - ############################### - # read PhysiCell_settings.xml # - ############################### - ds_substrate = {} - ds_celltype = {} - es_customdata = set() - - if self.settingxml: - tree = ET.parse(xmlpcsetting) - if self.verbose: - print(f'reading: {xmlpcsetting}') - root = tree.getroot() - - ### find the microenvironment node ### - microenvironment_node = root.find('microenvironment_setup') - var_children = microenvironment_node.findall('variable') - # substrate loop - for substrate in var_children: - i_id = int(substrate.get('ID')) - s_substrate = substrate.get('name').replace(' ', '_') - ds_substrate.update({i_id : s_substrate}) - # continuum_variable id label sorting - ls_substrate = [s_substrate for _, s_substrate in sorted(ds_substrate.items())] - - ### find the celldefinition node ### - cells_node = root.find('cell_definitions') - var_children = cells_node.findall('cell_definition') - # cell loop - for celltype in var_children: - i_id = int(celltype.get('ID')) - s_celltype = celltype.get('name').replace(' ', '_') - ds_celltype.update({str(i_id) : s_celltype}) - # search for custom data - celltype.find('custom_data') - for celltype in var_children: - customdata = celltype.find('custom_data') - for element in customdata.iter(): - if element.tag != 'custom_data': - es_customdata.add(element.tag) - - # if custom data was found - if (len(es_customdata) > 0): - print(f'Warning @ pyMCDS._read_xml : custom_data without variable type setting detected. {sorted(es_customdata)}') - - # discrete_cells id label sorting - ls_celltype = [s_celltype for _, s_celltype in sorted(ds_celltype.items())] - - - ####################################### - # read physicell output xml path/file # - ####################################### - tree = ET.parse(xmlpathfile) - if self.verbose: - print(f'reading: {xmlpathfile}') - root = tree.getroot() - MCDS = {} - - - ################### - # handle metadata # - ################### - - if self.verbose: - print('working on metadata ...') - - ### find the metadata node ### - metadata_node = root.find('metadata') - MCDS['metadata'] = {} - - # store id label mapping extracted from PhysiCell_settings.xml - MCDS['metadata']['cell_type'] = ds_celltype - MCDS['metadata']['substrate'] = ds_substrate - - # get multicellds xml version - MCDS['metadata']['multicellds_version'] = f"MultiCellDS_{root.get('version')}" - - # get physicell software version - software_node = metadata_node.find('software') - physicelln_node = software_node.find('name') - physicellv_node = software_node.find('version') - MCDS['metadata']['physicell_version'] = f'{physicelln_node.text}_{physicellv_node.text}' - - # get timestamp - time_node = metadata_node.find('created') - MCDS['metadata']['created'] = time_node.text - - # get current simulated time - time_node = metadata_node.find('current_time') - MCDS['metadata']['current_time'] = float(time_node.text) - MCDS['metadata']['time_units'] = time_node.get('units') - - # get current runtime - time_node = metadata_node.find('current_runtime') - MCDS['metadata']['current_runtime'] = float(time_node.text) - MCDS['metadata']['runtime_units'] = time_node.get('units') - - # find the microenvironment node - me_node = root.find('microenvironment') - me_node = me_node.find('domain') - - - #################### - # handle mesh data # - #################### - - if self.verbose: - print('working on mesh data ...') - - ### find the mesh node ### - mesh_node = me_node.find('mesh') - MCDS['metadata']['spatial_units'] = mesh_node.get('units') - MCDS['mesh'] = {} - - # while we're at it, find the mesh - s_x_coor = mesh_node.find('x_coordinates').text - s_delim = mesh_node.find('x_coordinates').get('delimiter') - ar_x_coor = np.array(s_x_coor.split(s_delim), dtype=np.float64) - - s_y_coor = mesh_node.find('y_coordinates').text - s_delim = mesh_node.find('y_coordinates').get('delimiter') - ar_y_coor = np.array(s_y_coor.split(s_delim), dtype=np.float64) - - s_z_coor = mesh_node.find('z_coordinates').text - s_delim = mesh_node.find('z_coordinates').get('delimiter') - ar_z_coor = np.array(s_z_coor.split(s_delim), dtype=np.float64) - - # reshape into a meshgrid - MCDS['mesh']['mnp_grid'] = np.array(np.meshgrid(ar_x_coor, ar_y_coor, ar_z_coor, indexing='xy')) - - # get mesh center axis - MCDS['mesh']['mnp_axis'] = [ - np.unique(ar_x_coor), - np.unique(ar_y_coor), - np.unique(ar_z_coor), - ] - - # get mesh center range - MCDS['mesh']['mnp_range'] = [ - (MCDS['mesh']['mnp_axis'][0].min(), MCDS['mesh']['mnp_axis'][0].max()), - (MCDS['mesh']['mnp_axis'][1].min(), MCDS['mesh']['mnp_axis'][1].max()), - (MCDS['mesh']['mnp_axis'][2].min(), MCDS['mesh']['mnp_axis'][2].max()), - ] - - # get voxel range - MCDS['mesh']['ijk_range'] = [ - (0, len(MCDS['mesh']['mnp_axis'][0]) - 1), - (0, len(MCDS['mesh']['mnp_axis'][1]) - 1), - (0, len(MCDS['mesh']['mnp_axis'][2]) - 1), - ] - - # get voxel axis - MCDS['mesh']['ijk_axis'] = [ - np.array(range(MCDS['mesh']['ijk_range'][0][1] + 1)), - np.array(range(MCDS['mesh']['ijk_range'][1][1] + 1)), - np.array(range(MCDS['mesh']['ijk_range'][2][1] + 1)), - ] - - # get mesh bounding box range [xmin, ymin, zmin, xmax, ymax, zmax] - bboxcoor_str = mesh_node.find('bounding_box').text - delimiter = mesh_node.find('bounding_box').get('delimiter') - ar_bboxcoor = np.array(bboxcoor_str.split(delimiter), dtype=np.float64) - - MCDS['mesh']['xyz_range'] = [ - (ar_bboxcoor[0], ar_bboxcoor[3]), - (ar_bboxcoor[1], ar_bboxcoor[4]), - (ar_bboxcoor[2], ar_bboxcoor[5]), - ] - - # voxel data must be loaded from .mat file - voxelfile = mesh_node.find('voxels').find('filename').text - voxelpathfile = output_path / voxelfile - initial_mesh = io.loadmat(voxelpathfile)['mesh'] - if self.verbose: - print(f'reading: {voxelpathfile}') - - # center of voxel specified by first three rows [ x, y, z ] - # volume specified by fourth row - MCDS['mesh']['mnp_coordinate'] = initial_mesh[:3, :] - MCDS['mesh']['volumes'] = initial_mesh[3, :] - - - ################################ - # handle microenvironment data # - ################################ - - if self.microenv: - if self.verbose: - print('working on microenvironment data ...') - - # micro environment data is shape [4+n, len(voxels)] where n is the number - # of species being tracked. the first 3 rows represent (x, y, z) of voxel - # centers. The fourth row contains the voxel volume. The 5th row and up will - # contain values for that species in that voxel. - file_node = me_node.find('data').find('filename') - mefile = file_node.text - mepathfile = output_path / mefile - ar_microenv = io.loadmat(mepathfile)['multiscale_microenvironment'] - if self.verbose: - print(f'reading: {mepathfile}') - - # continuum_variables, unlike in the matlab version the individual chemical - # species will be primarily accessed through their names e.g. - # MCDS['continuum_variables']['oxygen']['units'] - # MCDS['continuum_variables']['glucose']['data'] - variables_node = me_node.find('variables') - var_children = variables_node.findall('variable') - MCDS['continuum_variables'] = {} - - # substrate loop - for i_s, chemspecies in enumerate(var_children): - # i don't like spaces in species names! - s_substrate = chemspecies.get('name').replace(' ', '_') - - MCDS['continuum_variables'][s_substrate] = {} - MCDS['continuum_variables'][s_substrate]['units'] = chemspecies.get('units') - - if self.verbose: - print(f'parsing: {s_substrate} data') - - # initialize meshgrid shaped array for concentration data - MCDS['continuum_variables'][s_substrate]['data'] = np.zeros(MCDS['mesh']['mnp_grid'][0].shape) - - # travel down one level on tree - chemspecies = chemspecies.find('physical_parameter_set') - - # diffusion data for each species - MCDS['continuum_variables'][s_substrate]['diffusion_coefficient'] = {} - MCDS['continuum_variables'][s_substrate]['diffusion_coefficient']['value'] = float(chemspecies.find('diffusion_coefficient').text) - MCDS['continuum_variables'][s_substrate]['diffusion_coefficient']['units'] = chemspecies.find('diffusion_coefficient').get('units') - - # decay data for each species - MCDS['continuum_variables'][s_substrate]['decay_rate'] = {} - MCDS['continuum_variables'][s_substrate]['decay_rate']['value'] = float(chemspecies.find('decay_rate').text) - MCDS['continuum_variables'][s_substrate]['decay_rate']['units'] = chemspecies.find('decay_rate').get('units') - - # store data from microenvironment file as numpy array - # iterate over each voxel - # bue: i have a hunch this could be faster reimplemented. - for vox_idx in range(MCDS['mesh']['mnp_coordinate'].shape[1]): - - # find the voxel coordinate - ar_center = MCDS['mesh']['mnp_coordinate'][:, vox_idx] - i = np.where(np.abs(ar_center[0] - MCDS['mesh']['mnp_axis'][0]) < 1e-10)[0][0] - j = np.where(np.abs(ar_center[1] - MCDS['mesh']['mnp_axis'][1]) < 1e-10)[0][0] - k = np.where(np.abs(ar_center[2] - MCDS['mesh']['mnp_axis'][2]) < 1e-10)[0][0] - - # store value - MCDS['continuum_variables'][s_substrate]['data'][j, i, k] = ar_microenv[4+i_s, vox_idx] - - - #################### - # handle cell data # - #################### - - if self.verbose: - print('working on discrete cell data ...') - - # in order to get to the good stuff, we have to pass through a few different hierarchical levels - cell_node = root.find('cellular_information') - cell_node = cell_node.find('cell_populations') - cell_node = cell_node.find('cell_population') - cell_node = cell_node.find('custom') - # we want the PhysiCell data, there is more of it - for child in cell_node.findall('simplified_data'): - if child.get('source') == 'PhysiCell': - cellchild_node = child - break - - MCDS['discrete_cells'] = {} - - # iterate over labels which are children of labels these will be used to label data arrays - ls_variable = [] - ds_unit = {} - - for label in cellchild_node.find('labels').findall('label'): - # I don't like spaces in my dictionary keys! - s_variable = label.text.replace(' ', '_') - i_variable = int(label.get('size')) - s_unit = label.get('units') - - if s_variable in es_var_subs: - if not self.settingxml: - ls_substrate = [str(i_substrate) for i_substrate in range(i_variable)] - for s_substrate in ls_substrate: - s_variable_subs = s_variable + '_' + s_substrate - ls_variable.append(s_variable_subs) - ds_unit.update({s_variable_subs : s_unit}) - - elif s_variable in es_var_death: - for i_deathrate in range(i_variable): - s_variable_deathrate = s_variable + '_' + str(i_deathrate) - ls_variable.append(s_variable_deathrate) - ds_unit.update({s_variable_deathrate : s_unit}) - - elif s_variable in es_var_cell: - if not self.settingxml: - ls_celltype = [str(i_celltype) for i_celltype in range(i_variable)] - for s_celltype in ls_celltype: - s_variable_celltype = s_variable + '_' + s_celltype - ls_variable.append(s_variable_celltype) - ds_unit.update({s_variable_celltype : s_unit}) - - elif s_variable in es_var_spatial: - for s_axis in ['_x','_y','_z']: - s_variable_spatial = s_variable + s_axis - ls_variable.append(s_variable_spatial) - ds_unit.update({s_variable_spatial: s_unit}) - - else: - ls_variable.append(s_variable) - ds_unit.update({s_variable : s_unit}) - - # store unit - MCDS['discrete_cells']['units'] = ds_unit - - # load the file - cellfile = cellchild_node.find('filename').text - cellpathfile = output_path / cellfile - try: - ar_cell = io.loadmat(cellpathfile)['cells'] - if self.verbose: - print(f'reading: {cellpathfile}') - except ValueError: # hack: some old PhysiCell versions generates a corrupt cells.mat file, if there are zero cells. - print(f'Warning @ pyMCDS._read_xml : corrupt {cellpathfile} detected!\nassuming time step with zero cells because of a known bug in PhysiCell MultiCellDS version 0.5 output.') - ar_cell = np.empty([len(ls_variable),0]) - - # store data - MCDS['discrete_cells']['data'] = {} - for col in range(len(ls_variable)): - MCDS['discrete_cells']['data'][ls_variable[col]] = ar_cell[col,:] - - - ##################### - # handle graph data # - ##################### - - if self.graph: - - if self.verbose: - print('working on graph data ...') - - MCDS['discrete_cells']['graph'] = {} - - # neighborhood cell graph - cellgraph_node = cell_node.find('neighbor_graph') - cellfile = cellgraph_node.find('filename').text - cellpathfile = output_path / cellfile - dei_graph = graphfile_parser(s_pathfile=cellpathfile) - if self.verbose: - print(f'reading: {cellpathfile}') - - # store data - MCDS['discrete_cells']['graph'].update({'neighbor_cells': dei_graph}) - - # attached cell graph - cellgraph_node = cell_node.find('attached_cells_graph') - cellfile = cellgraph_node.find('filename').text - cellpathfile = output_path / cellfile - dei_graph = graphfile_parser(s_pathfile=cellpathfile) - if self.verbose: - print(f'reading: {cellpathfile}') - - # store data - MCDS['discrete_cells']['graph'].update({'attached_cells': dei_graph}) - - # output - if self.verbose: - print('done!') - return MCDS - diff --git a/pcdl/pyMCDSts.py b/pcdl/pyMCDSts.py deleted file mode 100644 index eb63af9..0000000 --- a/pcdl/pyMCDSts.py +++ /dev/null @@ -1,720 +0,0 @@ -######### -# title: pyMCDSts.py -# -# language: python3 -# date: 2022-08-22 -# license: BSD-3-Clause -# authors: Patrick Wall, Randy Heiland, Paul Macklin, Elmar Bucher -# -# description: -# pyMCDSts.py defines an object class, able to load and access -# within python a time series of mcds objects loaded from a single -# PhysiCell model output directory. pyMCDSts.py was first forked from -# PhysiCell-Tools python-loader, where it was implemented as -# pyMCDS_timeseries.py, then totally rewritten and further developed. -# -# the make_image and make_movie functions are cloned from the PhysiCell -# Makefile. note on difference image magick convert and mogrify: -# + https://graphicsmagick-tools.narkive.com/9Sowc4HF/gm-tools-mogrify-vs-convert -######### - - -# load libraries -import matplotlib.pyplot as plt -from glob import glob -import numpy as np -import os -import pathlib -from pcdl import pdplt -import platform -from .pyMCDS import pyMCDS -import xml.etree.ElementTree as ET - - -# classes -class pyMCDSts: - """ - input: - output_path: string, default '.' - relative or absolute path to the directory where - the PhysiCell output files are stored. - - custom_type: dictionary; default is {} - variable to specify custom_data variable types - other than float (int, bool, str) like this: {var: dtype, ...}. - down stream float and int will be handled as numeric, - bool as Boolean, and str as categorical data. - - load: boole; default True - should the whole time series data, all time steps, straight at - object initialization be read and stored to mcdsts.l_mcds? - - microenv: boole; default True - should the microenvironment be extracted? - setting microenv to False will use less memory and speed up - processing, similar to the original pyMCDS_cells.py script. - - graph: boole; default True - should the graphs be extracted? - setting graph to False will use less memory and speed up processing. - - settingxml: boole; default True - should the substrate and cell type ID label mapping defined in - PhysiCell_settings.xml be extracted? - only set to False if the xml file is missing! - - verbose: boole; default True - setting verbose to False for less text output, while processing. - - output: - mcdsts: pyMCDSts class instance - this instance offers functions to process all stored time steps - from a simulation. no data is fetched by initialization. - - description: - pyMCDSts.__init__ generates a class instance and stores - the input parameters. no data is fetched at initialization. - the instance offers functions to process all time steps - in the output_path directory. - """ - def __init__(self, output_path='.', custom_type={}, load=True, microenv=True, graph=True, settingxml=True, verbose=True): - output_path = output_path.replace('\\','/') - if (output_path[-1] != '/'): - output_path = output_path + '/' - if not os.path.isdir(output_path): - print(f'Error @ pyMCDSts.__init__ : this is not a path! could not load {output_path}.') - self.output_path = output_path - self.custom_type = custom_type - self.microenv = microenv - self.graph = graph - self.settingxml = settingxml - self.verbose = verbose - if load: - self.read_mcds() - - - ## LOAD DATA - def get_xmlfile_list(self): - """ - input: - self: pyMCDSts class instance. - - output: - xmlfile_list: list of strings - alphanumerical sorted list of /path/to/output*.xml strings. - - description: - function returns an alphanumerical (and as such chronological) - ordered list of physicell xml path and output file names. the - list can be manipulated and used as input for the - mcdsts.read_mcds function. - """ - # bue 2022-10-22: is output*.xml always the correct pattern? - ls_pathfile = [o_pathfile.as_posix() for o_pathfile in sorted(pathlib.Path(self.output_path).glob('output*.xml'))] - return ls_pathfile - - - def read_mcds(self, xmlfile_list=None): - """ - input: - self: pyMCDSts class instance. - - xmlfile_list: list of strings; default None - list of physicell output /path/to/output*.xml strings. - - output: - l_mcds: list of mcds objects - - description: - the function returns a list of mcds objects loaded by - pyMCDS calls. - """ - # handle input - if (xmlfile_list is None): - xmlfile_list = self.get_xmlfile_list() - - # load mcds objects into list - l_mcds = [] - for s_pathfile in xmlfile_list: - mcds = pyMCDS( - xmlfile = s_pathfile, - custom_type = self.custom_type, - microenv = self.microenv, - graph = self.graph, - settingxml = self.settingxml, - verbose = self.verbose - ) - l_mcds.append(mcds) - if self.verbose: - print() # carriage return - - # output - self.l_mcds = l_mcds - return l_mcds - - - ## TRIAGE DATA - def get_cell_minstate_col(self, minstate=2): - """ - input: - minstate: integer; default is 2 - minimal number of states a variable has to have, - in any of the mcds time steps, to be outputted. - variables that have only 1 state carry no information. - None is a state too. - - output: - ls_minstate: list of strings - list of all non-coordinate column names, that at least in - one of the time steps or in between time steps reach - the given minimal state count. - - description: - function to detect informative variables in a time series. - this function detects even variables, which have in each - time step less than the minimal state count, but different values - from time step to time step. - """ - # const - es_coor = { - 'voxel_i', 'voxel_j', 'voxel_k', - 'mesh_center_m', 'mesh_center_n', 'mesh_center_p', - 'position_x', 'position_y', 'position_z', - } - # processing - es_minstate = set() - des_minstate = {} - for mcds in self.l_mcds: - df_cell = mcds.get_cell_df() - for s_column in df_cell.columns: - if not (s_column in es_coor): - es_state = set(df_cell.loc[:,s_column]) - try: - des_minstate[s_column] = des_minstate[s_column].union(es_state) - except KeyError: - des_minstate.update({s_column: es_state}) - for s_column, es_state in des_minstate.items(): - if len(es_state) >= minstate: - es_minstate.add(s_column) - # output - ls_minstate = sorted(es_minstate) - return ls_minstate - - - def get_concentration_minstate_col(self, minstate=2): - """ - input: - minstate: integer; default is 2 - minimal number of states a variable has to have, - in any of the mcds time steps, to be outputted. - variables that have only 1 state carry no information. - None is a state too. - - output: - ls_minstate: list of strings - list of all non-coordinate column names, that at least in - one of the time steps or in between time steps reach - the given minimal state count. - - description: - function to detect informative substrate concentration variables - in a time series. this function detects even variables, which have - in each time step less than the minimal state count, but - different values from time step to time step. - """ - # const - es_coor = { - 'voxel_i', 'voxel_j', 'voxel_k', - 'mesh_center_m', 'mesh_center_n', 'mesh_center_p', - } - # processing - es_minstate = set() - des_minstate = {} - for mcds in self.l_mcds: - df_conc = mcds.get_concentration_df() - for s_column in df_conc.columns: - if not (s_column in es_coor): - es_state = set(df_conc.loc[:,s_column]) - try: - des_minstate[s_column] = des_minstate[s_column].union(es_state) - except KeyError: - des_minstate.update({s_column: es_state}) - for s_column, es_state in des_minstate.items(): - if len(es_state) >= minstate: - es_minstate.add(s_column) - # output - ls_minstate = sorted(es_minstate) - return ls_minstate - - - ## GENERATE AND TRANSFORM IMAGES - def _handle_magick(self): - """ - input: - self: pyMCDSts class instance. - - output: - s_magick: string - image magick command line command call. - - description: - internal function manipulates the command line command call, - so that the call as well works on linux systems, which all - too often run image magick < 7.0. - """ - s_magick = 'magick ' - if (platform.system() in {'Linux'}) and (os.system('magick --version') != 0) and (os.system('convert --version') == 0): - s_magick = '' - return s_magick - - - def make_imgcell(self, focus='cell_type', z_slice=0, z_axis=None, cmap='viridis', grid=True, xlim=None, ylim=None, xyequal=True, s=None, figsizepx=None, ext='jpeg', figbgcolor=None): - """ - input: - self: pyMCDSts class instance - - focus: string; default is 'cell_type' - column name within cell dataframe. - - z_slice: floating point number; default is 0 - z-axis position to slice a 2D xy-plain out of the - 3D substrate concentration mesh. if z_slize position - is not an exact mesh center coordinate, then z_slice - will be adjusted to the nearest mesh center value, - the smaller one, if the coordinate lies on a saddle point. - - z_axis: for a categorical focus: set of labels; - for a numeric focus: tuple of two floats; default is None - depending on the focus column variable dtype, default extracts - labels or min and max values from data. - - cmap: string; default viridis. - matplotlib colormap. - https://matplotlib.org/stable/tutorials/colors/colormaps.html - - grid: boolean default True. - plot axis grid lines. - - xlim: tuple of two floats; default is None - x axis min and max value. - default takes min and max from mesh x axis range. - - ylim: tuple of two floats; default is None - y axis min and max value. - default takes min and max from mesh y axis range. - - xyequal: boolean; default True - to specify equal axis spacing for x and y axis. - - s: integer; default is None - scatter plot dot size in pixel. - typographic points are 1/72 inch. - the marker size s is specified in points**2. - plt.rcParams['lines.markersize']**2 is in my case 36. - None tries to take the value from the initial.svg file. - fall back setting is 36. - - figsizepx: list of two integers, default is None - size of the figure in pixels, (x, y). - the given x and y will be rounded to the nearest even number, - to be able to generate movies from the images. - None tries to take the values from the initial.svg file. - fall back setting is [640, 480]. - - ext: string - output image format. possible formats are jpeg, png, and tiff. - - figbgcolor: string; default is None which is transparent (png) - or white (jpeg, tiff). - figure background color. - - output: - image files under the returned path. - - description: - this function generates image time series - based on the physicell data output. - jpeg is by definition a lossy compressed image format. - png is by definition a lossless compressed image format. - tiff can by definition be a lossy or lossless compressed format. - https://en.wikipedia.org/wiki/JPEG - https://en.wikipedia.org/wiki/Portable_Network_Graphics - https://en.wikipedia.org/wiki/TIFF - """ - # handle initial.svg for s and figsizepx - if (s is None) or (figsizepx is None): - s_pathfile = self.output_path + 'initial.svg' - try: - tree = ET.parse(s_pathfile) - root = tree.getroot() - if s is None: - circle_element = root.find('.//{*}circle') - r_radius = float(circle_element.get('r')) # px - s = int(round((r_radius)**2)) - if self.verbose: - print(f's set to {s}.') - if figsizepx is None: - i_width = int(np.ceil(float(root.get('width')))) # px - i_height = int(np.ceil(float(root.get('height')))) # px - figsizepx = [i_width, i_height] - except FileNotFoundError: - print(f'Warning @ pyMCDSts.make_imgcell : could not load {s_pathfile}.') - if s is None: - s = plt.rcParams['lines.markersize']**2 - if self.verbose: - print(f's set to {s}.') - if figsizepx is None: - figsizepx = [640, 480] - - # handle z_slice - _, _, ar_p_axis = self.l_mcds[0].get_mesh_mnp_axis() - if not (z_slice in ar_p_axis): - z_slice = ar_p_axis[(ar_p_axis - z_slice).argmin()] - print(f'z_slice set to {z_slice}.') - - # handle z_axis categorical cases - df_cell = self.l_mcds[0].get_cell_df() - if (str(df_cell.loc[:,focus].dtype) in {'bool', 'object'}): - lr_extrema = [None, None] - if (z_axis is None): - # extract set of labels from data - es_label = set() - for mcds in self.l_mcds: - df_cell = mcds.get_cell_df() - es_label = es_label.union(set(df_cell.loc[:,focus])) - else: - es_label = z_axis - - # handle z_axis numerical cases - else: # df_cell.loc[:,focus].dtype is numeric - es_label = None - if (z_axis is None): - # extract min and max values from data - lr_extrema = [None, None] - for mcds in self.l_mcds: - df_cell = mcds.get_cell_df() - r_min = df_cell.loc[:,focus].min() - r_max = df_cell.loc[:,focus].max() - if (lr_extrema[0] is None) or (lr_extrema[0] > r_min): - lr_extrema[0] = np.floor(r_min) - if (lr_extrema[1] is None) or (lr_extrema[1] < r_max): - lr_extrema[1] = np.ceil(r_max) - else: - lr_extrema = z_axis - - # handle z_axis summary - print(f'labels found: {es_label}.') - print(f'min max extrema set to: {lr_extrema}.') - - # handle xlim and ylim - if xlim is None: - xlim = self.l_mcds[0].get_mesh_mnp_range()[0] - if ylim is None: - ylim = self.l_mcds[0].get_mesh_mnp_range()[1] - - # handle figure size - figsizepx[0] = figsizepx[0] - (figsizepx[0] % 2) # enforce even pixel number - figsizepx[1] = figsizepx[1] - (figsizepx[1] % 2) - r_px = 1 / plt.rcParams['figure.dpi'] # translate px to inch - figsize = [None, None] - figsize[0] = figsizepx[0] * r_px - figsize[1] = figsizepx[1] * r_px - if self.verbose: - print(f'px figure size set to {figsizepx}.') - - # handle figure background color - if figbgcolor is None: - figbgcolor = 'auto' - - # handle output path - s_path = f'{self.output_path}cell_{focus}_z{z_slice}/' - - # plotting - for mcds in self.l_mcds: - fig, ax = plt.subplots(figsize=figsize) - df_cell = mcds.get_cell_df() - df_cell = df_cell.loc[(df_cell.position_z == z_slice),:] - if not (es_label is None): - ds_color = pdplt.df_label_to_color( - df_abc = df_cell, - s_label = focus, - es_label = es_label, - s_cmap = cmap, - b_shuffle = False, - ) - pdplt.ax_colorlegend( - ax = ax, - ds_color = ds_color, - r_x_figure2legend_space = 0.01, - s_fontsize = 'small', - ) - s_focus_color = focus + '_color' - c = list(df_cell.loc[:, s_focus_color].values) - s_cmap = None - else: - c = focus - s_cmap = cmap - df_cell.plot( - kind = 'scatter', - x = 'position_x', - y = 'position_y', - c = c, - vmin = lr_extrema[0], - vmax = lr_extrema[1], - cmap = s_cmap, - xlim = xlim, - ylim = ylim, - s = s, - grid = grid, - title = f'{mcds.get_time()}[min] {df_cell.shape[0]}[agent]', - ax = ax, - ) - if xyequal: - ax.axis('equal') - os.makedirs(s_path, exist_ok=True) - s_pathfile = f'{s_path}{focus}_{str(mcds.get_time()).zfill(11)}.{ext}' - fig.savefig(s_pathfile, facecolor=figbgcolor) - plt.close(fig) - - # output - return s_path - - - def make_imgsubs(self, focus, z_slice=0, extrema=None, alpha=1, fill=True, cmap='viridis', grid=True, xlim=None, ylim=None, xyequal=True, figsizepx=None, ext='jpeg', figbgcolor=None): - """ - input: - self: pyMCDSts class instance - - focus: string; default is 'cell_type' - column name within cell dataframe. - - z_slice: floating point number; default is 0 - z-axis position to slice a 2D xy-plain out of the - 3D substrate concentration mesh. if z_slize position - is not an exact mesh center coordinate, then z_slice - will be adjusted to the nearest mesh center value, - the smaller one, if the coordinate lies on a saddle point. - - extrema: tuple of two floats; default is None - default takes min and max from data. - - alpha: floating point number; default is 1 - alpha channel transparency value - between 1 (not transparent at all) and 0 (totally transparent). - - fill: boolean - True generates a matplotlib contourf plot. - False generates a matplotlib contour plot. - - cmap: string; default viridis. - matplotlib colormap. - https://matplotlib.org/stable/tutorials/colors/colormaps.html - - grid: boolean default True. - plot axis grid lines. - - xlim: tuple of two floats; default is None - x axis min and max value. - default takes min and max from mesh x axis range. - - ylim: tuple of two floats; default is None - y axis min and max value. - default takes min and max from mesh y axis range. - - xyequal: boolean; default True - to specify equal axis spacing for x and y axis. - - figsizepx: list of two integers, default is None - size of the figure in pixels, (x, y). - the given x and y will be rounded to the nearest even number, - to be able to generate movies from the images. - None tries to take the values from the initial.svg file. - fall back setting is [640, 480]. - - ext: string - output image format. possible formats are jpeg, png, and tiff. - - figbgcolor: string; default is None which is transparent (png) - or white (jpeg, tiff). - figure background color. - - output: - image files under the returned path. - - description: - this function generates image time series - based on the physicell data output. - jpeg is by definition a lossy compressed image format. - png is by definition a lossless compressed image format. - tiff can by definition be a lossy or lossless compressed format. - https://en.wikipedia.org/wiki/JPEG - https://en.wikipedia.org/wiki/Portable_Network_Graphics - https://en.wikipedia.org/wiki/TIFF - """ - # handle initial.svg for s and figsizepx - if (figsizepx is None): - s_pathfile = self.output_path + 'initial.svg' - try: - tree = ET.parse(s_pathfile) - root = tree.getroot() - i_width = int(np.ceil(float(root.get('width')))) # px - i_height = int(np.ceil(float(root.get('height')))) # px - figsizepx = [i_width, i_height] - except FileNotFoundError: - print(f'Warning @ pyMCDSts.make_imgsubs : could not load {s_pathfile}.') - figsizepx = [640, 480] - - # handle z_slice - _, _, ar_p_axis = self.l_mcds[0].get_mesh_mnp_axis() - if not (z_slice in ar_p_axis): - z_slice = ar_p_axis[(ar_p_axis - z_slice).argmin()] - print(f'z_slice set to {z_slice}.') - - # handle extrema - if extrema == None: - extrema = [None, None] - for mcds in self.l_mcds: - df_cell = mcds.get_cell_df() - r_min = df_cell.loc[:,focus].min() - r_max = df_cell.loc[:,focus].max() - if (extrema[0] is None) or (extrema[0] > r_min): - extrema[0] = np.floor(r_min) - if (extrema[1] is None) or (extrema[1] < r_max): - extrema[1] = np.ceil(r_max) - print(f'min max extrema set to {extrema}.') - - # handle xlim and ylim - if (xlim is None): - xlim = self.l_mcds[0].get_mesh_mnp_range()[0] - if (ylim is None): - ylim = self.l_mcds[0].get_mesh_mnp_range()[1] - - # handle figure size - figsizepx[0] = figsizepx[0] - (figsizepx[0] % 2) # enforce even pixel number - figsizepx[1] = figsizepx[1] - (figsizepx[1] % 2) - r_px = 1 / plt.rcParams['figure.dpi'] # translate px to inch - figsize = [None, None] - figsize[0] = figsizepx[0] * r_px - figsize[1] = figsizepx[1] * r_px - if self.verbose: - print(f'px figure size set to {figsizepx}.') - - # handle figure background color - if figbgcolor is None: - figbgcolor = 'auto' - - # handle output path - s_path = f'{self.output_path}substrate_{focus}_z{z_slice}/' - - # plotting - for mcds in self.l_mcds: - fig = mcds.get_contour( - substrate = focus, - z_slice = z_slice, - vmin = extrema[0], - vmax = extrema[1], - alpha = alpha, - fill = fill, - cmap = cmap, - title = f'{mcds.get_time()}[min] {df_cell.shape[0]}[agent]', - grid = grid, - xlim = xlim, - ylim = ylim, - xyequal = xyequal, - figsize = figsize, - ax = None, - ) - os.makedirs(s_path, exist_ok=True) - s_pathfile = f'{s_path}{focus}_{str(mcds.get_time()).zfill(11)}.{ext}' - fig.savefig(s_pathfile, facecolor=figbgcolor) - plt.close(fig) - - # output - return s_path - - - def make_gif(self, path, interface='jpeg'): - """ - input: - self: pyMCDSts class instance. - - path: string - relative or absolute path to where the images are - from which the gif will be generated. - - interface: string; default jpeg - this images, from which the gif will be generated - have to exist under the given path. - they can be generated with the make_imgcell or make_imgsubs - function. - - output: - gif file in the path directory. -` additionally, the function will return the gif's path and filename. - - description: - this function generates a gif image from all interface image files - found in the path directory. - https://en.wikipedia.org/wiki/GIF - """ - s_magick = self._handle_magick() - # handle path and file name - path = path.replace('\\','/') - if path.endswith('/'): path = path[:-1] - s_file = path.split('/')[-1] - if s_file.startswith('.'): s_file = s_file[1:] - if (len(s_file) == 0): s_file = 'movie' - s_file += f'_{interface}.gif' - s_opathfile = f'{path}/{s_file}' - s_ipathfiles = f'{path}/*.{interface}' - # genaerate gif - os.system(f'{s_magick}convert {s_ipathfiles} {s_opathfile}') - - # output - return s_opathfile - - - def make_movie(self, path, interface='jpeg', framerate=12): - """ - input: - self: pyMCDSts class instance. - - path: string - relative or absolute path to where the images are - from which the movie will be generated. - - interface: string; default jpeg - this images, from which the mp4 movie will be generated - have to exist under the given path. - they can be generated with the make_imgcell or make_imgsubs - function. - - framerate: integer; default 24 - specifies how many images per second will be used. - - output: - mp4 move file in the path directory. -` additionally, the function will return the mp4's path and filename. - - description: - this function generates a movie from all interface image files - found in the path directory. - https://en.wikipedia.org/wiki/MP4_file_format - https://en.wikipedia.org/wiki/Making_Movies - """ - # handle path and file name - path = path.replace('\\','/') - if path.endswith('/'): path = path[:-1] - s_file = path.split('/')[-1] - if s_file.startswith('.'): s_file = s_file[1:] - if (len(s_file) == 0): s_file = 'movie' - s_file += f'_{interface}{framerate}.mp4' - s_opathfile = f'{path}/{s_file}' - s_ipathfiles = f'{path}/*.{interface}' - - # generate movie - s_cmd = f'ffmpeg -r {framerate} -f image2 -pattern_type glob -i "{s_ipathfiles}" -vcodec libx264 -pix_fmt yuv420p -strict -2 -tune animation -crf 15 -acodec none {s_opathfile}' - os.system(s_cmd) - - # output - return s_opathfile diff --git a/plotting/anim_svg.py b/plotting/anim_svg.py new file mode 100644 index 0000000..b69dd0c --- /dev/null +++ b/plotting/anim_svg.py @@ -0,0 +1,395 @@ +# +# anim_svg.py: render/animate PhysiCell .svg files, using left/right arrows on keyboard +# +# Usage: +# NOTE! - on macOS, use 'pythonw' instead of 'python' +# pythonw anim_svg.py +# or, +# python anim_svg.py +# i.e., the arguments <...> are optional and have defaults. +# +# Keyboard arrows: right/left arrows will single step forward/backward; up/down will increment/decrement step size +# +# Dependencies include matplotlib and numpy. We recommend installing the Anaconda Python3 distribution. +# +# Examples (run from directory containing the .svg files): +# python anim_svg.py +# python anim_svg.py 0 5 700 1300 +# +# Author: Randy Heiland (except for the circles() function) +# +# +__author__ = "Randy Heiland" + +import sys +import glob +import os +import xml.etree.ElementTree as ET +import math +join_our_list = "(Join/ask questions at https://groups.google.com/forum/#!forum/physicell-users)\n" +try: + import matplotlib + import matplotlib.colors as mplc + from matplotlib.patches import Circle, Ellipse, Rectangle + from matplotlib.collections import PatchCollection +except: + print("\n---Error: cannot import matplotlib") + print("---Try: python -m pip install matplotlib") + print(join_our_list) +# print("---Consider installing Anaconda's Python 3 distribution.\n") + raise +try: + import numpy as np # if mpl was installed, numpy should have been too. +except: + print("\n---Error: cannot import numpy") + print("---Try: python -m pip install numpy\n") + print(join_our_list) + raise +from collections import deque +try: + # apparently we need mpl's Qt backend to do keypresses +# matplotlib.use("Qt5Agg") + matplotlib.use("TkAgg") + import matplotlib.pyplot as plt +except: + print("\n---Error: cannot use matplotlib's TkAgg backend") + print(join_our_list) +# print("Consider installing Anaconda's Python 3 distribution.") + raise + + +current_idx = 0 +print("# args=",len(sys.argv)-1) + +#for idx in range(len(sys.argv)): +use_defaults = True +show_nucleus = 0 +current_idx = 0 +axes_min = 0.0 +axes_max = 1000 # but overridden by "width" attribute in .svg +if (len(sys.argv) == 5): + use_defaults = False + kdx = 1 + show_nucleus = int(sys.argv[kdx]) + kdx += 1 + current_idx = int(sys.argv[kdx]) + kdx += 1 + axes_min = float(sys.argv[kdx]) + kdx += 1 + axes_max = float(sys.argv[kdx]) +elif (len(sys.argv) != 1): + print("Please provide either no args or 4 args:") + usage_str = "show_nucleus start_index axes_min axes_max" + print(usage_str) + print("e.g.,") + eg_str = "%s 0 0 0 2000" % (sys.argv[0]) + print(eg_str) + sys.exit(1) + +#""" +print("show_nucleus=",show_nucleus) +print("current_idx=",current_idx) +print("axes_min=",axes_min) +print("axes_max=",axes_max) +#""" + +""" +if (len(sys.argv) > 1): + current_idx = int(sys.argv[1]) +if (len(sys.argv) > 2): + axes_min = float(sys.argv[2]) + axes_max = float(sys.argv[3]) + +if (len(sys.argv) > 4): + usage_str = "[ []]" + print(usage_str) + print("e.g.,") + eg_str = "%s 1 10 700 1300" % (sys.argv[0]) + print(eg_str) + sys.exit(1) +""" + +print("current_idx=",current_idx) + +#d={} # dictionary to hold all (x,y) positions of cells + +""" +--- for example --- +In [141]: d['cell1599'][0:3] +Out[141]: +array([[ 4900. , 4900. ], + [ 4934.17, 4487.91], + [ 4960.75, 4148.02]]) +""" + +fig = plt.figure(figsize=(7,7)) +ax = fig.gca() +#ax.set_aspect("equal") + + +#plt.ion() + +time_delay = 0.1 + +count = -1 +#while True: + +#----------------------------------------------------- +def circles(x, y, s, c='b', vmin=None, vmax=None, **kwargs): + """ + See https://gist.github.com/syrte/592a062c562cd2a98a83 + + Make a scatter plot of circles. + Similar to plt.scatter, but the size of circles are in data scale. + Parameters + ---------- + x, y : scalar or array_like, shape (n, ) + Input data + s : scalar or array_like, shape (n, ) + Radius of circles. + c : color or sequence of color, optional, default : 'b' + `c` can be a single color format string, or a sequence of color + specifications of length `N`, or a sequence of `N` numbers to be + mapped to colors using the `cmap` and `norm` specified via kwargs. + Note that `c` should not be a single numeric RGB or RGBA sequence + because that is indistinguishable from an array of values + to be colormapped. (If you insist, use `color` instead.) + `c` can be a 2-D array in which the rows are RGB or RGBA, however. + vmin, vmax : scalar, optional, default: None + `vmin` and `vmax` are used in conjunction with `norm` to normalize + luminance data. If either are `None`, the min and max of the + color array is used. + kwargs : `~matplotlib.collections.Collection` properties + Eg. alpha, edgecolor(ec), facecolor(fc), linewidth(lw), linestyle(ls), + norm, cmap, transform, etc. + Returns + ------- + paths : `~matplotlib.collections.PathCollection` + Examples + -------- + a = np.arange(11) + circles(a, a, s=a*0.2, c=a, alpha=0.5, ec='none') + plt.colorbar() + License + -------- + This code is under [The BSD 3-Clause License] + (http://opensource.org/licenses/BSD-3-Clause) + """ + + if np.isscalar(c): + kwargs.setdefault('color', c) + c = None + + if 'fc' in kwargs: + kwargs.setdefault('facecolor', kwargs.pop('fc')) + if 'ec' in kwargs: + kwargs.setdefault('edgecolor', kwargs.pop('ec')) + if 'ls' in kwargs: + kwargs.setdefault('linestyle', kwargs.pop('ls')) + if 'lw' in kwargs: + kwargs.setdefault('linewidth', kwargs.pop('lw')) + # You can set `facecolor` with an array for each patch, + # while you can only set `facecolors` with a value for all. + + zipped = np.broadcast(x, y, s) + patches = [Circle((x_, y_), s_) + for x_, y_, s_ in zipped] + collection = PatchCollection(patches, **kwargs) + if c is not None: + c = np.broadcast_to(c, zipped.shape).ravel() + collection.set_array(c) + collection.set_clim(vmin, vmax) + + ax = plt.gca() + ax.add_collection(collection) + ax.autoscale_view() + plt.draw_if_interactive() + if c is not None: + plt.sci(collection) + return collection + +#----------------------------------------------------- +def plot_svg(): + global current_idx, axes_max + fname = "snapshot%08d.svg" % current_idx + if (os.path.isfile(fname) == False): + print("File does not exist: ",fname) + return + + xlist = deque() + ylist = deque() + rlist = deque() + rgb_list = deque() + +# print('\n---- ' + fname + ':') + tree = ET.parse(fname) + root = tree.getroot() +# print('--- root.tag ---') +# print(root.tag) +# print('--- root.attrib ---') +# print(root.attrib) + + +# print('--- child.tag, child.attrib ---') + numChildren = 0 + for child in root: +# print(child.tag, child.attrib) +# print("keys=",child.attrib.keys()) + if use_defaults and ('width' in child.attrib.keys()): + axes_max = float(child.attrib['width']) +# print("--- found width --> axes_max =", axes_max) + if child.text and "Current time" in child.text: + svals = child.text.split() + title_str = "(" + str(current_idx) + ") Current time: " + svals[2] + "d, " + svals[4] + "h, " + svals[7] + "m" + +# print("width ",child.attrib['width']) +# print('attrib=',child.attrib) +# if (child.attrib['id'] == 'tissue'): + if ('id' in child.attrib.keys()): +# print('-------- found tissue!!') + tissue_parent = child + break + +# print('------ search tissue') + cells_parent = None + + for child in tissue_parent: +# print('attrib=',child.attrib) + if (child.attrib['id'] == 'cells'): +# print('-------- found cells, setting cells_parent') + cells_parent = child + break + numChildren += 1 + + + num_cells = 0 +# print('------ search cells') + for child in cells_parent: +# print(child.tag, child.attrib) +# print('attrib=',child.attrib) + for circle in child: # two circles in each child: outer + nucleus + # circle.attrib={'cx': '1085.59','cy': '1225.24','fill': 'rgb(159,159,96)','r': '6.67717','stroke': 'rgb(159,159,96)','stroke-width': '0.5'} +# print(' --- cx,cy=',circle.attrib['cx'],circle.attrib['cy']) + xval = float(circle.attrib['cx']) + + s = circle.attrib['fill'] +# print("s=",s) +# print("type(s)=",type(s)) + if (s[0:3] == "rgb"): # if an rgb string, e.g. "rgb(175,175,80)" + rgb = list(map(int, s[4:-1].split(","))) + rgb[:]=[x/255. for x in rgb] + else: # otherwise, must be a color name + rgb_tuple = mplc.to_rgb(mplc.cnames[s]) # a tuple + rgb = [x for x in rgb_tuple] + + # test for bogus x,y locations (rwh TODO: use max of domain?) + too_large_val = 10000. + if (math.fabs(xval) > too_large_val): + print("bogus xval=",xval) + break + yval = float(circle.attrib['cy']) + if (math.fabs(yval) > too_large_val): + print("bogus xval=",xval) + break + + rval = float(circle.attrib['r']) +# print('rval=',rval) + + xlist.append(xval) + ylist.append(yval) + rlist.append(rval) + rgb_list.append(rgb) +# print('rgb_list = ',rgb_list) + +# For .svg files with cells that *have* a nucleus, there will be a 2nd + if (show_nucleus == 0): + break + + num_cells += 1 + +# if num_cells > 3: # for debugging +# print(fname,': num_cells= ',num_cells," --- debug exit.") +# sys.exit(1) +# break + + print(fname,': num_cells= ',num_cells) + + xvals = np.array(xlist) + yvals = np.array(ylist) + rvals = np.array(rlist) + rgbs = np.array(rgb_list) +# print('type(rgbs) = ',type(rgbs)) +# print('rgbs = ',rgbs) +#print("xvals[0:5]=",xvals[0:5]) +#print("rvals[0:5]=",rvals[0:5]) +# print("rvals.min, max=",rvals.min(),rvals.max()) + + plt.cla() + title_str += " (" + str(num_cells) + " agents)" + plt.title(title_str) + plt.xlim(axes_min,axes_max) + plt.ylim(axes_min,axes_max) +# plt.scatter(xvals,yvals, s=rvals*scale_radius, c=rgbs) +# plt.scatter(xvals,yvals, s=rvals*scale_radius, c=rgbs, alpha=0.5, edgecolor='black') +# plt.scatter(xvals,yvals, s=rvals*scale_radius, c=rgbs, alpha=1.0, edgecolor='black') +# circles(xvals,yvals, s=rvals, c=rgbs, alpha=1.0, edgecolor='black') +# circles(xvals,yvals, s=rvals) +# circles(xvals,yvals, s=rvals, c=rgbs) + circles(xvals,yvals, s=rvals, color=rgbs) +#plt.xlim(0,2000) # TODO - get these values from width,height in .svg at top +#plt.ylim(0,2000) + plt.pause(time_delay) + +step_value = 1 +def press(event): + global current_idx, step_value +# print('press', event.key) + sys.stdout.flush() + if event.key == 'escape': + sys.exit(1) + elif event.key == 'h': # help + print('esc: quit') + print('right arrow: increment by step_value') + print('left arrow: decrement by step_value') + print('up arrow: increment step_value by 1') + print('down arrow: decrement step_value by 1') + print('0: reset to 0th frame') + print('h: help') + elif event.key == 'left': # left arrow key +# print('go backwards') +# fig.canvas.draw() + current_idx -= step_value + if (current_idx < 0): + current_idx = 0 + plot_svg() + elif event.key == 'right': # right arrow key +# print('go forwards') +# fig.canvas.draw() + current_idx += step_value + plot_svg() + elif event.key == 'up': # up arrow key + step_value += 1 + print('step_value=',step_value) + elif event.key == 'down': # down arrow key + step_value -= 1 + if (step_value <= 0): + step_value = 1 + print('step_value=',step_value) + elif event.key == '0': # reset to 0th frame/file + current_idx = 0 + plot_svg() + else: + print('press', event.key) + + +#for current_idx in range(40): +# fname = "snapshot%08d.svg" % current_idx +# plot_svg(fname) +plot_svg() +print("\nNOTE: click in plot window to give it focus before using keys.") + +fig.canvas.mpl_connect('key_press_event', press) + +# keep last plot displayed +#plt.ioff() +plt.show() diff --git a/plotting/anim_svg_cycle.py b/plotting/anim_svg_cycle.py new file mode 100644 index 0000000..382886c --- /dev/null +++ b/plotting/anim_svg_cycle.py @@ -0,0 +1,396 @@ +# +# anim_svg_cycle.py: render/animate PhysiCell .svg files, non-stop (cycle through all .svg files in a directory) +# +# Usage: +# NOTE! - on macOS, use 'pythonw' instead of 'python' +# pythonw anim_svg.py +# or, +# python anim_svg_cycle.py +# i.e., the arguments <...> are optional and have defaults. +# +# Dependencies include matplotlib and numpy. We recommend installing the Anaconda Python3 distribution. +# +# Examples (run from directory containing the .svg files): +# python anim_svg_cycle.py +# python anim_svg_cycle.py 0 5 700 1300 +# +# Author: Randy Heiland (except for the circles() function) +# +# +__author__ = "Randy Heiland" + +import sys +import glob +import os +import xml.etree.ElementTree as ET +import math +join_our_list = "(Join/ask questions at https://groups.google.com/forum/#!forum/physicell-users)\n" +try: + import matplotlib + import matplotlib.colors as mplc + from matplotlib.patches import Circle, Ellipse, Rectangle + from matplotlib.collections import PatchCollection +except: + print("\n---Error: cannot import matplotlib") + print("---Try: python -m pip install matplotlib") + print(join_our_list) +# print("---Consider installing Anaconda's Python 3 distribution.\n") + raise +try: + import numpy as np # if mpl was installed, numpy should have been too. +except: + print("\n---Error: cannot import numpy") + print("---Try: python -m pip install numpy\n") + print(join_our_list) + raise +from collections import deque +try: + # apparently we need mpl's Qt backend to do keypresses +# matplotlib.use("Qt5Agg") + matplotlib.use("TkAgg") + import matplotlib.pyplot as plt +except: + print("\n---Error: cannot use matplotlib's TkAgg backend") + print(join_our_list) +# print("Consider installing Anaconda's Python 3 distribution.") + raise + + +current_idx = 0 +print("# args=",len(sys.argv)-1) + +#for idx in range(len(sys.argv)): +use_defaults = True +show_nucleus = 0 +current_idx = 0 +axes_min = 0.0 +axes_max = 1000 # but overridden by "width" attribute in .svg +if (len(sys.argv) == 5): + use_defaults = False + kdx = 1 + show_nucleus = int(sys.argv[kdx]) + kdx += 1 + current_idx = int(sys.argv[kdx]) + kdx += 1 + axes_min = float(sys.argv[kdx]) + kdx += 1 + axes_max = float(sys.argv[kdx]) +elif (len(sys.argv) != 1): + print("Please provide either no args or 4 args:") + usage_str = "show_nucleus start_index axes_min axes_max" + print(usage_str) + print("e.g.,") + eg_str = "%s 0 0 0 2000" % (sys.argv[0]) + print(eg_str) + sys.exit(1) + +#""" +print("show_nucleus=",show_nucleus) +print("current_idx=",current_idx) +print("axes_min=",axes_min) +print("axes_max=",axes_max) +#""" + +""" +if (len(sys.argv) > 1): + current_idx = int(sys.argv[1]) +if (len(sys.argv) > 2): + axes_min = float(sys.argv[2]) + axes_max = float(sys.argv[3]) + +if (len(sys.argv) > 4): + usage_str = "[ []]" + print(usage_str) + print("e.g.,") + eg_str = "%s 1 10 700 1300" % (sys.argv[0]) + print(eg_str) + sys.exit(1) +""" + +print("current_idx=",current_idx) + +#d={} # dictionary to hold all (x,y) positions of cells + +""" +--- for example --- +In [141]: d['cell1599'][0:3] +Out[141]: +array([[ 4900. , 4900. ], + [ 4934.17, 4487.91], + [ 4960.75, 4148.02]]) +""" + +fig = plt.figure(figsize=(7,7)) +ax = fig.gca() +#ax.set_aspect("equal") + + +#plt.ion() + +time_delay = 0.1 + +count = -1 +#while True: + +#----------------------------------------------------- +def circles(x, y, s, c='b', vmin=None, vmax=None, **kwargs): + """ + See https://gist.github.com/syrte/592a062c562cd2a98a83 + + Make a scatter plot of circles. + Similar to plt.scatter, but the size of circles are in data scale. + Parameters + ---------- + x, y : scalar or array_like, shape (n, ) + Input data + s : scalar or array_like, shape (n, ) + Radius of circles. + c : color or sequence of color, optional, default : 'b' + `c` can be a single color format string, or a sequence of color + specifications of length `N`, or a sequence of `N` numbers to be + mapped to colors using the `cmap` and `norm` specified via kwargs. + Note that `c` should not be a single numeric RGB or RGBA sequence + because that is indistinguishable from an array of values + to be colormapped. (If you insist, use `color` instead.) + `c` can be a 2-D array in which the rows are RGB or RGBA, however. + vmin, vmax : scalar, optional, default: None + `vmin` and `vmax` are used in conjunction with `norm` to normalize + luminance data. If either are `None`, the min and max of the + color array is used. + kwargs : `~matplotlib.collections.Collection` properties + Eg. alpha, edgecolor(ec), facecolor(fc), linewidth(lw), linestyle(ls), + norm, cmap, transform, etc. + Returns + ------- + paths : `~matplotlib.collections.PathCollection` + Examples + -------- + a = np.arange(11) + circles(a, a, s=a*0.2, c=a, alpha=0.5, ec='none') + plt.colorbar() + License + -------- + This code is under [The BSD 3-Clause License] + (http://opensource.org/licenses/BSD-3-Clause) + """ + + if np.isscalar(c): + kwargs.setdefault('color', c) + c = None + + if 'fc' in kwargs: + kwargs.setdefault('facecolor', kwargs.pop('fc')) + if 'ec' in kwargs: + kwargs.setdefault('edgecolor', kwargs.pop('ec')) + if 'ls' in kwargs: + kwargs.setdefault('linestyle', kwargs.pop('ls')) + if 'lw' in kwargs: + kwargs.setdefault('linewidth', kwargs.pop('lw')) + # You can set `facecolor` with an array for each patch, + # while you can only set `facecolors` with a value for all. + + zipped = np.broadcast(x, y, s) + patches = [Circle((x_, y_), s_) + for x_, y_, s_ in zipped] + collection = PatchCollection(patches, **kwargs) + if c is not None: + c = np.broadcast_to(c, zipped.shape).ravel() + collection.set_array(c) + collection.set_clim(vmin, vmax) + + ax = plt.gca() + ax.add_collection(collection) + ax.autoscale_view() + plt.draw_if_interactive() + if c is not None: + plt.sci(collection) + return collection + +#----------------------------------------------------- +def plot_svg(): + global current_idx, axes_max + fname = "snapshot%08d.svg" % current_idx + if (os.path.isfile(fname) == False): + print("File does not exist: ",fname) + return + + xlist = deque() + ylist = deque() + rlist = deque() + rgb_list = deque() + +# print('\n---- ' + fname + ':') + tree = ET.parse(fname) + root = tree.getroot() +# print('--- root.tag ---') +# print(root.tag) +# print('--- root.attrib ---') +# print(root.attrib) + + +# print('--- child.tag, child.attrib ---') + numChildren = 0 + for child in root: +# print(child.tag, child.attrib) +# print("keys=",child.attrib.keys()) + if use_defaults and ('width' in child.attrib.keys()): + axes_max = float(child.attrib['width']) +# print("--- found width --> axes_max =", axes_max) + if child.text and "Current time" in child.text: + svals = child.text.split() + title_str = "(" + str(current_idx) + ") Current time: " + svals[2] + "d, " + svals[4] + "h, " + svals[7] + "m" + +# print("width ",child.attrib['width']) +# print('attrib=',child.attrib) +# if (child.attrib['id'] == 'tissue'): + if ('id' in child.attrib.keys()): +# print('-------- found tissue!!') + tissue_parent = child + break + +# print('------ search tissue') + cells_parent = None + + for child in tissue_parent: +# print('attrib=',child.attrib) + if (child.attrib['id'] == 'cells'): +# print('-------- found cells, setting cells_parent') + cells_parent = child + break + numChildren += 1 + + + num_cells = 0 +# print('------ search cells') + for child in cells_parent: +# print(child.tag, child.attrib) +# print('attrib=',child.attrib) + for circle in child: # two circles in each child: outer + nucleus + # circle.attrib={'cx': '1085.59','cy': '1225.24','fill': 'rgb(159,159,96)','r': '6.67717','stroke': 'rgb(159,159,96)','stroke-width': '0.5'} +# print(' --- cx,cy=',circle.attrib['cx'],circle.attrib['cy']) + xval = float(circle.attrib['cx']) + + s = circle.attrib['fill'] +# print("s=",s) +# print("type(s)=",type(s)) + if (s[0:3] == "rgb"): # if an rgb string, e.g. "rgb(175,175,80)" + rgb = list(map(int, s[4:-1].split(","))) + rgb[:]=[x/255. for x in rgb] + else: # otherwise, must be a color name + rgb_tuple = mplc.to_rgb(mplc.cnames[s]) # a tuple + rgb = [x for x in rgb_tuple] + + # test for bogus x,y locations (rwh TODO: use max of domain?) + too_large_val = 10000. + if (math.fabs(xval) > too_large_val): + print("bogus xval=",xval) + break + yval = float(circle.attrib['cy']) + if (math.fabs(yval) > too_large_val): + print("bogus xval=",xval) + break + + rval = float(circle.attrib['r']) +# print('rval=',rval) + + xlist.append(xval) + ylist.append(yval) + rlist.append(rval) + rgb_list.append(rgb) +# print('rgb_list = ',rgb_list) + +# For .svg files with cells that *have* a nucleus, there will be a 2nd + if (show_nucleus == 0): + break + + num_cells += 1 + +# if num_cells > 3: # for debugging +# print(fname,': num_cells= ',num_cells," --- debug exit.") +# sys.exit(1) +# break + + print(fname,': num_cells= ',num_cells) + + xvals = np.array(xlist) + yvals = np.array(ylist) + rvals = np.array(rlist) + rgbs = np.array(rgb_list) +# print('type(rgbs) = ',type(rgbs)) +# print('rgbs = ',rgbs) +#print("xvals[0:5]=",xvals[0:5]) +#print("rvals[0:5]=",rvals[0:5]) +# print("rvals.min, max=",rvals.min(),rvals.max()) + + plt.cla() + title_str += " (" + str(num_cells) + " agents)" + plt.title(title_str) + plt.xlim(axes_min,axes_max) + plt.ylim(axes_min,axes_max) +# plt.scatter(xvals,yvals, s=rvals*scale_radius, c=rgbs) +# plt.scatter(xvals,yvals, s=rvals*scale_radius, c=rgbs, alpha=0.5, edgecolor='black') +# plt.scatter(xvals,yvals, s=rvals*scale_radius, c=rgbs, alpha=1.0, edgecolor='black') +# circles(xvals,yvals, s=rvals, c=rgbs, alpha=1.0, edgecolor='black') +# circles(xvals,yvals, s=rvals) +# circles(xvals,yvals, s=rvals, c=rgbs) + circles(xvals,yvals, s=rvals, color=rgbs) +#plt.xlim(0,2000) # TODO - get these values from width,height in .svg at top +#plt.ylim(0,2000) + plt.pause(time_delay) + +step_value = 1 +def press(event): + global current_idx, step_value +# print('press', event.key) + sys.stdout.flush() + if event.key == 'escape': + sys.exit(1) + elif event.key == 'h': # help + print('esc: quit') + print('right arrow: increment by step_value') + print('left arrow: decrement by step_value') + print('up arrow: increment step_value by 1') + print('down arrow: decrement step_value by 1') + print('0: reset to 0th frame') + print('h: help') + elif event.key == 'left': # left arrow key +# print('go backwards') +# fig.canvas.draw() + current_idx -= step_value + if (current_idx < 0): + current_idx = 0 + plot_svg() + elif event.key == 'right': # right arrow key +# print('go forwards') +# fig.canvas.draw() + current_idx += step_value + plot_svg() + elif event.key == 'up': # up arrow key + step_value += 1 + print('step_value=',step_value) + elif event.key == 'down': # down arrow key + step_value -= 1 + if (step_value <= 0): + step_value = 1 + print('step_value=',step_value) + elif event.key == '0': # reset to 0th frame/file + current_idx = 0 + plot_svg() + else: + print('press', event.key) + + +#for current_idx in range(40): +# fname = "snapshot%08d.svg" % current_idx +# plot_svg(fname) +while True: + svg_files = glob.glob('snap*.svg') + for current_idx in range(len(svg_files)): + plot_svg() +#print("\nNOTE: click in plot window to give it focus before using keys.") + +# fig.canvas.mpl_connect('key_press_event', press) + +# keep last plot displayed +#plt.ioff() +plt.show() diff --git a/plotting/anim_svg_substrate.py b/plotting/anim_svg_substrate.py new file mode 100644 index 0000000..fc479f6 --- /dev/null +++ b/plotting/anim_svg_substrate.py @@ -0,0 +1,403 @@ +# +# anim_svg_substrate.py: render/animate PhysiCell .svg (cells) and .mat (substrate) files, +# using left/right arrows on keyboard +# +# Note: this version uses the 'scatter' method of matplotlib to plot cells, therefore they will not +# have their absolute radii. This version needs to be updated to use the "circles()" function in anim_svg.py +# +# Usage: +# IMPORTANT! - on macOS, use 'pythonw' instead of 'python' +# pythonw anim_svg_substrate.py show_nucleus start_index svg_xmin svg_xmax svg_ymin svg_ymin xmin xmax ymin ymax scale_radius field_idx + +# or, +# pythonw anim_svg_substrate.py show_nucleus start_index svg_xmin svg_xmax svg_ymin svg_ymin xmin xmax ymin ymax scale_radius field_idx +# +# Keyboard arrows: right/left arrows will single step forward/backward; up/down will increment/decrement step size +# +# Dependencies include matplotlib and numpy. We recommend installing the Anaconda Python3 distribution. +# +# Example: +# pythonw anim_svg_substrate.py 0 0 0 2000 0 2000 -1000 1000 -1000 1000 1 0 +# +# Author: Randy Heiland +# +import sys,pathlib +import xml.etree.ElementTree as ET +import os +import math +import matplotlib.colors as mplc +from collections import deque +import scipy.io +import matplotlib +#import matplotlib.pyplot as plt # NB! do this AFTER the TkAgg line below! +#import matplotlib.colors as mplc +from matplotlib.colors import BoundaryNorm +from matplotlib.ticker import MaxNLocator +import numpy as np +from numpy.random import randn + + +try: + # apparently we need mpl's Qt backend to do keypresses +# matplotlib.use("Qt5Agg") + matplotlib.use("TkAgg") + import matplotlib.pyplot as plt +except: + print("\n---Error: cannot use matplotlib's TkAgg backend") +# print("Consider installing Anaconda's Python 3 distribution.") + raise + + +current_idx = 0 + + +# if (len(sys.argv) < 3): +# current_idx = 0 +# field_idx = 4 +# fix_cmap = 0 +# print("Usage: %s start_idx field_idx fix_cmap(0/1) vmin vmax" % sys.argv[0]) +# print("e.g. %s start_idx field_idx fix_cmap(0/1) vmin vmax\n" % sys.argv[0]) +# else: +# kdx = 1 +# current_idx = int(sys.argv[kdx]); kdx += 1 +# field_idx = int(sys.argv[kdx]); kdx += 1 +# fix_cmap = int(sys.argv[kdx]); kdx += 1 +# vmin = float(sys.argv[kdx]); kdx += 1 +# vmax = float(sys.argv[kdx]); kdx += 1 + + +current_idx = 0 +print("# args=",len(sys.argv)-1) + +#for idx in range(len(sys.argv)): +use_defaults = True +show_nucleus = 0 +current_idx = 0 +xmin = 0.0 +xmax = 1000 # but overridden by "width" attribute in .svg + +vmin = 0.0 +vmax = 1050 +fix_cmap = 0 + +scale_radius = 1.0 +if (len(sys.argv) == 13): + use_defaults = False + kdx = 1 + show_nucleus = int(sys.argv[kdx]) + kdx += 1 + current_idx = int(sys.argv[kdx]) + kdx += 1 + svg_xmin = float(sys.argv[kdx]) + kdx += 1 + svg_xmax = float(sys.argv[kdx]) + kdx += 1 + svg_ymin = float(sys.argv[kdx]) + kdx += 1 + svg_ymax = float(sys.argv[kdx]) + kdx += 1 + xmin = float(sys.argv[kdx]) + kdx += 1 + xmax = float(sys.argv[kdx]) + kdx += 1 + ymin = float(sys.argv[kdx]) + kdx += 1 + ymax = float(sys.argv[kdx]) + kdx += 1 + scale_radius = float(sys.argv[kdx]) + kdx += 1 + field_idx = int(sys.argv[kdx]) +else: + print("Usage:") + usage_str = "show_nucleus start_index svg_xmin svg_xmax svg_ymin svg_ymin xmin xmax ymin ymax scale_radius field_idx" + print(usage_str) + print("e.g.,") + eg_str = "%s 0 0 0 2000 1 0" % (sys.argv[0]) + print(eg_str) + sys.exit(1) + +#field_idx = 0 +field_idx += 4 + +print('current_idx, field_idx = ',current_idx, field_idx) + +# figure out the domain sizes (might not be square) +ifname = "initial.xml" +tree = ET.parse(ifname) +xml_root = tree.getroot() +xcoord_vals = xml_root.find(".//x_coordinates").text.split() +ycoord_vals = xml_root.find(".//y_coordinates").text.split() +xmin = float(xcoord_vals[0]) +xmax = float(xcoord_vals[-1]) # should be 999.0 +ymin = float(ycoord_vals[0]) +ymax = float(ycoord_vals[-1]) # should be 999.0 + +# numx = int((xmax - xmin) / xdel) # need to also round maybe? +# numy = int((ymax - ymin) / ydel) +numx = len(xcoord_vals) +numy = len(ycoord_vals) +print("numx, numy = ",numx,numy) + + +fig = plt.figure(figsize=(7,5.8)) +#ax = fig.gca() + +time_delay = 0.1 +count = -1 + +cbar = None + +def plot_substrate(): + global current_idx, axes_max, cbar + + # select whichever substrate index you want, e.g., for one model: + # 4=tumor cells field, 5=blood vessel density, 6=growth substrate + + xml_file = "output%08d.xml" % current_idx + tree = ET.parse(xml_file) + root = tree.getroot() +# print('time=' + root.find(".//current_time").text) + mins = float(root.find(".//current_time").text) + hrs = mins/60. + days = hrs/24. + title_str = '%d days, %d hrs, %d mins' % (int(days),(hrs%24), mins - (hrs*60)) +# print(title_str) + + fname = "output%08d_microenvironment0.mat" % current_idx + output_dir_str = '.' + fullname = output_dir_str + "/" + fname + if not pathlib.Path(fullname).is_file(): + print("file not found",fullname) + return + + info_dict = {} + scipy.io.loadmat(fullname, info_dict) + M = info_dict['multiscale_microenvironment'] + print('plot_substrate: field_idx=',field_idx) + f = M[field_idx,:] # + + #N = int(math.sqrt(len(M[0,:]))) + #grid2D = M[0,:].reshape(N,N) + xgrid = M[0, :].reshape(numy, numx) + ygrid = M[1, :].reshape(numy, numx) + +# xvec = grid2D[0,:] + #xvec.size + #xvec.shape + num_contours = 30 + num_contours = 10 +# vmin = 30. +# vmax = 38. + + levels = MaxNLocator(nbins=30).tick_values(vmin, vmax) +# cmap = plt.get_cmap('PiYG') + cmap = plt.get_cmap('viridis') + norm = BoundaryNorm(levels, ncolors=cmap.N, clip=True) + +# my_plot = plt.contourf(xvec,xvec,M[field_idx,:].reshape(N,N), num_contours, cmap='viridis') #'viridis' + if fix_cmap > 0: + # my_plot = plt.contourf(xvec,xvec,M[field_idx,:].reshape(N,N), levels=levels, cmap=cmap) + my_plot = plt.contourf(xgrid, ygrid, M[field_idx, :].reshape(numy, numx), levels=levels, extend='both', cmap=cmap) + else: + # my_plot = plt.contourf(xvec,xvec,M[field_idx,:].reshape(N,N), cmap=cmap) + my_plot = plt.contourf(xgrid, ygrid, M[field_idx, :].reshape(numy, numx), cmap=cmap) + + if cbar == None: +# cbar = plt.colorbar(my_plot, boundaries=np.arange(vmin, vmax, 1.0)) + cbar = plt.colorbar(my_plot) + else: + cbar = plt.colorbar(my_plot, cax=cbar.ax) + +# plt.axis('equal') + plt.title(title_str) + +# plt.show() + + png_file = "aaa%08d.png" % current_idx +# fig.savefig(png_file) +# plt.pause(time_delay) + +#-------------------------------------------- +def plot_svg(): + global current_idx, axes_max + fname = "snapshot%08d.svg" % current_idx + if (os.path.isfile(fname) == False): + print("File does not exist: ",fname) + return + + xlist = deque() + ylist = deque() + rlist = deque() + rgb_list = deque() + +# print('\n---- ' + fname + ':') + tree = ET.parse(fname) + root = tree.getroot() +# print('--- root.tag ---') +# print(root.tag) +# print('--- root.attrib ---') +# print(root.attrib) + + +# print('--- child.tag, child.attrib ---') + numChildren = 0 + for child in root: +# print(child.tag, child.attrib) +# print("keys=",child.attrib.keys()) + if use_defaults and ('width' in child.attrib.keys()): + axes_max = float(child.attrib['width']) +# print("--- found width --> axes_max =", axes_max) + if child.text and "Current time" in child.text: + svals = child.text.split() + title_str = "(" + str(current_idx) + ") Current time: " + svals[2] + "d, " + svals[4] + "h, " + svals[7] + "m" + +# print("width ",child.attrib['width']) +# print('attrib=',child.attrib) +# if (child.attrib['id'] == 'tissue'): + if ('id' in child.attrib.keys()): +# print('-------- found tissue!!') + tissue_parent = child + break + +# print('------ search tissue') + cells_parent = None + + for child in tissue_parent: +# print('attrib=',child.attrib) + if (child.attrib['id'] == 'cells'): +# print('-------- found cells, setting cells_parent') + cells_parent = child + break + numChildren += 1 + + + num_cells = 0 + svg_xrange = svg_xmax - svg_xmin + svg_yrange = svg_ymax - svg_ymin + x_range = xmax - xmin + y_range = ymax - ymin +# print('------ search cells') + for child in cells_parent: +# print(child.tag, child.attrib) +# print('attrib=',child.attrib) + for circle in child: # two circles in each child: outer + nucleus + # circle.attrib={'cx': '1085.59','cy': '1225.24','fill': 'rgb(159,159,96)','r': '6.67717','stroke': 'rgb(159,159,96)','stroke-width': '0.5'} +# print(' --- cx,cy=',circle.attrib['cx'],circle.attrib['cy']) + xval = float(circle.attrib['cx']) + # map into desired coord sys (same as substrate mesh) + xval = (xval-svg_xmin)/svg_xrange * x_range + xmin + + s = circle.attrib['fill'] +# print("s=",s) +# print("type(s)=",type(s)) + if (s[0:3] == "rgb"): # if an rgb string, e.g. "rgb(175,175,80)" + rgb = list(map(int, s[4:-1].split(","))) + rgb[:]=[x/255. for x in rgb] + else: # otherwise, must be a color name + rgb_tuple = mplc.to_rgb(mplc.cnames[s]) # a tuple + rgb = [x for x in rgb_tuple] + + # test for bogus x,y locations (rwh TODO: use max of domain?) + too_large_val = 10000. + if (math.fabs(xval) > too_large_val): + print("bogus xval=",xval) + break + yval = float(circle.attrib['cy']) + if (math.fabs(yval) > too_large_val): + print("bogus xval=",xval) + break + # map into desired coord sys (same as substrate mesh) + yval = (yval-svg_ymin)/svg_yrange * y_range + ymin + + rval = float(circle.attrib['r']) +# if (rgb[0] > rgb[1]): +# print(num_cells,rgb, rval) + xlist.append(xval) + ylist.append(yval) + rlist.append(rval) + rgb_list.append(rgb) + +# For .svg files with cells that *have* a nucleus, there will be a 2nd + if (show_nucleus == 0): + break + + num_cells += 1 + +# if num_cells > 3: # for debugging +# print(fname,': num_cells= ',num_cells," --- debug exit.") +# sys.exit(1) +# break + + print(fname,': num_cells= ',num_cells) + + xvals = np.array(xlist) + yvals = np.array(ylist) + rvals = np.array(rlist) + rgbs = np.array(rgb_list) +#print("xvals[0:5]=",xvals[0:5]) +#print("rvals[0:5]=",rvals[0:5]) +# print("rvals.min, max=",rvals.min(),rvals.max()) + +# plt.cla() + title_str += " (" + str(num_cells) + " agents)" + plt.title(title_str) + # axes range labels + plt.xlim(xmin,xmax) + plt.ylim(ymin,ymax) + plt.scatter(xvals,yvals, s=rvals*scale_radius, c=rgbs) +#plt.xlim(0,2000) # TODO - get these values from width,height in .svg at top +#plt.ylim(0,2000) + plt.pause(time_delay) + +step_value = 1 +def press(event): + global current_idx, step_value +# print('press', event.key) + sys.stdout.flush() + if event.key == 'escape': + sys.exit(1) + elif event.key == 'h': # help + print('esc: quit') + print('right arrow: increment by step_value') + print('left arrow: decrement by step_value') + print('up arrow: increment step_value by 1') + print('down arrow: decrement step_value by 1') + print('0: reset to 0th frame') + print('h: help') + elif event.key == 'left': # left arrow key +# print('go backwards') +# fig.canvas.draw() + current_idx -= step_value + if (current_idx < 0): + current_idx = 0 + plot_substrate() + plot_svg() + elif event.key == 'right': # right arrow key +# print('go forwards') +# fig.canvas.draw() + current_idx += step_value + plot_substrate() + plot_svg() + elif event.key == 'up': # up arrow key + step_value += 1 + print('step_value=',step_value) + elif event.key == 'down': # down arrow key + step_value -= 1 + if (step_value <= 0): + step_value = 1 + print('step_value=',step_value) + elif event.key == '0': # reset to 0th frame/file + current_idx = 0 + plot_substrate() + plot_svg() + else: + print('press', event.key) + +plot_substrate() +plot_svg() +print("\nNOTE: click in plot window to give it focus before using keys.") + +fig.canvas.mpl_connect('key_press_event', press) +#plot_substrate(frame_idx) +plt.show() + diff --git a/pyMCDS.py b/pyMCDS.py new file mode 100644 index 0000000..5982b73 --- /dev/null +++ b/pyMCDS.py @@ -0,0 +1,530 @@ +import xml.etree.ElementTree as ET +import numpy as np +import pandas as pd +import scipy.io as sio +import sys +import warnings +from pathlib import Path + +class pyMCDS: + """ + This class contains a dictionary of dictionaries that contains all of the + output from a single time step of a PhysiCell Model. This class assumes that + all output files are stored in the same directory. Data is loaded by reading + the .xml file for a particular timestep. + + Parameters + ---------- + xml_name: str + String containing the name of the xml file without the path + output_path: str, optional + String containing the path (relative or absolute) to the directory + where PhysiCell output files are stored (default= ".") + + Attributes + ---------- + data : dict + Hierarchical container for all of the data retrieved by parsing the xml + file and the files referenced therein. + """ + def __init__(self, xml_file, output_path='.'): + self.data = self._read_xml(xml_file, output_path) + + ## METADATA RELATED FUNCTIONS + + def get_time(self): + return self.data['metadata']['current_time'] + + ## MESH RELATED FUNCTIONS + + def get_mesh(self, flat=False): + """ + Return a meshgrid of the computational domain. Can return either full + 3D or a 2D plane for contour plots. + + Parameters + ---------- + flat : bool + If flat is set to true, we return only the x and y meshgrid. + Otherwise we return x, y, and z + + Returns + ------- + splitting : list length=2 if flat=True, else length=3 + Contains arrays of voxel center coordinates as meshgrid with shape + [nx_voxel, ny_voxel, nz_voxel] or [nx_voxel, ny_voxel] if flat=True. + """ + if flat == True: + xx = self.data['mesh']['x_coordinates'][:, :, 0] + yy = self.data['mesh']['y_coordinates'][:, :, 0] + + return [xx, yy] + + # if we dont want a plane just return appropriate values + else: + xx = self.data['mesh']['x_coordinates'] + yy = self.data['mesh']['y_coordinates'] + zz = self.data['mesh']['z_coordinates'] + + return [xx, yy, zz] + + def get_2D_mesh(self): + """ + This function returns the x, y meshgrid as two numpy arrays. It is + identical to get_mesh with the option flat=True + + Returns + ------- + splitting : list length=2 + Contains arrays of voxel center coordinates in x and y dimensions + as meshgrid with shape [nx_voxel, ny_voxel] + """ + xx = self.data['mesh']['x_coordinates'][:, :, 0] + yy = self.data['mesh']['y_coordinates'][:, :, 0] + + return [xx, yy] + + def get_linear_voxels(self): + """ + Helper function to quickly grab voxel centers array stored linearly as + opposed to meshgrid-style. + """ + return self.data['mesh']['voxels']['centers'] + + def get_mesh_spacing(self): + """ + Returns the space in between voxel centers for the mesh in terms of the + mesh's spatial units. Assumes that voxel centers fall on integer values. + + Returns + ------- + dx : float + Distance between voxel centers in the same units as the other + spatial measurements + """ + centers = self.get_linear_voxels() + X = np.unique(centers[0, :]) + Y = np.unique(centers[1, :]) + Z = np.unique(centers[2, :]) + + dx = (X.max() - X.min()) / X.shape[0] + dy = (Y.max() - Y.min()) / Y.shape[0] + dz = (Z.max() - Z.min()) / Z.shape[0] + + if np.abs(dx - dy) > 1e-10 or np.abs(dy - dz) > 1e-10 \ + or np.abs(dx - dz) > 1e-10: + print('Warning: grid spacing may be axis dependent.') + + return round(dx) + + def get_containing_voxel_ijk(self, x, y, z): + """ + Internal function to get the meshgrid indices for the center of a voxel + that contains the given position. + + Note that pyMCDS stores meshgrids as 'cartesian' + (indexing='xy' in np.meshgrid) which means that we will have + to use these indices as [j, i, k] on the actual meshgrid objects + + Parameters + ---------- + x : float + x-coordinate for the position + y : float + y-coordinate for the position + z : float + z-coordinate for the position + + Returns + ------- + ijk : list length=3 + contains the i, j, and k indices for the containing voxel's center + """ + xx, yy, zz = self.get_mesh() + ds = self.get_mesh_spacing() + + if x > xx.max(): + warnings.warn('Position out of bounds: x out of bounds in pyMCDS._get_voxel_idx({0}, {1}, {2}). Setting x = x_max!'.format(x, y, z)) + x = xx.max() + elif x < xx.min(): + warnings.warn('Position out of bounds: x out of bounds in pyMCDS._get_voxel_idx({0}, {1}, {2}). Setting x = x_min!'.format(x, y, z)) + x = xx.min() + elif y > yy.max(): + warnings.warn('Position out of bounds: y out of bounds in pyMCDS._get_voxel_idx({0}, {1}, {2}). Setting y = y_max!'.format(x, y, z)) + y = yy.max() + elif y < yy.min(): + warnings.warn('Position out of bounds: y out of bounds in pyMCDS._get_voxel_idx({0}, {1}, {2}). Setting y = y_min!'.format(x, y, z)) + y = yy.min() + elif z > zz.max(): + warnings.warn('Position out of bounds: z out of bounds in pyMCDS._get_voxel_idx({0}, {1}, {2}). Setting z = z_max!'.format(x, y, z)) + z = zz.max() + elif z < zz.min(): + warnings.warn('Position out of bounds: z out of bounds in pyMCDS._get_voxel_idx({0}, {1}, {2}). Setting z = z_min!'.format(x, y, z)) + z = zz.min() + + i = np.round((x - xx.min()) / ds) + j = np.round((y - yy.min()) / ds) + k = np.round((z - zz.min()) / ds) + + ii, jj, kk = int(i), int(j), int(k) + + return [ii, jj, kk] + + ## MICROENVIRONMENT RELATED FUNCTIONS + + def get_substrate_names(self): + """ + Returns list of chemical species in microenvironment + + Returns + ------- + species_list : array (str), shape=[n_species,] + Contains names of chemical species in microenvironment + """ + species_list = [] + for name in self.data['continuum_variables']: + species_list.append(name) + + return species_list + + def get_concentrations(self, species_name, z_slice=None): + """ + Returns the concentration array for the specified chemical species + in the microenvironment. Can return either the whole 3D picture, or + a 2D plane of concentrations. + + Parameters + ---------- + species_name : str + Name of the chemical species for which to get concentrations + + z_slice : float + z-axis position to use as plane for 2D output. This value must match + a plane of voxel centers in the z-axis. + Returns + ------- + conc_arr : array (np.float64) shape=[nx_voxels, ny_voxels, nz_voxels] + Contains the concentration of the specified chemical in each voxel. + The array spatially maps to a meshgrid of the voxel centers. + """ + if z_slice is not None: + # check to see that z_slice is a valid plane + zz = self.data['mesh']['z_coordinates'] + assert z_slice in zz, 'Specified z_slice {} not in z_coordinates'.format(z_slice) + + # do the processing if its ok + mask = zz == z_slice + full_conc = self.data['continuum_variables'][species_name]['data'] + conc_arr = full_conc[mask].reshape((zz.shape[0], zz.shape[1])) + else: + conc_arr = self.data['continuum_variables'][species_name]['data'] + + return conc_arr + + def get_concentrations_at(self, x, y, z): + """ + Return concentrations of each chemical species inside a particular voxel + that contains the point described in the arguments. + + Parameters + ---------- + x : float + x-position for the point of interest + y : float + y_position for the point of interest + z : float + z_position for the point of interest + + Returns + ------- + concs : array, shape=[n_substrates,] + array of concentrations in the order given by get_substrate_names() + """ + i, j, k = self.get_containing_voxel_ijk(x, y, z) + sub_name_list = self.get_substrate_names() + concs = np.zeros(len(sub_name_list)) + + for ix in range(len(sub_name_list)): + concs[ix] = self.get_concentrations(sub_name_list[ix])[j, i, k] + + return concs + + + ## CELL RELATED FUNCTIONS + + def get_cell_df(self): + """ + Builds DataFrame from data['discrete_cells'] + + Returns + ------- + cells_df : pd.Dataframe, shape=[n_cells, n_variables] + Dataframe containing the cell data for all cells at this time step + """ + cells_df = pd.DataFrame(self.data['discrete_cells']) + return cells_df + + def get_cell_variables(self): + """ + Returns the names of all of the cell variables tracked in ['discrete cells'] + dictionary + + Returns + ------- + var_list : list, shape=[n_variables] + Contains the names of the cell variables + """ + var_list = [] + for name in self.data['discrete_cells']: + var_list.append(name) + return var_list + + def get_cell_df_at(self, x, y, z): + """ + Returns a dataframe for cells in the same voxel as the position given by + x, y, and z. + + Parameters + ---------- + x : float + x-position for the point of interest + y : float + y_position for the point of interest + z : float + z_position for the point of interest + + Returns + ------- + vox_df : pd.DataFrame, shape=[n_cell_in_voxel, n_variables] + cell dataframe containing only cells in the same voxel as the point + specified by x, y, and z. + """ + ds = self.get_mesh_spacing() + xx, yy, zz = self.get_mesh() + i, j, k = self.get_containing_voxel_ijk(x, y, z) + x_vox = xx[j, i, k] + y_vox = yy[j, i, k] + z_vox = zz[j, i, k] + + cell_df = self.get_cell_df() + inside_voxel = ( (cell_df['position_x'] < x_vox + ds/2.) & + (cell_df['position_x'] > x_vox - ds/2.) & + (cell_df['position_y'] < y_vox + ds/2.) & + (cell_df['position_y'] > y_vox - ds/2.) & + (cell_df['position_z'] < z_vox + ds/2.) & + (cell_df['position_z'] > z_vox - ds/2.) ) + vox_df = cell_df[inside_voxel] + return vox_df + + def _read_xml(self, xml_file, output_path='.'): + """ + Does the actual work of initializing MultiCellDS by parsing the xml + """ + + output_path = Path(output_path) + xml_file = output_path / xml_file + tree = ET.parse(xml_file) + + print('Reading {}'.format(xml_file)) + + root = tree.getroot() + MCDS = {} + + # Get current simulated time + metadata_node = root.find('metadata') + time_node = metadata_node.find('current_time') + MCDS['metadata'] = {} + MCDS['metadata']['current_time'] = float(time_node.text) + MCDS['metadata']['time_units'] = time_node.get('units') + + # Get current runtime + time_node = metadata_node.find('current_runtime') + MCDS['metadata']['current_runtime'] = float(time_node.text) + MCDS['metadata']['runtime_units'] = time_node.get('units') + + # find the microenvironment node + me_node = root.find('microenvironment') + me_node = me_node.find('domain') + + # find the mesh node + mesh_node = me_node.find('mesh') + MCDS['metadata']['spatial_units'] = mesh_node.get('units') + MCDS['mesh'] = {} + + # while we're at it, find the mesh + coord_str = mesh_node.find('x_coordinates').text + delimiter = mesh_node.find('x_coordinates').get('delimiter') + x_coords = np.array(coord_str.split(delimiter), dtype=np.float64) + + coord_str = mesh_node.find('y_coordinates').text + delimiter = mesh_node.find('y_coordinates').get('delimiter') + y_coords = np.array(coord_str.split(delimiter), dtype=np.float64) + + coord_str = mesh_node.find('z_coordinates').text + delimiter = mesh_node.find('z_coordinates').get('delimiter') + z_coords = np.array(coord_str.split(delimiter), dtype=np.float64) + + # reshape into a mesh grid + xx, yy, zz = np.meshgrid(x_coords, y_coords, z_coords) + + MCDS['mesh']['x_coordinates'] = xx + MCDS['mesh']['y_coordinates'] = yy + MCDS['mesh']['z_coordinates'] = zz + + # Voxel data must be loaded from .mat file + voxel_file = mesh_node.find('voxels').find('filename').text + voxel_path = output_path / voxel_file + try: + initial_mesh = sio.loadmat(voxel_path)['mesh'] + except: + raise FileNotFoundError( + "No such file or directory:\n'{}' referenced in '{}'".format(voxel_path, xml_file)) + sys.exit(1) + + print('Reading {}'.format(voxel_path)) + + # center of voxel specified by first three rows [ x, y, z ] + # volume specified by fourth row + MCDS['mesh']['voxels'] = {} + MCDS['mesh']['voxels']['centers'] = initial_mesh[:3, :] + MCDS['mesh']['voxels']['volumes'] = initial_mesh[3, :] + + # Continuum_variables, unlike in the matlab version the individual chemical + # species will be primarily accessed through their names e.g. + # MCDS['continuum_variables']['oxygen']['units'] + # MCDS['continuum_variables']['glucose']['data'] + MCDS['continuum_variables'] = {} + variables_node = me_node.find('variables') + file_node = me_node.find('data').find('filename') + + # micro environment data is shape [4+n, len(voxels)] where n is the number + # of species being tracked. the first 3 rows represent (x, y, z) of voxel + # centers. The fourth row contains the voxel volume. The 5th row and up will + # contain values for that species in that voxel. + me_file = file_node.text + me_path = output_path / me_file + # Changes here + try: + me_data = sio.loadmat(me_path)['multiscale_microenvironment'] + except: + raise FileNotFoundError( + "No such file or directory:\n'{}' referenced in '{}'".format(me_path, xml_file)) + sys.exit(1) + + print('Reading {}'.format(me_path)) + + var_children = variables_node.findall('variable') + + # we're going to need the linear x, y, and z coordinates later + # but we dont need to get them in the loop + X, Y, Z = np.unique(xx), np.unique(yy), np.unique(zz) + + for si, species in enumerate(var_children): + species_name = species.get('name') + MCDS['continuum_variables'][species_name] = {} + MCDS['continuum_variables'][species_name]['units'] = species.get( + 'units') + + print('Parsing {:s} data'.format(species_name)) + + # initialize array for concentration data + MCDS['continuum_variables'][species_name]['data'] = np.zeros(xx.shape) + + # travel down one level on tree + species = species.find('physical_parameter_set') + + # diffusion data for each species + MCDS['continuum_variables'][species_name]['diffusion_coefficient'] = {} + MCDS['continuum_variables'][species_name]['diffusion_coefficient']['value'] \ + = float(species.find('diffusion_coefficient').text) + MCDS['continuum_variables'][species_name]['diffusion_coefficient']['units'] \ + = species.find('diffusion_coefficient').get('units') + + # decay data for each species + MCDS['continuum_variables'][species_name]['decay_rate'] = {} + MCDS['continuum_variables'][species_name]['decay_rate']['value'] \ + = float(species.find('decay_rate').text) + MCDS['continuum_variables'][species_name]['decay_rate']['units'] \ + = species.find('decay_rate').get('units') + + # store data from microenvironment file as numpy array + # iterate over each voxel + for vox_idx in range(MCDS['mesh']['voxels']['centers'].shape[1]): + # find the center + center = MCDS['mesh']['voxels']['centers'][:, vox_idx] + + i = np.where(np.abs(center[0] - X) < 1e-10)[0][0] + j = np.where(np.abs(center[1] - Y) < 1e-10)[0][0] + k = np.where(np.abs(center[2] - Z) < 1e-10)[0][0] + + MCDS['continuum_variables'][species_name]['data'][j, i, k] \ + = me_data[4+si, vox_idx] + + # in order to get to the good stuff we have to pass through a few different + # hierarchal levels + cell_node = root.find('cellular_information') + cell_node = cell_node.find('cell_populations') + cell_node = cell_node.find('cell_population') + cell_node = cell_node.find('custom') + # we want the PhysiCell data, there is more of it + for child in cell_node.findall('simplified_data'): + if child.get('source') == 'PhysiCell': + cell_node = child + break + + print( 'working on discrete cell data...\n') + + MCDS['discrete_cells'] = {} + data_labels = [] + # iterate over 'label's which are children of 'labels' these will be used to + # label data arrays + n = 0; + for label in cell_node.find('labels').findall('label'): + # I don't like spaces in my dictionary keys + fixed_label = label.text.replace(' ', '_') + nlabels = int(label.get('size')) + if nlabels > 1: + # tags to differentiate repeated labels (usually space related) + # print("n=",n) + spatial_type = False; + if( fixed_label == 'position' ): + spatial_type = True; + elif( fixed_label == 'orientation' ): + spatial_type = True; + elif( fixed_label == 'velocity' ): + spatial_type = True; + elif( fixed_label == 'migration_bias_direction' ): + spatial_type = True; + elif( fixed_label == 'motility_vector' ): + spatial_type = True; + + if( nlabels == 3 and spatial_type == True ): + dir_label = ['_x', '_y', '_z'] + else: + dir_label = []; + for nn in range(100): + dir_label.append( '_%u' % nn ) + # print( dir_label ) + for i in range(int(label.get('size'))): + # print( fixed_label + dir_label[i] ) + data_labels.append(fixed_label + dir_label[i]) + else: + data_labels.append(fixed_label) + # print(fixed_label) + n += 1 + # load the file + cell_file = cell_node.find('filename').text + cell_path = output_path / cell_file + try: + cell_data = sio.loadmat(cell_path)['cells'] + except: + raise FileNotFoundError( + "No such file or directory:\n'{}' referenced in '{}'".format(cell_path, xml_file)) + sys.exit(1) + + print('Reading {}'.format(cell_path)) + + for col in range(len(data_labels)): + MCDS['discrete_cells'][data_labels[col]] = cell_data[col, :] + + return MCDS diff --git a/pyMCDS_timeseries.py b/pyMCDS_timeseries.py new file mode 100644 index 0000000..a4a1e22 --- /dev/null +++ b/pyMCDS_timeseries.py @@ -0,0 +1,95 @@ +import numpy as np +import matplotlib.pyplot as plt +from pathlib import Path +from pyMCDS import pyMCDS + +class pyMCDS_timeseries: + ''' + This class contains a np.array of pyMCDS objects as well as functions for + extracting information from that list. + + Parameters + ---------- + output_path : string + String containing the path (relative or absolute) to the directory + containing the PhysiCell output files + + Attributes + ---------- + timeseries : array-like (pyMCDS) [n_timesteps,] + Numpy array of pyMCDS objects sorted by time. + ''' + def __init__(self, output_path='.'): + # get a generator of output xml files sorted alphanumerically + sorted_files = sorted(Path(output_path).glob('output*.xml')) + + # make a big array to keep them all, create a pyMCDS object with each + # self.timeseries = np.empty(len(sorted_files), dtype=pyMCDS) + # first we'll do a list, if its slow we'll figure out the array + ts_list = [] + for f in sorted_files: + ts_list.append(pyMCDS(f.name, output_path)) + + self.timeseries = np.array(ts_list) + + def get_times(self): + ''' + Helper function to easily return the cumulative time at each step. + + Returns + ------- + time_array : ndaray (np.float64) [n_timesteps,] + Contains the 'current time' at each recorded point. + ''' + time_array = np.zeros(self.timeseries.shape[0]) + for i in range(len(self.timeseries)): + time_array[i] = self.timeseries[i].get_time() + + return time_array + + def plot_menv_total(self, species): + ''' + Plot total concentration of chemicals in the system over time. + + Parameters + ---------- + species : array-like (string) or string + Name os names of chemical species to plot + ''' + # set up arrays, quicker than lists + times = self.get_times() + total_conc = np.zeros((times.shape[0], len(species))) + # iterate over the times to fill array + for time in range(times.shape[0]): + # iterate over the chemical species to fill array + for i in range(len(species)): + conc_arr = self.timeseries[time].get_concentrations(species[i]) + total_conc[time, i] = np.sum(conc_arr) + # establish plots + fig, ax = plt.subplots(figsize=(10, 8)) + # add plot elements and show plot + for i, chem in enumerate(species): + ax.plot(times, total_conc[:, i], label=chem) + ax.set_xlabel('Time (min)') + ax.set_ylabel('Total concentration') + ax.legend() + plt.show() + + def plot_cell_type_counts(self): + ''' + Plot the absolute counts of different types of cells over time. + ''' + times = self.get_times() + unique_types = np.unique(self.timeseries[0].data['discrete_cells']['cell_type']) + cell_counts = np.zeros((times.shape[0], unique_types.shape[0])) + for time_i in range(times.shape[0]): + df = self.timeseries[time_i].get_cell_df() + counts = df['cell_type'].value_counts() + cell_counts[time_i, :] = counts + fig, ax = plt.subplots(figsize=(10, 8)) + for i in range(cell_counts.shape[1]): + ax.scatter(times, cell_counts[:, i], label=i, s=10) + ax.set_xlabel('Time (min)') + ax.set_ylabel('# of cells in system') + ax.legend() + plt.show() diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index f419399..0000000 --- a/pyproject.toml +++ /dev/null @@ -1,100 +0,0 @@ -##### -# A hatchling based setup module. -# -# See: -# https://packaging.python.org/en/latest/ -# https://packaging.python.org/en/latest/tutorials/packaging-projects/ -# https://hatch.pypa.io/latest/ -# -# releasing a next version on pypi: -# 0. vim pcdl/VERSION.py # increase version number in file -# 1. git add pcdl/VERSION.py -# 2. git status -# 3. git commit -m'@ physicelldataloader : next release.' -# 4. git tag -a v0.0.0 -m'version 0.0.0' -# 5. rm -r dist -# 6. python3 -c "import pcdl; pcdl.uninstall_data()" -# 7. python3 -m build --sdist # make source distribution -# 8. python3 -m build --wheel # make binary distribution python wheel -# 9. twine upload dist/* --verbose -# 10. git push origin -# 11. git push --tag -##### - - -[build-system] -requires = ["hatchling"] -build-backend = "hatchling.build" - - -[project] -# name of the project -# pip install pcdl -# import pcdl -name = "pcdl" -dynamic = ["version"] - -description = "physicell data loader (pcdl) provides a platform independent, python3 based, pip installable interface to load output, generated with the PhysiCell agent based modeling framework, into python3." -readme = "README.md" - -requires-python = ">=3.6, <4" - -license = "BSD-3-Clause" -#license-files = {paths = ["LICENSE"]} - -authors = [ - {name="Elmar Bucher", email="epbucher@iu.edu"} -] -maintainers = [ - {name="Elmar Bucher", email="epbucher@iu.edu"} -] - -keywords = [ - "analysis", - "data", - "physicell", - "python3", -] -classifiers = [ - "Development Status :: 3 - Alpha", - "Intended Audience :: Developers", - "Intended Audience :: Science/Research", - "License :: OSI Approved :: BSD License", - "Programming Language :: Python :: 3 :: Only", - "Topic :: Scientific/Engineering :: Bio-Informatics", -] - -dependencies = [ - "matplotlib", - "numpy", - "pandas", - "requests", - "scipy", -] - - -[project.urls] -"Homepage lab" = "http://www.mathcancer.org/" -"Homepage project" = "http://physicell.org/" -Hompage = "https://github.com/elmbeech/physicelldataloader" -Documentation = "https://github.com/elmbeech/physicelldataloader/tree/master/man" -Issues = "https://github.com/elmbeech/physicelldataloader/issues" -Source = "https://github.com/elmbeech/physicelldataloader" - - -[tool.hatch.version] -path = "pcdl/VERSION.py" - - -[tool.hatch.build.targets.sdist] -include = [ - "/man", - "/pcdl", - "/test", -] -exclude = [ - "/data_timeseries_2d.tar.gz", - "/data_timeseries_3d.tar.gz", - "/.pytest_cache", -] - diff --git a/read_MultiCellDS_xml.py b/read_MultiCellDS_xml.py new file mode 100644 index 0000000..e3af7bb --- /dev/null +++ b/read_MultiCellDS_xml.py @@ -0,0 +1,184 @@ +import xml.etree.ElementTree as ET +import numpy as np +import pandas as pd +import scipy.io as sio +from pathlib import Path + + +def read_MultiCellDS_xml(xml_file, output_path='.'): + """ + Parses xml and returns a dictionary + """ + output_path = Path(output_path) + xml_file = output_path / xml_file + tree = ET.parse(xml_file) + + root = tree.getroot() + MCDS = {} + + # Get current simulated time + metadata_node = root.find('metadata') + time_node = metadata_node.find('current_time') + MCDS['metadata'] = {} + MCDS['metadata']['current_time'] = float(time_node.text) + MCDS['metadata']['time_units'] = time_node.get('units') + + # Get current runtime + time_node = metadata_node.find('current_runtime') + MCDS['metadata']['current_runtime'] = float(time_node.text) + MCDS['metadata']['runtime_units'] = time_node.get('units') + + # find the microenvironment node + me_node = root.find('microenvironment') + me_node = me_node.find('domain') + + # find the mesh node + mesh_node = me_node.find('mesh') + MCDS['metadata']['spatial_units'] = mesh_node.get('units') + MCDS['mesh'] = {} + + # while we're at it, find the mesh + coord_str = mesh_node.find('x_coordinates').text + delimiter = mesh_node.find('x_coordinates').get('delimiter') + x_coords = np.array(coord_str.split(delimiter), dtype=np.float64) + + coord_str = mesh_node.find('y_coordinates').text + delimiter = mesh_node.find('y_coordinates').get('delimiter') + y_coords = np.array(coord_str.split(delimiter), dtype=np.float64) + + coord_str = mesh_node.find('z_coordinates').text + delimiter = mesh_node.find('z_coordinates').get('delimiter') + z_coords = np.array(coord_str.split(delimiter), dtype=np.float64) + + # reshape into a mesh grid + xx, yy, zz = np.meshgrid(x_coords, y_coords, z_coords) + + MCDS['mesh']['x_coordinates'] = xx + MCDS['mesh']['y_coordinates'] = yy + MCDS['mesh']['z_coordinates'] = zz + + # Voxel data must be loaded from .mat file + voxel_file = mesh_node.find('voxels').find('filename').text + voxel_path = output_path / voxel_file + try: + initial_mesh = sio.loadmat(voxel_path)['mesh'] + except: + raise FileNotFoundError( + "No such file or directory:\n'{}' referenced in '{}'".format(voxel_path, xml_file)) + sys.exit(1) + + # center of voxel specified by first three rows [ x, y, z ] + # volume specified by fourth row + MCDS['mesh']['voxels'] = {} + MCDS['mesh']['voxels']['centers'] = initial_mesh[:3, :] + MCDS['mesh']['voxels']['volumes'] = initial_mesh[3, :] + + # Continuum_variables, unlike in the matlab version the individual chemical + # species will be primarily accessed through their names e.g. + # MCDS['continuum_variables']['oxygen']['units'] + # MCDS['continuum_variables']['glucose']['data'] + MCDS['continuum_variables'] = {} + variables_node = me_node.find('variables') + file_node = me_node.find('data').find('filename') + + # micro environment data is shape [4+n, len(voxels)] where n is the number + # of species being tracked. the first 3 rows represent (x, y, z) of voxel + # centers. The fourth row contains the voxel volume. The 5th row and up will + # contain values for that species in that voxel. + me_file = file_node.text + me_path = output_path / me_file + # Changes here + try: + me_data = sio.loadmat(me_path)['multiscale_microenvironment'] + except: + raise FileNotFoundError( + "No such file or directory:\n'{}' referenced in '{}'".format(me_path, xml_file)) + sys.exit(1) + + var_children = variables_node.findall('variable') + + # we're going to need the linear x, y, and z coordinates later + # but we dont need to get them in the loop + X, Y, Z = np.unique(xx), np.unique(yy), np.unique(zz) + + for si, species in enumerate(var_children): + species_name = species.get('name') + MCDS['continuum_variables'][species_name] = {} + MCDS['continuum_variables'][species_name]['units'] = species.get( + 'units') + + # initialize array for concentration data + MCDS['continuum_variables'][species_name]['data'] = np.zeros( + xx.shape) + + # travel down one level on tree + species = species.find('physical_parameter_set') + + # diffusion data for each species + MCDS['continuum_variables'][species_name]['diffusion_coefficient'] = {} + MCDS['continuum_variables'][species_name]['diffusion_coefficient']['value'] \ + = float(species.find('diffusion_coefficient').text) + MCDS['continuum_variables'][species_name]['diffusion_coefficient']['units'] \ + = species.find('diffusion_coefficient').get('units') + + # decay data for each species + MCDS['continuum_variables'][species_name]['decay_rate'] = {} + MCDS['continuum_variables'][species_name]['decay_rate']['value'] \ + = float(species.find('decay_rate').text) + MCDS['continuum_variables'][species_name]['decay_rate']['units'] \ + = species.find('decay_rate').get('units') + + # store data from microenvironment file as numpy array + # iterate over each voxel + for vox_idx in range(MCDS['mesh']['voxels']['centers'].shape[1]): + # find the center + center = MCDS['mesh']['voxels']['centers'][:, vox_idx] + + i = np.where(np.abs(center[0] - X) < 1e-10)[0][0] + j = np.where(np.abs(center[1] - Y) < 1e-10)[0][0] + k = np.where(np.abs(center[2] - Z) < 1e-10)[0][0] + + MCDS['continuum_variables'][species_name]['data'][j, i, k] \ + = me_data[4+si, vox_idx] + + # in order to get to the good stuff we have to pass through a few different + # hierarchal levels + cell_node = root.find('cellular_information') + cell_node = cell_node.find('cell_populations') + cell_node = cell_node.find('cell_population') + cell_node = cell_node.find('custom') + # we want the PhysiCell data, there is more of it + for child in cell_node.findall('simplified_data'): + if child.get('source') == 'PhysiCell': + cell_node = child + break + + MCDS['discrete_cells'] = {} + data_labels = [] + # iterate over 'label's which are children of 'labels' these will be used to + # label data arrays + for label in cell_node.find('labels').findall('label'): + # I don't like spaces in my dictionary keys + fixed_label = label.text.replace(' ', '_') + if int(label.get('size')) > 1: + # tags to differentiate repeated labels (usually space related) + dir_label = ['_x', '_y', '_z'] + for i in range(int(label.get('size'))): + data_labels.append(fixed_label + dir_label[i]) + else: + data_labels.append(fixed_label) + + # load the file + cell_file = cell_node.find('filename').text + cell_path = output_path / cell_file + try: + cell_data = sio.loadmat(cell_path)['cells'] + except: + raise FileNotFoundError( + "No such file or directory:\n'{}' referenced in '{}'".format(cell_path, xml_file)) + sys.exit(1) + + for col in range(len(data_labels)): + MCDS['discrete_cells'][data_labels[col]] = cell_data[col, :] + + return MCDS diff --git a/test/test_snapshot_2d.py b/test/test_snapshot_2d.py deleted file mode 100644 index 76b9187..0000000 --- a/test/test_snapshot_2d.py +++ /dev/null @@ -1,319 +0,0 @@ -##### -# title: test_snapshot_2d.py -# -# language: python3 -# author: bue -# date: 2022-10-15 -# license: BSD 3-Clause -# -# description: -# pytest unit test library for heat.py -# + https://docs.pytest.org/ -# -# note: -# assert actual == expected, message -# == value equality -# is reference equality -# pytest.approx for real values -##### - -# load library -import os -import pathlib -import pcdl - -# const -s_path_2d = str(pathlib.Path(pcdl.__file__).parent.resolve()/'data_timeseries_2d') -s_file_2d = 'output00000024.xml' -s_pathfile_2d = f'{s_path_2d}/{s_file_2d}' - -# test data -if not os.path.exists(s_path_2d): - pcdl.install_data() - -# load physicell data with microenvironment -class TestPyMcdsMicroenvTrue2D(object): - ''' test for pcdl.pyMCDS data loader, the complete data set. ''' - mcds = pcdl.pyMCDS(xmlfile=s_file_2d, output_path=s_path_2d, custom_type={}, microenv=True, graph=True, settingxml=True) - - def test_pyMCDS(self, mcds=mcds): - # load physicell data - print(f'process: pcdl.pyMCDS(xmlfile={s_file_2d}, output_path={s_path_2d}, custom_type={{}}, microenv=True, graph=True, settingxml=True) ...') - assert str(type(mcds)) == "" - - ## metadata related functions - def test_mcds_get_multicellds_version(self, mcds=mcds): - s_mcdsversion = mcds.get_multicellds_version() - assert s_mcdsversion == 'MultiCellDS_2' - - def test_mcds_get_physicell_version(self, mcds=mcds): - s_pcversion = mcds.get_physicell_version() - assert s_pcversion == 'PhysiCell_1.10.4' - - def test_mcds_get_timestamp(self, mcds=mcds): - s_timestamp = mcds.get_timestamp() - assert s_timestamp == '2022-10-19T01:12:20Z' - - def test_mcds_get_time(self, mcds=mcds): - r_time = mcds.get_time() - assert r_time == 1440.0 - - def test_mcds_get_runtime(self, mcds=mcds): - r_runtime = mcds.get_runtime() - assert r_runtime == 35.033598 - - ## mesh related functions - def test_mcds_get_voxel_ijk_range(self, mcds=mcds): - ltr_range = mcds.get_voxel_ijk_range() - assert ltr_range == [(0, 10), (0, 10), (0, 0)] - - def test_mcds_get_mesh_mnp_range(self, mcds=mcds): - ltr_range = mcds.get_mesh_mnp_range() - assert ltr_range == [(-15, 285), (-10, 190), (0, 0)] - - def test_mcds_get_xyz_range(self, mcds=mcds): - ltr_range = mcds.get_xyz_range() - assert ltr_range == [(-30, 300), (-20, 200), (-5, 5)] - - def test_mcds_get_voxel_ijk_axis(self, mcds=mcds): - lar_axis = mcds.get_voxel_ijk_axis() - assert (str(type(lar_axis)) == "") and \ - (len(lar_axis) == 3) and \ - (str(type(lar_axis[0])) == "") and \ - (str(lar_axis[0].dtype) == "int64") and \ - (lar_axis[0].shape == (11,)) and \ - (str(type(lar_axis[1])) == "") and \ - (str(lar_axis[1].dtype) == "int64") and \ - (lar_axis[1].shape == (11,)) and \ - (str(type(lar_axis[2])) == "") and \ - (str(lar_axis[2].dtype) == "int64") and \ - (lar_axis[2].shape == (1,)) - - def test_mcds_get_mesh_mnp_axis(self, mcds=mcds): - lar_axis = mcds.get_mesh_mnp_axis() - assert (str(type(lar_axis)) == "") and \ - (len(lar_axis) == 3) and \ - (str(type(lar_axis[0])) == "") and \ - (str(lar_axis[0].dtype) == "float64") and \ - (lar_axis[0].shape == (11,)) and \ - (str(type(lar_axis[1])) == "") and \ - (str(lar_axis[1].dtype) == "float64") and \ - (lar_axis[1].shape == (11,)) and \ - (str(type(lar_axis[2])) == "") and \ - (str(lar_axis[2].dtype) == "float64") and \ - (lar_axis[2].shape == (1,)) - - def test_mcds_get_mesh_flat_false(self, mcds=mcds): - aar_mesh = mcds.get_mesh(flat=False) - assert (str(type(aar_mesh)) == "") and \ - (len(aar_mesh) == 3) and \ - (str(type(aar_mesh[0])) == "") and \ - (str(aar_mesh[0].dtype) == "float64") and \ - (aar_mesh[0].shape == (11, 11, 1)) and \ - (str(type(aar_mesh[1])) == "") and \ - (str(aar_mesh[1].dtype) == "float64") and \ - (aar_mesh[1].shape == (11, 11, 1)) and \ - (str(type(aar_mesh[2])) == "") and \ - (str(aar_mesh[2].dtype) == "float64") and \ - (aar_mesh[2].shape == (11, 11, 1)) - - def test_mcds_get_mesh_flat_true(self, mcds=mcds): - aar_mesh = mcds.get_mesh(flat=True) - assert (str(type(aar_mesh)) == "") and \ - (len(aar_mesh) == 2) and \ - (str(type(aar_mesh[0])) == "") and \ - (str(aar_mesh[0].dtype) == "float64") and \ - (aar_mesh[0].shape == (11, 11)) and \ - (str(type(aar_mesh[1])) == "") and \ - (str(aar_mesh[1].dtype) == "float64") and \ - (aar_mesh[1].shape == (11, 11)) - - def test_mcds_get_mesh_2d(self, mcds=mcds): - aar_mesh_flat = mcds.get_mesh(flat=True) - aar_mesh_2d = mcds.get_mesh_2D() - assert (str(type(aar_mesh_2d)) == "") and \ - (len(aar_mesh_2d) == 2) and \ - (aar_mesh_2d[0] == aar_mesh_flat[0]).all() and \ - (aar_mesh_2d[1] == aar_mesh_flat[1]).all() - - def test_mcds_get_mesh_coordinate(self, mcds=mcds): - # cube coordinates - ar_m_cube, ar_n_cube, ar_p_cube = mcds.get_mesh(flat=False) - er_m_cube = set(ar_m_cube.flatten()) - er_n_cube = set(ar_n_cube.flatten()) - er_p_cube = set(ar_p_cube.flatten()) - # linear coordinates - aar_voxel = mcds.get_mesh_coordinate() - assert (str(type(aar_voxel)) == "") and \ - (len(aar_voxel) == 3) and \ - (str(type(aar_voxel[0])) == "") and \ - (str(aar_voxel[0].dtype) == "float64") and \ - (set(aar_voxel[0]) == er_m_cube) and \ - (aar_voxel[0].shape == (121,)) and \ - (str(type(aar_voxel[1])) == "") and \ - (str(aar_voxel[1].dtype) == "float64") and \ - (set(aar_voxel[1]) == er_n_cube) and \ - (aar_voxel[1].shape == (121,)) and \ - (str(type(aar_voxel[2])) == "") and \ - (str(aar_voxel[2].dtype) == "float64") and \ - (set(aar_voxel[2]) == er_p_cube) and \ - (aar_voxel[2].shape == (121,)) - - def test_mcds_get_voxel_volume(self, mcds=mcds): - r_volume = mcds.get_voxel_volume() - assert r_volume == 6000.0 - - def test_mcds_get_mesh_spacing(self, mcds=mcds): - lr_spacing = mcds.get_mesh_spacing() - assert lr_spacing == [30.0, 20.0, 1] - - def test_mcds_get_voxel_spacing(self, mcds=mcds): - lr_spacing = mcds.get_voxel_spacing() - assert lr_spacing == [30.0, 20.0, 10.0] - - def test_mcds_is_in_mesh(self, mcds=mcds): - assert mcds.is_in_mesh(x=42, y=42, z=3, halt=False) and \ - not mcds.is_in_mesh(x=-42, y=-42, z=-42, halt=False) - - def test_mcds_get_voxel_ijk(self, mcds=mcds): - li_voxel_0 = mcds.get_voxel_ijk(x=0, y=0, z=0) - li_voxel_1 = mcds.get_voxel_ijk(x=15, y=10, z=0) - li_voxel_2 = mcds.get_voxel_ijk(x=30, y=20, z=0) - assert (li_voxel_0 == [0, 0, 0]) and \ - (li_voxel_1 == [1, 1, 0]) and \ - (li_voxel_2 == [2, 2, 0]) - - ## micro environment related functions - def test_mcds_get_substrate_names(self, mcds=mcds): - ls_substrate = mcds.get_substrate_names() - assert ls_substrate == ['oxygen'] - - def test_mcds_get_substrate_dict(self, mcds=mcds): - ds_substrate = mcds.get_substrate_dict() - assert (str(type(ds_substrate)) == "") and \ - (len(ds_substrate) == 1) - - def test_mcds_get_substrate_df(self, mcds=mcds): - df_substrate = mcds.get_substrate_df() - assert (str(type(df_substrate)) == "") and \ - (df_substrate.shape == (1, 2)) - - def test_mcds_get_concentration(self, mcds=mcds): - ar_conc = mcds.get_concentration(substrate='oxygen', z_slice=None) - assert (str(type(ar_conc)) == "") and \ - (ar_conc.shape == (11, 11, 1)) - - def test_mcds_get_concentration_zslice_meshcenter(self, mcds=mcds): - ar_conc = mcds.get_concentration(substrate='oxygen', z_slice=0) - assert (str(type(ar_conc)) == "") and \ - (ar_conc.shape == (11, 11)) - - def test_mcds_get_concentration_zslice_non_meshcenter(self, mcds=mcds): - ar_conc = mcds.get_concentration(substrate='oxygen', z_slice=-3.333) - assert (str(type(ar_conc)) == "") and \ - (ar_conc.shape == (11, 11)) - - def test_mcds_get_concentration_at(self, mcds=mcds): - ar_conc = mcds.get_concentration_at(x=0, y=0, z=0) - assert (str(type(ar_conc)) == "") and \ - (ar_conc.shape == (1,)) - - def test_mcds_get_concentration_df(self, mcds=mcds): - df_conc = mcds.get_concentration_df(z_slice=None, minstate=0) - assert (str(type(df_conc)) == "") and \ - (df_conc.shape == (121, 7)) - - def test_mcds_get_concentration_df_zslice(self, mcds=mcds): - df_conc = mcds.get_concentration_df(z_slice=0, minstate=1) - assert (str(type(df_conc)) == "") and \ - (df_conc.shape == (121, 7)) - - def test_mcds_get_concentration_df_minstate(self, mcds=mcds): - df_conc = mcds.get_concentration_df(z_slice=None, minstate=2) - assert (str(type(df_conc)) == "") and \ - (df_conc.shape == (121, 7)) - - def test_mcds_get_contour(self, mcds=mcds): - fig = mcds.get_contour( - 'oxygen', - z_slice = -3.333, # test if - vmin = None, # test if - vmax = None, # test if - #alpha = 1, # matplotlib - fill = False, # contour case - #cmap = 'viridis', matplotlib - title = 'test_mcds_get_contour', # test if - #grid = False, # matplotlib - xlim = None, # test if - ylim = None, # test if - xyequal = True, # test if - figsize = None, # test if - ax = None # generate fig ax case - ) - assert(str(type(fig)) == "") - - def test_mcds_get_contourf(self, mcds=mcds): - fig = mcds.get_contour( - 'oxygen', - z_slice = 0, # jum over if - vmin = None, # test if - vmax = None, # test if - #alpha = 1, # matplotlib - fill = True, # contourf case - #cmap = 'viridis', # matplotlib - title = 'test_mcds_get_contourf', # test if - #grid = True, # matplotlib - xlim = None, # test if - ylim = None, # test if - xyequal = True, # test if - figsize = None, # test if - ax = None # generate fig ax case - ) - assert(str(type(fig)) == "") - - ## cell related functions - def test_mcds_get_celltype_dict(self, mcds=mcds): - ds_celltype = mcds.get_celltype_dict() - assert (str(type(ds_celltype)) == "") and \ - (len(ds_celltype) == 1) - - def test_mcds_get_variables(self, mcds=mcds): - ls_variable = mcds.get_cell_variables() - assert (str(type(ls_variable)) == "") and \ - (len(ls_variable) == 77) and \ - (ls_variable[0] == 'ID') - - def test_mcds_get_cell_df(self, mcds=mcds): - df_cell = mcds.get_cell_df(minstate=0) - assert (str(type(df_cell)) == "") and \ - (df_cell.shape == (1099, 92)) - - def test_mcds_get_cell_df_minstate(self, mcds=mcds): - df_cell = mcds.get_cell_df(minstate=2) - assert (str(type(df_cell)) == "") and \ - (df_cell.shape == (1099, 37)) - - def test_mcds_get_cell_df_at(self, mcds=mcds): - df_cell = mcds.get_cell_df_at(x=0, y=0, z=0, minstate=1) - assert (str(type(df_cell)) == "") and \ - (df_cell.shape == (5, 92)) - - ## graph related functions - def test_mcds_get_attached_graph_dict(self, mcds=mcds): - dei_graph = mcds.data['discrete_cells']['graph']['attached_cells'] - assert (str(type(dei_graph)) == "") and \ - (len(dei_graph) == 1099) and \ - (len(dei_graph[1098]) == 0) - - def test_mcds_get_neighbor_graph_dict(self, mcds=mcds): - dei_graph = mcds.data['discrete_cells']['graph']['neighbor_cells'] - assert (str(type(dei_graph)) == "") and \ - (len(dei_graph) == 1099) and \ - (len(dei_graph[1098]) == 7) - - ## unit related functions - def test_mcds_get_unit_df(self, mcds=mcds): - df_unit = mcds.get_unit_df() - assert (str(type(df_unit)) == "") and \ - (df_unit.shape == (82, 1)) - diff --git a/test/test_snapshot_3d.py b/test/test_snapshot_3d.py deleted file mode 100644 index 91ff591..0000000 --- a/test/test_snapshot_3d.py +++ /dev/null @@ -1,334 +0,0 @@ -##### -# title: test_snapshot_3d.py -# -# language: python3 -# author: bue -# date: 2022-10-15 -# license: BSD 3-Clause -# -# description: -# pytest unit test library for heat.py -# + https://docs.pytest.org/ -# -# note: -# assert actual == expected, message -# == value equality -# is reference equality -# pytest.approx for real values -##### - -# load library -import os -import pathlib -import pcdl - -# const -s_path_3d = str(pathlib.Path(pcdl.__file__).parent.resolve()/'data_timeseries_3d') -s_file_3d = 'output00000024.xml' -s_pathfile_3d = f'{s_path_3d}/{s_file_3d}' - -# test data -if not os.path.exists(s_path_3d): - pcdl.install_data() - -# load physicell data shortcut -class TestPyMcdsShortcut3D(object): - ''' test for pcdl.pyMCDS data loader shortcut ''' - - def test_pyMCDS(self): - # load physicell data shortcut - print(f'process: pcdl.pyMCDS(xmlfile={s_pathfile_3d}) ...') - mcds = pcdl.pyMCDS(xmlfile=s_pathfile_3d) - assert str(type(mcds)) == "" - - -# load physicell data with microenvironment -class TestPyMcds3D(object): - ''' test for pcdl.pyMCDS data loader microenvironment True''' - mcds = pcdl.pyMCDS(xmlfile=s_file_3d, output_path=s_path_3d) # custom_type={}, microenv=True, graph=True, settingxml=True - - def test_pyMCDS(self, mcds=mcds): - # load physicell data - print(f'process: pcdl.pyMCDS(xmlfile={s_file_3d}, output_path={s_path_3d}, custom_type={{}}, microenv=True, graph=True, settingxml=True) ...') - assert str(type(mcds)) == "" - - ## metadata related functions - def test_mcds_get_multicellds_version(self, mcds=mcds): - s_mcdsversion = mcds.get_multicellds_version() - assert s_mcdsversion == 'MultiCellDS_2' - - def test_mcds_get_physicell_version(self, mcds=mcds): - s_pcversion = mcds.get_physicell_version() - assert s_pcversion == 'PhysiCell_1.10.4' - - def test_mcds_get_timestamp(self, mcds=mcds): - s_timestamp = mcds.get_timestamp() - assert s_timestamp == '2022-10-18T15:28:37Z' - - def test_mcds_get_time(self, mcds=mcds): - r_time = mcds.get_time() - assert r_time == 1440.0 - - def test_mcds_get_runtime(self, mcds=mcds): - r_runtime = mcds.get_runtime() - assert r_runtime == 313.35264 - - ## mesh related functions - def test_mcds_get_voxel_ijk_range(self, mcds=mcds): - ltr_range = mcds.get_voxel_ijk_range() - assert ltr_range == [(0, 10), (0, 10), (0, 10)] - - def test_mcds_get_mesh_mnp_range(self, mcds=mcds): - ltr_range = mcds.get_mesh_mnp_range() - assert ltr_range == [(-15, 285), (-10, 190), (-5, 95)] - - def test_mcds_get_xyz_range(self, mcds=mcds): - ltr_range = mcds.get_xyz_range() - assert ltr_range == [(-30, 300), (-20, 200), (-10, 100)] - - def test_mcds_get_voxel_ijk_axis(self, mcds=mcds): - lar_axis = mcds.get_voxel_ijk_axis() - assert (str(type(lar_axis)) == "") and \ - (len(lar_axis) == 3) and \ - (str(type(lar_axis[0])) == "") and \ - (str(lar_axis[0].dtype) == "int64") and \ - (lar_axis[0].shape == (11,)) and \ - (str(type(lar_axis[1])) == "") and \ - (str(lar_axis[1].dtype) == "int64") and \ - (lar_axis[1].shape == (11,)) and \ - (str(type(lar_axis[2])) == "") and \ - (str(lar_axis[2].dtype) == "int64") and \ - (lar_axis[2].shape == (11,)) - - def test_mcds_get_mesh_mnp_axis(self, mcds=mcds): - lar_axis = mcds.get_mesh_mnp_axis() - assert (str(type(lar_axis)) == "") and \ - (len(lar_axis) == 3) and \ - (str(type(lar_axis[0])) == "") and \ - (str(lar_axis[0].dtype) == "float64") and \ - (lar_axis[0].shape == (11,)) and \ - (str(type(lar_axis[1])) == "") and \ - (str(lar_axis[1].dtype) == "float64") and \ - (lar_axis[1].shape == (11,)) and \ - (str(type(lar_axis[2])) == "") and \ - (str(lar_axis[2].dtype) == "float64") and \ - (lar_axis[2].shape == (11,)) - - def test_mcds_get_mesh_flat_false(self, mcds=mcds): - aar_mesh = mcds.get_mesh(flat=False) - assert (str(type(aar_mesh)) == "") and \ - (len(aar_mesh) == 3) and \ - (str(type(aar_mesh[0])) == "") and \ - (str(aar_mesh[0].dtype) == "float64") and \ - (aar_mesh[0].shape == (11, 11, 11)) and \ - (str(type(aar_mesh[1])) == "") and \ - (str(aar_mesh[1].dtype) == "float64") and \ - (aar_mesh[1].shape == (11, 11, 11)) and \ - (str(type(aar_mesh[2])) == "") and \ - (str(aar_mesh[2].dtype) == "float64") and \ - (aar_mesh[2].shape == (11, 11, 11)) - - def test_mcds_get_mesh_flat_true(self, mcds=mcds): - aar_mesh = mcds.get_mesh(flat=True) - assert (str(type(aar_mesh)) == "") and \ - (len(aar_mesh) == 2) and \ - (str(type(aar_mesh[0])) == "") and \ - (str(aar_mesh[0].dtype) == "float64") and \ - (aar_mesh[0].shape == (11, 11)) and \ - (str(type(aar_mesh[1])) == "") and \ - (str(aar_mesh[1].dtype) == "float64") and \ - (aar_mesh[1].shape == (11, 11)) - - def test_mcds_get_mesh_2d(self, mcds=mcds): - aar_mesh_flat = mcds.get_mesh(flat=True) - aar_mesh_2d = mcds.get_mesh_2D() - assert (str(type(aar_mesh_2d)) == "") and \ - (len(aar_mesh_2d) == 2) and \ - (aar_mesh_2d[0] == aar_mesh_flat[0]).all() and \ - (aar_mesh_2d[1] == aar_mesh_flat[1]).all() - - def test_mcds_get_mesh_coordinate(self, mcds=mcds): - # cube coordinates - ar_m_cube, ar_n_cube, ar_p_cube = mcds.get_mesh(flat=False) - er_m_cube = set(ar_m_cube.flatten()) - er_n_cube = set(ar_n_cube.flatten()) - er_p_cube = set(ar_p_cube.flatten()) - # coordinates - aar_voxel = mcds.get_mesh_coordinate() - assert (str(type(aar_voxel)) == "") and \ - (len(aar_voxel) == 3) and \ - (str(type(aar_voxel[0])) == "") and \ - (str(aar_voxel[0].dtype) == "float64") and \ - (set(aar_voxel[0]) == er_m_cube) and \ - (aar_voxel[0].shape == (1331,)) and \ - (str(type(aar_voxel[1])) == "") and \ - (str(aar_voxel[1].dtype) == "float64") and \ - (set(aar_voxel[1]) == er_n_cube) and \ - (aar_voxel[1].shape == (1331,)) and \ - (str(type(aar_voxel[2])) == "") and \ - (str(aar_voxel[2].dtype) == "float64") and \ - (set(aar_voxel[2]) == er_p_cube) and \ - (aar_voxel[2].shape == (1331,)) - - def test_mcds_get_voxel_volume(self, mcds=mcds): - r_volume = mcds.get_voxel_volume() - assert r_volume == 6000.0 - - def test_mcds_get_mesh_spacing(self, mcds=mcds): - lr_spacing = mcds.get_mesh_spacing() - assert lr_spacing == [30.0, 20.0, 10.0] - - def test_mcds_get_voxel_spacing(self, mcds=mcds): - lr_spacing = mcds.get_voxel_spacing() - assert lr_spacing == [30.0, 20.0, 10.0] - - def test_mcds_is_in_mesh(self, mcds=mcds): - assert mcds.is_in_mesh(x=42, y=42, z=42, halt=False) and \ - not mcds.is_in_mesh(x=-42, y=-42, z=-42, halt=False) - - def test_mcds_get_voxel_ijk(self, mcds=mcds): - li_voxel_0 = mcds.get_voxel_ijk(x=0, y=0, z=0) - li_voxel_1 = mcds.get_voxel_ijk(x=15, y=10, z=5) - li_voxel_2 = mcds.get_voxel_ijk(x=30, y=20, z=10) - assert (li_voxel_0 == [0, 0, 0]) and \ - (li_voxel_1 == [1, 1, 1]) and \ - (li_voxel_2 == [2, 2, 2]) - - ## micro environment related functions - def test_mcds_get_substrate_names(self, mcds=mcds): - ls_substrate = mcds.get_substrate_names() - assert ls_substrate == ['immunostimulatory_factor', 'oxygen'] - - def test_mcds_get_substrate_dict(self, mcds=mcds): - ds_substrate = mcds.get_substrate_dict() - assert (str(type(ds_substrate)) == "") and \ - (len(ds_substrate) == 2) - - def test_mcds_get_substrate_df(self, mcds=mcds): - df_substrate = mcds.get_substrate_df() - assert (str(type(df_substrate)) == "") and \ - (df_substrate.shape == (2, 2)) - - def test_mcds_get_concentration(self, mcds=mcds): - ar_conc = mcds.get_concentration(substrate='oxygen', z_slice=None) - assert (str(type(ar_conc)) == "") and \ - (ar_conc.shape == (11, 11, 11)) - - def test_mcds_get_concentration_zslice_meshcenter(self, mcds=mcds): - ar_conc = mcds.get_concentration(substrate='oxygen', z_slice=-5) - assert (str(type(ar_conc)) == "") and \ - (ar_conc.shape == (11, 11)) - - def test_mcds_get_concentration_zslice_non_meshcenter(self, mcds=mcds): - ar_conc = mcds.get_concentration(substrate='oxygen', z_slice=-3.333) - assert (str(type(ar_conc)) == "") and \ - (ar_conc.shape == (11, 11)) - - def test_mcds_get_concentration_at(self, mcds=mcds): - ar_conc = mcds.get_concentration_at(x=0, y=0, z=0) - assert (str(type(ar_conc)) == "") and \ - (ar_conc.shape == (2,)) - - def test_mcds_get_concentration_df(self, mcds=mcds): - df_conc = mcds.get_concentration_df(z_slice=None, minstate=0) - assert (str(type(df_conc)) == "") and \ - (df_conc.shape == (1331, 8)) - - def test_mcds_get_concentration_df_zslice_meshcenter(self, mcds=mcds): - df_conc = mcds.get_concentration_df(z_slice=-5, minstate=1) - assert (str(type(df_conc)) == "") and \ - (df_conc.shape == (121, 8)) - - def test_mcds_get_concentration_df_zslice_non_meshcenter(self, mcds=mcds): - df_conc = mcds.get_concentration_df(z_slice=-3.333, minstate=1) - assert (str(type(df_conc)) == "") and \ - (df_conc.shape == (121, 8)) - - def test_mcds_get_concentration_df_minstate(self, mcds=mcds): - df_conc = mcds.get_concentration_df(z_slice=None, minstate=2) - assert (str(type(df_conc)) == "") and \ - (df_conc.shape == (1331, 8)) - - def test_mcds_get_contour(self, mcds=mcds): - fig = mcds.get_contour( - 'oxygen', - z_slice = -3.333, # test if - vmin = None, # test if - vmax = None, # test if - #alpha = 1, # matplotlib - fill = False, # contour case - #cmap = 'viridis', # matplotlib - title = 'test_mcds_get_contour', - #grid = False, # matplotlib - xlim = None, # test if - ylim = None, # test if - xyequal = True, # test if - figsize = None, # test if - ax = None # generate fig ax case - ) - assert(str(type(fig)) == "") - - def test_mcds_get_contourf(self, mcds=mcds): - fig = mcds.get_contour( - 'oxygen', - z_slice = 0, # jum over if - vmin = None, # test if - vmax = None, # test if - #alpha = 1, # matplotlib - fill = True, # contourf case - #cmap = 'viridis', # matplotlib - title = 'test_mcds_get_contourf', # test if - #grid = True, # matplotlib - xlim = None, # test if - ylim = None, # test if - xyequal = True, # test if - figsize = None, # test if - ax = None # generate fig ax case - ) - assert(str(type(fig)) == "") - - ## cell related functions - def test_mcds_get_celltype_dict(self, mcds=mcds): - ds_celltype = mcds.get_celltype_dict() - assert (str(type(ds_celltype)) == "") and \ - (len(ds_celltype) == 2) - - def test_mcds_get_cell_variables(self, mcds=mcds): - ls_variable = mcds.get_cell_variables() - assert (str(type(ls_variable)) == "") and \ - (len(ls_variable) == 97) and \ - (ls_variable[0] == 'ID') - - def test_mcds_get_cell_df(self, mcds=mcds): - df_cell = mcds.get_cell_df(minstate=0) - assert (str(type(df_cell)) == "") and \ - (df_cell.shape == (20460, 115)) - - def test_mcds_get_cell_df_minstate(self, mcds=mcds): - df_cell = mcds.get_cell_df(minstate=2) - assert (str(type(df_cell)) == "") and \ - (df_cell.shape == (20460, 30)) - - def test_mcds_get_cell_df_at(self, mcds=mcds): - df_cell = mcds.get_cell_df_at(x=0, y=0, z=0, minstate=1) - assert (str(type(df_cell)) == "") and \ - (df_cell.shape == (5, 115)) - - ## graph related functions - def test_mcds_get_attached_graph_dict(self, mcds=mcds): - dei_graph = mcds.data['discrete_cells']['graph']['attached_cells'] - assert (str(type(dei_graph)) == "") and \ - (len(dei_graph) == 20460) and \ - (len(dei_graph[20459]) == 0) - - def test_mcds_get_neighbor_graph_dict(self, mcds=mcds): - dei_graph = mcds.data['discrete_cells']['graph']['neighbor_cells'] - assert (str(type(dei_graph)) == "") and \ - (len(dei_graph) == 20460) and \ - (len(dei_graph[20459]) == 13) - - ## unit related functions - def test_mcds_get_unit_df(self, mcds=mcds): - df_unit = mcds.get_unit_df() - assert (str(type(df_unit)) == "") and \ - (df_unit.shape == (105, 1)) diff --git a/test/test_snapshot_3d_microenvfalse.py b/test/test_snapshot_3d_microenvfalse.py deleted file mode 100644 index 57cdfc5..0000000 --- a/test/test_snapshot_3d_microenvfalse.py +++ /dev/null @@ -1,206 +0,0 @@ -##### -# title: test_snapshot_3d_microenvfalse.py -# -# language: python3 -# author: bue -# date: 2022-10-15 -# license: BSD 3-Clause -# -# description: -# pytest unit test library for heat.py -# + https://docs.pytest.org/ -# -# note: -# assert actual == expected, message -# == value equality -# is reference equality -# pytest.approx for real values -##### - -# load library -import os -import pathlib -import pcdl - -# const -s_path_3d = str(pathlib.Path(pcdl.__file__).parent.resolve()/'data_timeseries_3d') -s_file_3d = 'output00000024.xml' -s_pathfile_3d = f'{s_path_3d}/{s_file_3d}' - -# test data -if not os.path.exists(s_path_3d): - pcdl.install_data() - -# test function -class TestPyMcdsMicroenvFalse3D(object): - ''' test for pcdl.pyMCDS data loader with microenvironment, graph, and settingxml set to False ''' - mcds = pcdl.pyMCDS(xmlfile=s_file_3d, output_path=s_path_3d, custom_type={}, microenv=False, graph=False, settingxml=False) - - def test_pyMCDS(self, mcds=mcds): - # load physicell data - print(f'process: pcdl.pyMCDS(xmlfile={s_file_3d}, output_path={s_path_3d}, custom_type={{}}, microenv=False, graph=False, settingxml=False) ...') - assert str(type(mcds)) == "" - - ## metadata related functions - # nop - - ## mesh related functions - def test_mcds_get_voxel_ijk_range(self, mcds=mcds): - ltr_range = mcds.get_voxel_ijk_range() - assert ltr_range == [(0, 10), (0, 10), (0, 10)] - - def test_mcds_get_mesh_mnp_range(self, mcds=mcds): - ltr_range = mcds.get_mesh_mnp_range() - assert ltr_range == [(-15, 285), (-10, 190), (-5, 95)] - - def test_mcds_get_xyz_range(self, mcds=mcds): - ltr_range = mcds.get_xyz_range() - assert ltr_range == [(-30, 300), (-20, 200), (-10, 100)] - - def test_mcds_get_voxel_ijk_axis(self, mcds=mcds): - lar_axis = mcds.get_voxel_ijk_axis() - assert (str(type(lar_axis)) == "") and \ - (len(lar_axis) == 3) and \ - (str(type(lar_axis[0])) == "") and \ - (str(lar_axis[0].dtype) == "int64") and \ - (lar_axis[0].shape == (11,)) and \ - (str(type(lar_axis[1])) == "") and \ - (str(lar_axis[1].dtype) == "int64") and \ - (lar_axis[1].shape == (11,)) and \ - (str(type(lar_axis[2])) == "") and \ - (str(lar_axis[2].dtype) == "int64") and \ - (lar_axis[2].shape == (11,)) - - def test_mcds_get_mesh_mnp_axis(self, mcds=mcds): - lar_axis = mcds.get_mesh_mnp_axis() - assert (str(type(lar_axis)) == "") and \ - (len(lar_axis) == 3) and \ - (str(type(lar_axis[0])) == "") and \ - (str(lar_axis[0].dtype) == "float64") and \ - (lar_axis[0].shape == (11,)) and \ - (str(type(lar_axis[1])) == "") and \ - (str(lar_axis[1].dtype) == "float64") and \ - (lar_axis[1].shape == (11,)) and \ - (str(type(lar_axis[2])) == "") and \ - (str(lar_axis[2].dtype) == "float64") and \ - (lar_axis[2].shape == (11,)) - - def test_mcds_get_mesh_flat_false(self, mcds=mcds): - aar_mesh = mcds.get_mesh(flat=False) - assert (str(type(aar_mesh)) == "") and \ - (len(aar_mesh) == 3) and \ - (str(type(aar_mesh[0])) == "") and \ - (str(aar_mesh[0].dtype) == "float64") and \ - (aar_mesh[0].shape == (11, 11, 11)) and \ - (str(type(aar_mesh[1])) == "") and \ - (str(aar_mesh[1].dtype) == "float64") and \ - (aar_mesh[1].shape == (11, 11, 11)) and \ - (str(type(aar_mesh[2])) == "") and \ - (str(aar_mesh[2].dtype) == "float64") and \ - (aar_mesh[2].shape == (11, 11, 11)) - - def test_mcds_get_mesh_flat_true(self, mcds=mcds): - aar_mesh = mcds.get_mesh(flat=True) - assert (str(type(aar_mesh)) == "") and \ - (len(aar_mesh) == 2) and \ - (str(type(aar_mesh[0])) == "") and \ - (str(aar_mesh[0].dtype) == "float64") and \ - (aar_mesh[0].shape == (11, 11)) and \ - (str(type(aar_mesh[1])) == "") and \ - (str(aar_mesh[1].dtype) == "float64") and \ - (aar_mesh[1].shape == (11, 11)) - - def test_mcds_get_mesh_2d(self, mcds=mcds): - aar_mesh_flat = mcds.get_mesh(flat=True) - aar_mesh_2d = mcds.get_mesh_2D() - assert (str(type(aar_mesh_2d)) == "") and \ - (len(aar_mesh_2d) == 2) and \ - (aar_mesh_2d[0] == aar_mesh_flat[0]).all() and \ - (aar_mesh_2d[1] == aar_mesh_flat[1]).all() - - def test_mcds_get_mesh_coordinate(self, mcds=mcds): - # cube coordinates - ar_m_cube, ar_n_cube, ar_p_cube = mcds.get_mesh(flat=False) - er_m_cube = set(ar_m_cube.flatten()) - er_n_cube = set(ar_n_cube.flatten()) - er_p_cube = set(ar_p_cube.flatten()) - # linear coordinates - aar_voxel = mcds.get_mesh_coordinate() - assert (str(type(aar_voxel)) == "") and \ - (len(aar_voxel) == 3) and \ - (str(type(aar_voxel[0])) == "") and \ - (str(aar_voxel[0].dtype) == "float64") and \ - (set(aar_voxel[0]) == er_m_cube) and \ - (aar_voxel[0].shape == (1331,)) and \ - (str(type(aar_voxel[1])) == "") and \ - (str(aar_voxel[1].dtype) == "float64") and \ - (set(aar_voxel[1]) == er_n_cube) and \ - (aar_voxel[1].shape == (1331,)) and \ - (str(type(aar_voxel[2])) == "") and \ - (str(aar_voxel[2].dtype) == "float64") and \ - (set(aar_voxel[2]) == er_p_cube) and \ - (aar_voxel[2].shape == (1331,)) - - def test_mcds_get_voxel_volume(self, mcds=mcds): - r_volume = mcds.get_voxel_volume() - assert r_volume == 6000.0 - - def test_mcds_get_mesh_spacing(self, mcds=mcds): - lr_spacing = mcds.get_mesh_spacing() - assert lr_spacing == [30.0, 20.0, 10.0] - - def test_mcds_get_voxel_spacing(self, mcds=mcds): - lr_spacing = mcds.get_voxel_spacing() - assert lr_spacing == [30.0, 20.0, 10.0] - - def test_mcds_is_in_mesh(self, mcds=mcds): - assert mcds.is_in_mesh(x=42, y=42, z=42, halt=False) and \ - not mcds.is_in_mesh(x=-42, y=-42, z=-42, halt=False) - - def test_mcds_get_voxel_ijk(self, mcds=mcds): - li_voxel_0 = mcds.get_voxel_ijk(x=0, y=0, z=0) - li_voxel_1 = mcds.get_voxel_ijk(x=15, y=10, z=5) - li_voxel_2 = mcds.get_voxel_ijk(x=30, y=20, z=10) - assert (li_voxel_0 == [0, 0, 0]) and \ - (li_voxel_1 == [1, 1, 1]) and \ - (li_voxel_2 == [2, 2, 2]) - - ## micro environment related functions - def test_mcds_get_substrate_dict(self, mcds=mcds): - ds_substrate = mcds.get_substrate_dict() - assert (str(type(ds_substrate)) == "") and \ - (len(ds_substrate) == 0) - - ## cell related functions - def test_mcds_get_celltype_dict(self, mcds=mcds): - ds_celltype = mcds.get_celltype_dict() - assert (str(type(ds_celltype)) == "") and \ - (len(ds_celltype) == 0) - - def test_mcds_get_cell_variables(self, mcds=mcds): - ls_variable = mcds.get_cell_variables() - assert (str(type(ls_variable)) == "") and \ - (len(ls_variable) == 97) and \ - (ls_variable[0] == 'ID') - - def test_mcds_get_cell_df(self, mcds=mcds): - df_cell = mcds.get_cell_df(minstate=0) - assert (str(type(df_cell)) == "") and \ - (df_cell.shape == (20460, 106)) - - def test_mcds_get_cell_df_minstate(self, mcds=mcds): - df_cell = mcds.get_cell_df(minstate=2) - assert (str(type(df_cell)) == "") and \ - (df_cell.shape == (20460, 25)) - - def test_mcds_get_cell_df_at(self, mcds=mcds): - df_cell = mcds.get_cell_df_at(x=0, y=0, z=0, minstate=1) - assert (str(type(df_cell)) == "") and \ - (df_cell.shape == (5, 106)) - - ## unit related functions - def test_mcds_get_unit_df(self, mcds=mcds): - df_unit = mcds.get_unit_df() - assert (str(type(df_unit)) == "") and \ - (df_unit.shape == (99, 1)) - diff --git a/test/test_timeseries.py b/test/test_timeseries.py deleted file mode 100644 index 3a1413e..0000000 --- a/test/test_timeseries.py +++ /dev/null @@ -1,160 +0,0 @@ -#### -# title: test_timeseries.py -# -# language: python3 -# author: bue -# date: 2022-10-15 -# license: BSD 3-Clause -# -# description: -# pytest unit test library for heat.py -# + https://docs.pytest.org/ -# -# note: -# assert actual == expected, message -# == value equality -# is reference equality -# pytest.approx for real values -##### - -# load library -import os -import pathlib -import pcdl -import platform -import shutil - -# const -s_path_2d = str(pathlib.Path(pcdl.__file__).parent.resolve()/'data_timeseries_2d') - -# test data -if not os.path.exists(s_path_2d): - pcdl.install_data() - -# load physicell data time series -class TestPyMcdsTs(object): - ''' test for pcdl.pyMCDSts data loader. ''' - mcdsts = pcdl.pyMCDSts(s_path_2d, verbose=False) - - ## get_xmlfile and read_mcds command ## - def test_mcdsts_get_xmlfile_list(self, mcdsts=mcdsts): - ls_xmlfile = mcdsts.get_xmlfile_list() - assert len(ls_xmlfile) == 25 - - def test_mcdsts_get_xmlfile_list_read_mcds(self, mcdsts=mcdsts): - ls_xmlfile = mcdsts.get_xmlfile_list() - ls_xmlfile = ls_xmlfile[-3:] - ls_mcds = mcdsts.read_mcds(ls_xmlfile) - assert len(ls_xmlfile) == 3 and \ - len(ls_mcds) == 3 and \ - ls_mcds[2].get_time() == 1440 - - def test_mcdsts_read_mcds(self, mcdsts=mcdsts): - ls_mcds = mcdsts.read_mcds() - assert len(ls_mcds) == 25 and \ - ls_mcds[-1].get_time() == 1440 - - - ## data triage command ## - def test_mcdsts_get_cell_minstate_col(self, mcdsts=mcdsts): - ls_minstate = mcdsts.get_cell_minstate_col() - assert len(ls_minstate) == 28 and \ - ls_minstate[-1] == 'uptake_rates_oxygen' - - def test_mcdsts_get_concentration_minstate_col(self, mcdsts=mcdsts): - ls_minstate = mcdsts.get_concentration_minstate_col() - assert ls_minstate == ['oxygen'] - - - ## magick command ## - def test_mcdsts_handle_magick(self, mcdsts=mcdsts): - s_magick = mcdsts._handle_magick() - if not((os.system('magick --version') == 0) or ((platform.system() in {'Linux'}) and (os.system('convert --version') == 0))): - s_magick = None - print('Error @ pyMCDSts._handle_magick : image magick installation version >= 7.0 missing!') - assert s_magick in {'', 'magick '} - - - ## make_imgcell command ## - def test_mcdsts_make_imgcell_cat(self, mcdsts=mcdsts): - s_path = mcdsts.make_imgcell( - focus='cell_type', # case categorical - z_slice = -3.333, # test if - z_axis = None, # test if categorical - #cmap = 'viridis', # matplotlib - #grid = True, # matplotlib - xlim = None, # test if - ylim = None, # test if - xyequal = True, # test if - s = None, # test if - figsizepx = [641, 481], # case non even pixel number - ext = 'jpeg', # test if - figbgcolor = None, # test if - ) - assert os.path.exists(s_path + 'cell_type_000000000.0.jpeg') and \ - os.path.exists(s_path + 'cell_type_000001440.0.jpeg') - shutil.rmtree(s_path) - - def test_mcdsts_make_imgcell_num(self, mcdsts=mcdsts): - s_path = mcdsts.make_imgcell( - focus='pressure', # case numeric - z_slice = -3.333, # test if - z_axis = None, # test if numeric - #cmap = 'viridis', # matplotlib - #grid = True, # matplotlib - xlim = None, # test if - ylim = None, # test if - xyequal = True, # test if - s = None, # test if - figsizepx = None, # case extract from initial.svg - ext = 'jpeg', # test if - figbgcolor = None, # test if - ) - assert os.path.exists(s_path + 'pressure_000000000.0.jpeg') and \ - os.path.exists(s_path + 'pressure_000001440.0.jpeg') - shutil.rmtree(s_path) - - ## make_imgsubs command ## - def test_mcdsts_make_imgsubs(self, mcdsts=mcdsts): - s_path = mcdsts.make_imgsubs( - focus = 'oxygen', - z_slice = -3.333, # test if - extrema = None, # test if - #alpha = 1, # matplotlib - #fill = True, # mcds.get_contour - #cmap = 'viridis', # matplotlib - #grid = True, # matplotlib - xlim = None, # test if - ylim = None, # test if - xyequal = True, # test if - figsizepx = [641, 481], # test non even pixel number - ext = 'jpeg', - figbgcolor = None, # test if - ) - assert os.path.exists(s_path + 'oxygen_000000000.0.jpeg') and \ - os.path.exists(s_path + 'oxygen_000001440.0.jpeg') - shutil.rmtree(s_path) - - ## make_gif command ## - def test_mcdsts_make_gif(self, mcdsts=mcdsts): - s_path = mcdsts.make_imgcell() - s_opathfile = mcdsts.make_gif( - path = s_path, - #interface = 'jpeg', - ) - assert os.path.exists(s_opathfile) and \ - (s_opathfile == s_path+'cell_cell_type_z0_jpeg.gif') - shutil.rmtree(s_path) - - ## make_movie command ## - def test_mcdsts_make_movie(self, mcdsts=mcdsts): - s_path = mcdsts.make_imgcell() - s_opathfile = mcdsts.make_movie( - path = s_path, - #interface = 'jpeg', - #framerate = 12, - ) - assert os.path.exists(s_opathfile) and \ - (s_opathfile == s_path+'cell_cell_type_z0_jpeg12.mp4') - shutil.rmtree(s_path) - diff --git a/test_single.py b/test_single.py new file mode 100644 index 0000000..a7806fa --- /dev/null +++ b/test_single.py @@ -0,0 +1,23 @@ +# load library +from pyMCDS import pyMCDS + +# load physicell data +mcds1 = pyMCDS('output00000001.xml', 'timeseries_set') +mcds2 = pyMCDS('output00000008.xml', 'timeseries_set') + +# commands to extract basic information +print(mcds1.get_time()) +print(mcds1.get_cell_variables()) +print(mcds1.get_substrate_names()) + +# commnds to extract pandas compatible output +print(mcds1.get_cell_df()) +print(mcds1.get_cell_df_at(x=39, y=83, z=0)) + +# commands to extract mesh related output +print(mcds1.get_mesh_spacing()) +print(mcds1.get_mesh()) +print(mcds1.get_2D_mesh()) +print(mcds1.get_linear_voxels()) +print(mcds1.get_containing_voxel_ijk(x=0,y=0,z=0)) +print(mcds1.get_concentrations('quorum')) diff --git a/test_timeseries.py b/test_timeseries.py new file mode 100644 index 0000000..fc8f4d6 --- /dev/null +++ b/test_timeseries.py @@ -0,0 +1,19 @@ +# load library +from pyMCDS_timeseries import pyMCDS_timeseries + +# load physicell timeseries data +mcds = pyMCDS_timeseries('timeseries_set') + +# command to extract basic timeseries information +mcds.get_times() + +# howto extract data form a single timepoint +# check out test_single.py for more details +mcd1 = mcds.timeseries[0] +print(mcd1.get_time()) +print(mcds.timeseries[0].get_time()) + +# plotting commands +chem_list = mcds.timeseries[0].get_substrate_names() +mcds.plot_menv_total(chem_list) +mcds.plot_cell_type_counts() diff --git a/timeseries_set/config.xml b/timeseries_set/config.xml new file mode 100644 index 0000000..caedea8 --- /dev/null +++ b/timeseries_set/config.xml @@ -0,0 +1,104 @@ + + + -500.0 + 500.0 + -500.0 + 500.0 + -10.0 + 10.0 + 20.0 + 20.0 + 20.0 + true + + + + 7200.0 + min + micron + + + + 4 + + + + . + + + 60 + True + + + + 30 + True + + + + false + + + + + + + + 100000.0 + 0.1 + + 100000.0 + 10.0 + + 40000.0 + 1.0 + + 25000.0 + 0.1 + + 50000.0 + 20.0 + + + 15 + 50 + 10 + 50 + + + 0.0028 + 0.001 + + 15.0 + 0.25 + 0.5 + + 100.0 + 0.1 + + + 15.0 + 0.5 + 0.125 + + 100.0 + 0.1 + + + 0.0005 + 0.0001 + + 15.0 + 1.0 + 0.25 + + 100.0 + 0.1 + + + 100.0 + + + + + \ No newline at end of file diff --git a/timeseries_set/final.xml b/timeseries_set/final.xml new file mode 100644 index 0000000..022623e --- /dev/null +++ b/timeseries_set/final.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 7200.010000 + 121.639080 + 2019-08-30T19:50:09Z + 2019-08-30T19:50:09Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + final_microenvironment0.mat + + + + + + + + + final_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + final_cells_physicell.mat + + + + + + diff --git a/timeseries_set/final_cells.mat b/timeseries_set/final_cells.mat new file mode 100644 index 0000000..2f83f1a Binary files /dev/null and b/timeseries_set/final_cells.mat differ diff --git a/timeseries_set/final_cells_physicell.mat b/timeseries_set/final_cells_physicell.mat new file mode 100644 index 0000000..08e88fa Binary files /dev/null and b/timeseries_set/final_cells_physicell.mat differ diff --git a/timeseries_set/final_microenvironment0.mat b/timeseries_set/final_microenvironment0.mat new file mode 100644 index 0000000..110f2aa Binary files /dev/null and b/timeseries_set/final_microenvironment0.mat differ diff --git a/timeseries_set/initial.xml b/timeseries_set/initial.xml new file mode 100644 index 0000000..c683da6 --- /dev/null +++ b/timeseries_set/initial.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 0.000000 + 0.008113 + 2019-08-30T19:48:08Z + 2019-08-30T19:48:08Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + initial_microenvironment0.mat + + + + + + + + + initial_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + initial_cells_physicell.mat + + + + + + diff --git a/timeseries_set/initial_cells.mat b/timeseries_set/initial_cells.mat new file mode 100644 index 0000000..00c174a Binary files /dev/null and b/timeseries_set/initial_cells.mat differ diff --git a/timeseries_set/initial_cells_physicell.mat b/timeseries_set/initial_cells_physicell.mat new file mode 100644 index 0000000..9507b33 Binary files /dev/null and b/timeseries_set/initial_cells_physicell.mat differ diff --git a/timeseries_set/initial_mesh0.mat b/timeseries_set/initial_mesh0.mat new file mode 100644 index 0000000..a6ebd75 Binary files /dev/null and b/timeseries_set/initial_mesh0.mat differ diff --git a/timeseries_set/initial_microenvironment0.mat b/timeseries_set/initial_microenvironment0.mat new file mode 100644 index 0000000..195d58b Binary files /dev/null and b/timeseries_set/initial_microenvironment0.mat differ diff --git a/timeseries_set/output00000000.xml b/timeseries_set/output00000000.xml new file mode 100644 index 0000000..57dd82a --- /dev/null +++ b/timeseries_set/output00000000.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 0.000000 + 0.000039 + 2019-08-30T19:48:08Z + 2019-08-30T19:48:08Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000000_microenvironment0.mat + + + + + + + + + output00000000_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000000_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000000_cells.mat b/timeseries_set/output00000000_cells.mat new file mode 100644 index 0000000..00c174a Binary files /dev/null and b/timeseries_set/output00000000_cells.mat differ diff --git a/timeseries_set/output00000000_cells_physicell.mat b/timeseries_set/output00000000_cells_physicell.mat new file mode 100644 index 0000000..9507b33 Binary files /dev/null and b/timeseries_set/output00000000_cells_physicell.mat differ diff --git a/timeseries_set/output00000000_microenvironment0.mat b/timeseries_set/output00000000_microenvironment0.mat new file mode 100644 index 0000000..195d58b Binary files /dev/null and b/timeseries_set/output00000000_microenvironment0.mat differ diff --git a/timeseries_set/output00000001.xml b/timeseries_set/output00000001.xml new file mode 100644 index 0000000..e012bcf --- /dev/null +++ b/timeseries_set/output00000001.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 60.000000 + 0.697068 + 2019-08-30T19:48:08Z + 2019-08-30T19:48:08Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000001_microenvironment0.mat + + + + + + + + + output00000001_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000001_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000001_cells.mat b/timeseries_set/output00000001_cells.mat new file mode 100644 index 0000000..54d5cd3 Binary files /dev/null and b/timeseries_set/output00000001_cells.mat differ diff --git a/timeseries_set/output00000001_cells_physicell.mat b/timeseries_set/output00000001_cells_physicell.mat new file mode 100644 index 0000000..a4ea344 Binary files /dev/null and b/timeseries_set/output00000001_cells_physicell.mat differ diff --git a/timeseries_set/output00000001_microenvironment0.mat b/timeseries_set/output00000001_microenvironment0.mat new file mode 100644 index 0000000..e3c0a6a Binary files /dev/null and b/timeseries_set/output00000001_microenvironment0.mat differ diff --git a/timeseries_set/output00000002.xml b/timeseries_set/output00000002.xml new file mode 100644 index 0000000..3079fcc --- /dev/null +++ b/timeseries_set/output00000002.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 120.000000 + 1.408538 + 2019-08-30T19:48:09Z + 2019-08-30T19:48:09Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000002_microenvironment0.mat + + + + + + + + + output00000002_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000002_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000002_cells.mat b/timeseries_set/output00000002_cells.mat new file mode 100644 index 0000000..f04b05b Binary files /dev/null and b/timeseries_set/output00000002_cells.mat differ diff --git a/timeseries_set/output00000002_cells_physicell.mat b/timeseries_set/output00000002_cells_physicell.mat new file mode 100644 index 0000000..aeca3e3 Binary files /dev/null and b/timeseries_set/output00000002_cells_physicell.mat differ diff --git a/timeseries_set/output00000002_microenvironment0.mat b/timeseries_set/output00000002_microenvironment0.mat new file mode 100644 index 0000000..062475f Binary files /dev/null and b/timeseries_set/output00000002_microenvironment0.mat differ diff --git a/timeseries_set/output00000003.xml b/timeseries_set/output00000003.xml new file mode 100644 index 0000000..e268a4a --- /dev/null +++ b/timeseries_set/output00000003.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 180.000000 + 2.119007 + 2019-08-30T19:48:10Z + 2019-08-30T19:48:10Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000003_microenvironment0.mat + + + + + + + + + output00000003_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000003_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000003_cells.mat b/timeseries_set/output00000003_cells.mat new file mode 100644 index 0000000..b9ff5fb Binary files /dev/null and b/timeseries_set/output00000003_cells.mat differ diff --git a/timeseries_set/output00000003_cells_physicell.mat b/timeseries_set/output00000003_cells_physicell.mat new file mode 100644 index 0000000..8f7ee17 Binary files /dev/null and b/timeseries_set/output00000003_cells_physicell.mat differ diff --git a/timeseries_set/output00000003_microenvironment0.mat b/timeseries_set/output00000003_microenvironment0.mat new file mode 100644 index 0000000..544a02b Binary files /dev/null and b/timeseries_set/output00000003_microenvironment0.mat differ diff --git a/timeseries_set/output00000004.xml b/timeseries_set/output00000004.xml new file mode 100644 index 0000000..45e144a --- /dev/null +++ b/timeseries_set/output00000004.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 240.000000 + 2.835217 + 2019-08-30T19:48:11Z + 2019-08-30T19:48:11Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000004_microenvironment0.mat + + + + + + + + + output00000004_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000004_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000004_cells.mat b/timeseries_set/output00000004_cells.mat new file mode 100644 index 0000000..e2b289b Binary files /dev/null and b/timeseries_set/output00000004_cells.mat differ diff --git a/timeseries_set/output00000004_cells_physicell.mat b/timeseries_set/output00000004_cells_physicell.mat new file mode 100644 index 0000000..cf8498b Binary files /dev/null and b/timeseries_set/output00000004_cells_physicell.mat differ diff --git a/timeseries_set/output00000004_microenvironment0.mat b/timeseries_set/output00000004_microenvironment0.mat new file mode 100644 index 0000000..8202c3a Binary files /dev/null and b/timeseries_set/output00000004_microenvironment0.mat differ diff --git a/timeseries_set/output00000005.xml b/timeseries_set/output00000005.xml new file mode 100644 index 0000000..b5b79bc --- /dev/null +++ b/timeseries_set/output00000005.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 300.000000 + 3.559556 + 2019-08-30T19:48:11Z + 2019-08-30T19:48:11Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000005_microenvironment0.mat + + + + + + + + + output00000005_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000005_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000005_cells.mat b/timeseries_set/output00000005_cells.mat new file mode 100644 index 0000000..809c16f Binary files /dev/null and b/timeseries_set/output00000005_cells.mat differ diff --git a/timeseries_set/output00000005_cells_physicell.mat b/timeseries_set/output00000005_cells_physicell.mat new file mode 100644 index 0000000..e30d1c1 Binary files /dev/null and b/timeseries_set/output00000005_cells_physicell.mat differ diff --git a/timeseries_set/output00000005_microenvironment0.mat b/timeseries_set/output00000005_microenvironment0.mat new file mode 100644 index 0000000..44d9fea Binary files /dev/null and b/timeseries_set/output00000005_microenvironment0.mat differ diff --git a/timeseries_set/output00000006.xml b/timeseries_set/output00000006.xml new file mode 100644 index 0000000..6a5c819 --- /dev/null +++ b/timeseries_set/output00000006.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 360.000000 + 4.285737 + 2019-08-30T19:48:12Z + 2019-08-30T19:48:12Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000006_microenvironment0.mat + + + + + + + + + output00000006_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000006_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000006_cells.mat b/timeseries_set/output00000006_cells.mat new file mode 100644 index 0000000..99e575a Binary files /dev/null and b/timeseries_set/output00000006_cells.mat differ diff --git a/timeseries_set/output00000006_cells_physicell.mat b/timeseries_set/output00000006_cells_physicell.mat new file mode 100644 index 0000000..ebc6c14 Binary files /dev/null and b/timeseries_set/output00000006_cells_physicell.mat differ diff --git a/timeseries_set/output00000006_microenvironment0.mat b/timeseries_set/output00000006_microenvironment0.mat new file mode 100644 index 0000000..fd85d67 Binary files /dev/null and b/timeseries_set/output00000006_microenvironment0.mat differ diff --git a/timeseries_set/output00000007.xml b/timeseries_set/output00000007.xml new file mode 100644 index 0000000..a3bc267 --- /dev/null +++ b/timeseries_set/output00000007.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 420.000000 + 5.040470 + 2019-08-30T19:48:13Z + 2019-08-30T19:48:13Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000007_microenvironment0.mat + + + + + + + + + output00000007_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000007_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000007_cells.mat b/timeseries_set/output00000007_cells.mat new file mode 100644 index 0000000..0f1b93f Binary files /dev/null and b/timeseries_set/output00000007_cells.mat differ diff --git a/timeseries_set/output00000007_cells_physicell.mat b/timeseries_set/output00000007_cells_physicell.mat new file mode 100644 index 0000000..e7592e4 Binary files /dev/null and b/timeseries_set/output00000007_cells_physicell.mat differ diff --git a/timeseries_set/output00000007_microenvironment0.mat b/timeseries_set/output00000007_microenvironment0.mat new file mode 100644 index 0000000..1809c59 Binary files /dev/null and b/timeseries_set/output00000007_microenvironment0.mat differ diff --git a/timeseries_set/output00000008.xml b/timeseries_set/output00000008.xml new file mode 100644 index 0000000..4898292 --- /dev/null +++ b/timeseries_set/output00000008.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 480.000000 + 5.801004 + 2019-08-30T19:48:14Z + 2019-08-30T19:48:14Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000008_microenvironment0.mat + + + + + + + + + output00000008_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000008_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000008_cells.mat b/timeseries_set/output00000008_cells.mat new file mode 100644 index 0000000..d10cd54 Binary files /dev/null and b/timeseries_set/output00000008_cells.mat differ diff --git a/timeseries_set/output00000008_cells_physicell.mat b/timeseries_set/output00000008_cells_physicell.mat new file mode 100644 index 0000000..c01f13e Binary files /dev/null and b/timeseries_set/output00000008_cells_physicell.mat differ diff --git a/timeseries_set/output00000008_microenvironment0.mat b/timeseries_set/output00000008_microenvironment0.mat new file mode 100644 index 0000000..556c50c Binary files /dev/null and b/timeseries_set/output00000008_microenvironment0.mat differ diff --git a/timeseries_set/output00000009.xml b/timeseries_set/output00000009.xml new file mode 100644 index 0000000..e54b994 --- /dev/null +++ b/timeseries_set/output00000009.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 540.000000 + 10.479122 + 2019-08-30T19:48:18Z + 2019-08-30T19:48:18Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000009_microenvironment0.mat + + + + + + + + + output00000009_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000009_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000009_cells.mat b/timeseries_set/output00000009_cells.mat new file mode 100644 index 0000000..c79799a Binary files /dev/null and b/timeseries_set/output00000009_cells.mat differ diff --git a/timeseries_set/output00000009_cells_physicell.mat b/timeseries_set/output00000009_cells_physicell.mat new file mode 100644 index 0000000..d4c1ae8 Binary files /dev/null and b/timeseries_set/output00000009_cells_physicell.mat differ diff --git a/timeseries_set/output00000009_microenvironment0.mat b/timeseries_set/output00000009_microenvironment0.mat new file mode 100644 index 0000000..3c57414 Binary files /dev/null and b/timeseries_set/output00000009_microenvironment0.mat differ diff --git a/timeseries_set/output00000010.xml b/timeseries_set/output00000010.xml new file mode 100644 index 0000000..e637e85 --- /dev/null +++ b/timeseries_set/output00000010.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 600.000000 + 15.184489 + 2019-08-30T19:48:23Z + 2019-08-30T19:48:23Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000010_microenvironment0.mat + + + + + + + + + output00000010_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000010_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000010_cells.mat b/timeseries_set/output00000010_cells.mat new file mode 100644 index 0000000..58a0378 Binary files /dev/null and b/timeseries_set/output00000010_cells.mat differ diff --git a/timeseries_set/output00000010_cells_physicell.mat b/timeseries_set/output00000010_cells_physicell.mat new file mode 100644 index 0000000..fbb12f9 Binary files /dev/null and b/timeseries_set/output00000010_cells_physicell.mat differ diff --git a/timeseries_set/output00000010_microenvironment0.mat b/timeseries_set/output00000010_microenvironment0.mat new file mode 100644 index 0000000..2bdad58 Binary files /dev/null and b/timeseries_set/output00000010_microenvironment0.mat differ diff --git a/timeseries_set/output00000011.xml b/timeseries_set/output00000011.xml new file mode 100644 index 0000000..2e7d6e1 --- /dev/null +++ b/timeseries_set/output00000011.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 660.000000 + 17.103263 + 2019-08-30T19:48:25Z + 2019-08-30T19:48:25Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000011_microenvironment0.mat + + + + + + + + + output00000011_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000011_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000011_cells.mat b/timeseries_set/output00000011_cells.mat new file mode 100644 index 0000000..36bab31 Binary files /dev/null and b/timeseries_set/output00000011_cells.mat differ diff --git a/timeseries_set/output00000011_cells_physicell.mat b/timeseries_set/output00000011_cells_physicell.mat new file mode 100644 index 0000000..65e9b2a Binary files /dev/null and b/timeseries_set/output00000011_cells_physicell.mat differ diff --git a/timeseries_set/output00000011_microenvironment0.mat b/timeseries_set/output00000011_microenvironment0.mat new file mode 100644 index 0000000..2954e28 Binary files /dev/null and b/timeseries_set/output00000011_microenvironment0.mat differ diff --git a/timeseries_set/output00000012.xml b/timeseries_set/output00000012.xml new file mode 100644 index 0000000..55eb7bc --- /dev/null +++ b/timeseries_set/output00000012.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 720.000000 + 18.267284 + 2019-08-30T19:48:26Z + 2019-08-30T19:48:26Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000012_microenvironment0.mat + + + + + + + + + output00000012_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000012_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000012_cells.mat b/timeseries_set/output00000012_cells.mat new file mode 100644 index 0000000..09c1748 Binary files /dev/null and b/timeseries_set/output00000012_cells.mat differ diff --git a/timeseries_set/output00000012_cells_physicell.mat b/timeseries_set/output00000012_cells_physicell.mat new file mode 100644 index 0000000..e0d8c4b Binary files /dev/null and b/timeseries_set/output00000012_cells_physicell.mat differ diff --git a/timeseries_set/output00000012_microenvironment0.mat b/timeseries_set/output00000012_microenvironment0.mat new file mode 100644 index 0000000..d6f2098 Binary files /dev/null and b/timeseries_set/output00000012_microenvironment0.mat differ diff --git a/timeseries_set/output00000013.xml b/timeseries_set/output00000013.xml new file mode 100644 index 0000000..e7e19ed --- /dev/null +++ b/timeseries_set/output00000013.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 780.000000 + 19.032297 + 2019-08-30T19:48:27Z + 2019-08-30T19:48:27Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000013_microenvironment0.mat + + + + + + + + + output00000013_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000013_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000013_cells.mat b/timeseries_set/output00000013_cells.mat new file mode 100644 index 0000000..4ad2421 Binary files /dev/null and b/timeseries_set/output00000013_cells.mat differ diff --git a/timeseries_set/output00000013_cells_physicell.mat b/timeseries_set/output00000013_cells_physicell.mat new file mode 100644 index 0000000..5e90a21 Binary files /dev/null and b/timeseries_set/output00000013_cells_physicell.mat differ diff --git a/timeseries_set/output00000013_microenvironment0.mat b/timeseries_set/output00000013_microenvironment0.mat new file mode 100644 index 0000000..8856e71 Binary files /dev/null and b/timeseries_set/output00000013_microenvironment0.mat differ diff --git a/timeseries_set/output00000014.xml b/timeseries_set/output00000014.xml new file mode 100644 index 0000000..ffa6f9e --- /dev/null +++ b/timeseries_set/output00000014.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 840.000000 + 19.799742 + 2019-08-30T19:48:28Z + 2019-08-30T19:48:28Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000014_microenvironment0.mat + + + + + + + + + output00000014_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000014_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000014_cells.mat b/timeseries_set/output00000014_cells.mat new file mode 100644 index 0000000..bd59e35 Binary files /dev/null and b/timeseries_set/output00000014_cells.mat differ diff --git a/timeseries_set/output00000014_cells_physicell.mat b/timeseries_set/output00000014_cells_physicell.mat new file mode 100644 index 0000000..c095fb7 Binary files /dev/null and b/timeseries_set/output00000014_cells_physicell.mat differ diff --git a/timeseries_set/output00000014_microenvironment0.mat b/timeseries_set/output00000014_microenvironment0.mat new file mode 100644 index 0000000..8c63355 Binary files /dev/null and b/timeseries_set/output00000014_microenvironment0.mat differ diff --git a/timeseries_set/output00000015.xml b/timeseries_set/output00000015.xml new file mode 100644 index 0000000..12d7a90 --- /dev/null +++ b/timeseries_set/output00000015.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 900.000000 + 20.568130 + 2019-08-30T19:48:28Z + 2019-08-30T19:48:28Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000015_microenvironment0.mat + + + + + + + + + output00000015_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000015_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000015_cells.mat b/timeseries_set/output00000015_cells.mat new file mode 100644 index 0000000..45b6f2f Binary files /dev/null and b/timeseries_set/output00000015_cells.mat differ diff --git a/timeseries_set/output00000015_cells_physicell.mat b/timeseries_set/output00000015_cells_physicell.mat new file mode 100644 index 0000000..63ed82e Binary files /dev/null and b/timeseries_set/output00000015_cells_physicell.mat differ diff --git a/timeseries_set/output00000015_microenvironment0.mat b/timeseries_set/output00000015_microenvironment0.mat new file mode 100644 index 0000000..e100fb8 Binary files /dev/null and b/timeseries_set/output00000015_microenvironment0.mat differ diff --git a/timeseries_set/output00000016.xml b/timeseries_set/output00000016.xml new file mode 100644 index 0000000..049033d --- /dev/null +++ b/timeseries_set/output00000016.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 960.000000 + 21.341812 + 2019-08-30T19:48:29Z + 2019-08-30T19:48:29Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000016_microenvironment0.mat + + + + + + + + + output00000016_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000016_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000016_cells.mat b/timeseries_set/output00000016_cells.mat new file mode 100644 index 0000000..5f6bac6 Binary files /dev/null and b/timeseries_set/output00000016_cells.mat differ diff --git a/timeseries_set/output00000016_cells_physicell.mat b/timeseries_set/output00000016_cells_physicell.mat new file mode 100644 index 0000000..da4bec7 Binary files /dev/null and b/timeseries_set/output00000016_cells_physicell.mat differ diff --git a/timeseries_set/output00000016_microenvironment0.mat b/timeseries_set/output00000016_microenvironment0.mat new file mode 100644 index 0000000..23d20f0 Binary files /dev/null and b/timeseries_set/output00000016_microenvironment0.mat differ diff --git a/timeseries_set/output00000017.xml b/timeseries_set/output00000017.xml new file mode 100644 index 0000000..e960c7e --- /dev/null +++ b/timeseries_set/output00000017.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1020.000000 + 22.118372 + 2019-08-30T19:48:30Z + 2019-08-30T19:48:30Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000017_microenvironment0.mat + + + + + + + + + output00000017_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000017_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000017_cells.mat b/timeseries_set/output00000017_cells.mat new file mode 100644 index 0000000..216f8b0 Binary files /dev/null and b/timeseries_set/output00000017_cells.mat differ diff --git a/timeseries_set/output00000017_cells_physicell.mat b/timeseries_set/output00000017_cells_physicell.mat new file mode 100644 index 0000000..18a422a Binary files /dev/null and b/timeseries_set/output00000017_cells_physicell.mat differ diff --git a/timeseries_set/output00000017_microenvironment0.mat b/timeseries_set/output00000017_microenvironment0.mat new file mode 100644 index 0000000..c2a5fa2 Binary files /dev/null and b/timeseries_set/output00000017_microenvironment0.mat differ diff --git a/timeseries_set/output00000018.xml b/timeseries_set/output00000018.xml new file mode 100644 index 0000000..20a79ac --- /dev/null +++ b/timeseries_set/output00000018.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1080.000000 + 22.895817 + 2019-08-30T19:48:31Z + 2019-08-30T19:48:31Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000018_microenvironment0.mat + + + + + + + + + output00000018_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000018_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000018_cells.mat b/timeseries_set/output00000018_cells.mat new file mode 100644 index 0000000..7885639 Binary files /dev/null and b/timeseries_set/output00000018_cells.mat differ diff --git a/timeseries_set/output00000018_cells_physicell.mat b/timeseries_set/output00000018_cells_physicell.mat new file mode 100644 index 0000000..5c5e079 Binary files /dev/null and b/timeseries_set/output00000018_cells_physicell.mat differ diff --git a/timeseries_set/output00000018_microenvironment0.mat b/timeseries_set/output00000018_microenvironment0.mat new file mode 100644 index 0000000..6281758 Binary files /dev/null and b/timeseries_set/output00000018_microenvironment0.mat differ diff --git a/timeseries_set/output00000019.xml b/timeseries_set/output00000019.xml new file mode 100644 index 0000000..68737b9 --- /dev/null +++ b/timeseries_set/output00000019.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1140.000000 + 23.677404 + 2019-08-30T19:48:31Z + 2019-08-30T19:48:31Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000019_microenvironment0.mat + + + + + + + + + output00000019_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000019_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000019_cells.mat b/timeseries_set/output00000019_cells.mat new file mode 100644 index 0000000..39fb70e Binary files /dev/null and b/timeseries_set/output00000019_cells.mat differ diff --git a/timeseries_set/output00000019_cells_physicell.mat b/timeseries_set/output00000019_cells_physicell.mat new file mode 100644 index 0000000..502251b Binary files /dev/null and b/timeseries_set/output00000019_cells_physicell.mat differ diff --git a/timeseries_set/output00000019_microenvironment0.mat b/timeseries_set/output00000019_microenvironment0.mat new file mode 100644 index 0000000..e437116 Binary files /dev/null and b/timeseries_set/output00000019_microenvironment0.mat differ diff --git a/timeseries_set/output00000020.xml b/timeseries_set/output00000020.xml new file mode 100644 index 0000000..c2bac22 --- /dev/null +++ b/timeseries_set/output00000020.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1200.000000 + 24.461455 + 2019-08-30T19:48:32Z + 2019-08-30T19:48:32Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000020_microenvironment0.mat + + + + + + + + + output00000020_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000020_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000020_cells.mat b/timeseries_set/output00000020_cells.mat new file mode 100644 index 0000000..e733765 Binary files /dev/null and b/timeseries_set/output00000020_cells.mat differ diff --git a/timeseries_set/output00000020_cells_physicell.mat b/timeseries_set/output00000020_cells_physicell.mat new file mode 100644 index 0000000..902d5d7 Binary files /dev/null and b/timeseries_set/output00000020_cells_physicell.mat differ diff --git a/timeseries_set/output00000020_microenvironment0.mat b/timeseries_set/output00000020_microenvironment0.mat new file mode 100644 index 0000000..825059c Binary files /dev/null and b/timeseries_set/output00000020_microenvironment0.mat differ diff --git a/timeseries_set/output00000021.xml b/timeseries_set/output00000021.xml new file mode 100644 index 0000000..a7017cc --- /dev/null +++ b/timeseries_set/output00000021.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1260.000000 + 25.251732 + 2019-08-30T19:48:33Z + 2019-08-30T19:48:33Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000021_microenvironment0.mat + + + + + + + + + output00000021_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000021_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000021_cells.mat b/timeseries_set/output00000021_cells.mat new file mode 100644 index 0000000..0454f0f Binary files /dev/null and b/timeseries_set/output00000021_cells.mat differ diff --git a/timeseries_set/output00000021_cells_physicell.mat b/timeseries_set/output00000021_cells_physicell.mat new file mode 100644 index 0000000..1053a28 Binary files /dev/null and b/timeseries_set/output00000021_cells_physicell.mat differ diff --git a/timeseries_set/output00000021_microenvironment0.mat b/timeseries_set/output00000021_microenvironment0.mat new file mode 100644 index 0000000..9a7122d Binary files /dev/null and b/timeseries_set/output00000021_microenvironment0.mat differ diff --git a/timeseries_set/output00000022.xml b/timeseries_set/output00000022.xml new file mode 100644 index 0000000..3886fee --- /dev/null +++ b/timeseries_set/output00000022.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1320.000000 + 26.045643 + 2019-08-30T19:48:34Z + 2019-08-30T19:48:34Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000022_microenvironment0.mat + + + + + + + + + output00000022_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000022_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000022_cells.mat b/timeseries_set/output00000022_cells.mat new file mode 100644 index 0000000..e8aa146 Binary files /dev/null and b/timeseries_set/output00000022_cells.mat differ diff --git a/timeseries_set/output00000022_cells_physicell.mat b/timeseries_set/output00000022_cells_physicell.mat new file mode 100644 index 0000000..638d7c2 Binary files /dev/null and b/timeseries_set/output00000022_cells_physicell.mat differ diff --git a/timeseries_set/output00000022_microenvironment0.mat b/timeseries_set/output00000022_microenvironment0.mat new file mode 100644 index 0000000..0da2d11 Binary files /dev/null and b/timeseries_set/output00000022_microenvironment0.mat differ diff --git a/timeseries_set/output00000023.xml b/timeseries_set/output00000023.xml new file mode 100644 index 0000000..04f848e --- /dev/null +++ b/timeseries_set/output00000023.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1380.000000 + 26.837936 + 2019-08-30T19:48:35Z + 2019-08-30T19:48:35Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000023_microenvironment0.mat + + + + + + + + + output00000023_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000023_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000023_cells.mat b/timeseries_set/output00000023_cells.mat new file mode 100644 index 0000000..88ca7ca Binary files /dev/null and b/timeseries_set/output00000023_cells.mat differ diff --git a/timeseries_set/output00000023_cells_physicell.mat b/timeseries_set/output00000023_cells_physicell.mat new file mode 100644 index 0000000..bf0c19d Binary files /dev/null and b/timeseries_set/output00000023_cells_physicell.mat differ diff --git a/timeseries_set/output00000023_microenvironment0.mat b/timeseries_set/output00000023_microenvironment0.mat new file mode 100644 index 0000000..4e49363 Binary files /dev/null and b/timeseries_set/output00000023_microenvironment0.mat differ diff --git a/timeseries_set/output00000024.xml b/timeseries_set/output00000024.xml new file mode 100644 index 0000000..48bdc29 --- /dev/null +++ b/timeseries_set/output00000024.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1440.000000 + 27.642156 + 2019-08-30T19:48:35Z + 2019-08-30T19:48:35Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000024_microenvironment0.mat + + + + + + + + + output00000024_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000024_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000024_cells.mat b/timeseries_set/output00000024_cells.mat new file mode 100644 index 0000000..46db1a5 Binary files /dev/null and b/timeseries_set/output00000024_cells.mat differ diff --git a/timeseries_set/output00000024_cells_physicell.mat b/timeseries_set/output00000024_cells_physicell.mat new file mode 100644 index 0000000..40b9ef4 Binary files /dev/null and b/timeseries_set/output00000024_cells_physicell.mat differ diff --git a/timeseries_set/output00000024_microenvironment0.mat b/timeseries_set/output00000024_microenvironment0.mat new file mode 100644 index 0000000..24552cb Binary files /dev/null and b/timeseries_set/output00000024_microenvironment0.mat differ diff --git a/timeseries_set/output00000025.xml b/timeseries_set/output00000025.xml new file mode 100644 index 0000000..457b282 --- /dev/null +++ b/timeseries_set/output00000025.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1500.000000 + 28.448561 + 2019-08-30T19:48:36Z + 2019-08-30T19:48:36Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000025_microenvironment0.mat + + + + + + + + + output00000025_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000025_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000025_cells.mat b/timeseries_set/output00000025_cells.mat new file mode 100644 index 0000000..6161f25 Binary files /dev/null and b/timeseries_set/output00000025_cells.mat differ diff --git a/timeseries_set/output00000025_cells_physicell.mat b/timeseries_set/output00000025_cells_physicell.mat new file mode 100644 index 0000000..7e6082c Binary files /dev/null and b/timeseries_set/output00000025_cells_physicell.mat differ diff --git a/timeseries_set/output00000025_microenvironment0.mat b/timeseries_set/output00000025_microenvironment0.mat new file mode 100644 index 0000000..5a07a35 Binary files /dev/null and b/timeseries_set/output00000025_microenvironment0.mat differ diff --git a/timeseries_set/output00000026.xml b/timeseries_set/output00000026.xml new file mode 100644 index 0000000..a8c80a0 --- /dev/null +++ b/timeseries_set/output00000026.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1560.000000 + 29.246580 + 2019-08-30T19:48:37Z + 2019-08-30T19:48:37Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000026_microenvironment0.mat + + + + + + + + + output00000026_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000026_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000026_cells.mat b/timeseries_set/output00000026_cells.mat new file mode 100644 index 0000000..e2b4e26 Binary files /dev/null and b/timeseries_set/output00000026_cells.mat differ diff --git a/timeseries_set/output00000026_cells_physicell.mat b/timeseries_set/output00000026_cells_physicell.mat new file mode 100644 index 0000000..159d6d7 Binary files /dev/null and b/timeseries_set/output00000026_cells_physicell.mat differ diff --git a/timeseries_set/output00000026_microenvironment0.mat b/timeseries_set/output00000026_microenvironment0.mat new file mode 100644 index 0000000..0acd979 Binary files /dev/null and b/timeseries_set/output00000026_microenvironment0.mat differ diff --git a/timeseries_set/output00000027.xml b/timeseries_set/output00000027.xml new file mode 100644 index 0000000..ff6e039 --- /dev/null +++ b/timeseries_set/output00000027.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1620.000000 + 30.056340 + 2019-08-30T19:48:38Z + 2019-08-30T19:48:38Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000027_microenvironment0.mat + + + + + + + + + output00000027_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000027_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000027_cells.mat b/timeseries_set/output00000027_cells.mat new file mode 100644 index 0000000..40e39e4 Binary files /dev/null and b/timeseries_set/output00000027_cells.mat differ diff --git a/timeseries_set/output00000027_cells_physicell.mat b/timeseries_set/output00000027_cells_physicell.mat new file mode 100644 index 0000000..bd1f6e6 Binary files /dev/null and b/timeseries_set/output00000027_cells_physicell.mat differ diff --git a/timeseries_set/output00000027_microenvironment0.mat b/timeseries_set/output00000027_microenvironment0.mat new file mode 100644 index 0000000..6af5e27 Binary files /dev/null and b/timeseries_set/output00000027_microenvironment0.mat differ diff --git a/timeseries_set/output00000028.xml b/timeseries_set/output00000028.xml new file mode 100644 index 0000000..a748af1 --- /dev/null +++ b/timeseries_set/output00000028.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1680.000000 + 30.881546 + 2019-08-30T19:48:39Z + 2019-08-30T19:48:39Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000028_microenvironment0.mat + + + + + + + + + output00000028_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000028_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000028_cells.mat b/timeseries_set/output00000028_cells.mat new file mode 100644 index 0000000..6adbf50 Binary files /dev/null and b/timeseries_set/output00000028_cells.mat differ diff --git a/timeseries_set/output00000028_cells_physicell.mat b/timeseries_set/output00000028_cells_physicell.mat new file mode 100644 index 0000000..f1d99c7 Binary files /dev/null and b/timeseries_set/output00000028_cells_physicell.mat differ diff --git a/timeseries_set/output00000028_microenvironment0.mat b/timeseries_set/output00000028_microenvironment0.mat new file mode 100644 index 0000000..77871eb Binary files /dev/null and b/timeseries_set/output00000028_microenvironment0.mat differ diff --git a/timeseries_set/output00000029.xml b/timeseries_set/output00000029.xml new file mode 100644 index 0000000..b07d5b6 --- /dev/null +++ b/timeseries_set/output00000029.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1740.000000 + 31.693659 + 2019-08-30T19:48:39Z + 2019-08-30T19:48:39Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000029_microenvironment0.mat + + + + + + + + + output00000029_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000029_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000029_cells.mat b/timeseries_set/output00000029_cells.mat new file mode 100644 index 0000000..7f60fe7 Binary files /dev/null and b/timeseries_set/output00000029_cells.mat differ diff --git a/timeseries_set/output00000029_cells_physicell.mat b/timeseries_set/output00000029_cells_physicell.mat new file mode 100644 index 0000000..69abf57 Binary files /dev/null and b/timeseries_set/output00000029_cells_physicell.mat differ diff --git a/timeseries_set/output00000029_microenvironment0.mat b/timeseries_set/output00000029_microenvironment0.mat new file mode 100644 index 0000000..0c330f4 Binary files /dev/null and b/timeseries_set/output00000029_microenvironment0.mat differ diff --git a/timeseries_set/output00000030.xml b/timeseries_set/output00000030.xml new file mode 100644 index 0000000..c234263 --- /dev/null +++ b/timeseries_set/output00000030.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1800.000000 + 32.505888 + 2019-08-30T19:48:40Z + 2019-08-30T19:48:40Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000030_microenvironment0.mat + + + + + + + + + output00000030_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000030_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000030_cells.mat b/timeseries_set/output00000030_cells.mat new file mode 100644 index 0000000..128bba9 Binary files /dev/null and b/timeseries_set/output00000030_cells.mat differ diff --git a/timeseries_set/output00000030_cells_physicell.mat b/timeseries_set/output00000030_cells_physicell.mat new file mode 100644 index 0000000..e6b58e4 Binary files /dev/null and b/timeseries_set/output00000030_cells_physicell.mat differ diff --git a/timeseries_set/output00000030_microenvironment0.mat b/timeseries_set/output00000030_microenvironment0.mat new file mode 100644 index 0000000..a18e430 Binary files /dev/null and b/timeseries_set/output00000030_microenvironment0.mat differ diff --git a/timeseries_set/output00000031.xml b/timeseries_set/output00000031.xml new file mode 100644 index 0000000..32439d5 --- /dev/null +++ b/timeseries_set/output00000031.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1860.000000 + 33.329764 + 2019-08-30T19:48:41Z + 2019-08-30T19:48:41Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000031_microenvironment0.mat + + + + + + + + + output00000031_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000031_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000031_cells.mat b/timeseries_set/output00000031_cells.mat new file mode 100644 index 0000000..5a71570 Binary files /dev/null and b/timeseries_set/output00000031_cells.mat differ diff --git a/timeseries_set/output00000031_cells_physicell.mat b/timeseries_set/output00000031_cells_physicell.mat new file mode 100644 index 0000000..623dc9a Binary files /dev/null and b/timeseries_set/output00000031_cells_physicell.mat differ diff --git a/timeseries_set/output00000031_microenvironment0.mat b/timeseries_set/output00000031_microenvironment0.mat new file mode 100644 index 0000000..6fa1f66 Binary files /dev/null and b/timeseries_set/output00000031_microenvironment0.mat differ diff --git a/timeseries_set/output00000032.xml b/timeseries_set/output00000032.xml new file mode 100644 index 0000000..c3d1b1f --- /dev/null +++ b/timeseries_set/output00000032.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1920.000000 + 34.158284 + 2019-08-30T19:48:42Z + 2019-08-30T19:48:42Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000032_microenvironment0.mat + + + + + + + + + output00000032_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000032_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000032_cells.mat b/timeseries_set/output00000032_cells.mat new file mode 100644 index 0000000..90d2c24 Binary files /dev/null and b/timeseries_set/output00000032_cells.mat differ diff --git a/timeseries_set/output00000032_cells_physicell.mat b/timeseries_set/output00000032_cells_physicell.mat new file mode 100644 index 0000000..42389c6 Binary files /dev/null and b/timeseries_set/output00000032_cells_physicell.mat differ diff --git a/timeseries_set/output00000032_microenvironment0.mat b/timeseries_set/output00000032_microenvironment0.mat new file mode 100644 index 0000000..3461c5f Binary files /dev/null and b/timeseries_set/output00000032_microenvironment0.mat differ diff --git a/timeseries_set/output00000033.xml b/timeseries_set/output00000033.xml new file mode 100644 index 0000000..ca2e448 --- /dev/null +++ b/timeseries_set/output00000033.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 1980.000000 + 34.991060 + 2019-08-30T19:48:43Z + 2019-08-30T19:48:43Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000033_microenvironment0.mat + + + + + + + + + output00000033_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000033_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000033_cells.mat b/timeseries_set/output00000033_cells.mat new file mode 100644 index 0000000..d1f9739 Binary files /dev/null and b/timeseries_set/output00000033_cells.mat differ diff --git a/timeseries_set/output00000033_cells_physicell.mat b/timeseries_set/output00000033_cells_physicell.mat new file mode 100644 index 0000000..d9bd646 Binary files /dev/null and b/timeseries_set/output00000033_cells_physicell.mat differ diff --git a/timeseries_set/output00000033_microenvironment0.mat b/timeseries_set/output00000033_microenvironment0.mat new file mode 100644 index 0000000..ba3179f Binary files /dev/null and b/timeseries_set/output00000033_microenvironment0.mat differ diff --git a/timeseries_set/output00000034.xml b/timeseries_set/output00000034.xml new file mode 100644 index 0000000..2c8bfc5 --- /dev/null +++ b/timeseries_set/output00000034.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2040.000000 + 35.826088 + 2019-08-30T19:48:44Z + 2019-08-30T19:48:44Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000034_microenvironment0.mat + + + + + + + + + output00000034_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000034_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000034_cells.mat b/timeseries_set/output00000034_cells.mat new file mode 100644 index 0000000..18304b0 Binary files /dev/null and b/timeseries_set/output00000034_cells.mat differ diff --git a/timeseries_set/output00000034_cells_physicell.mat b/timeseries_set/output00000034_cells_physicell.mat new file mode 100644 index 0000000..4f7508f Binary files /dev/null and b/timeseries_set/output00000034_cells_physicell.mat differ diff --git a/timeseries_set/output00000034_microenvironment0.mat b/timeseries_set/output00000034_microenvironment0.mat new file mode 100644 index 0000000..8195513 Binary files /dev/null and b/timeseries_set/output00000034_microenvironment0.mat differ diff --git a/timeseries_set/output00000035.xml b/timeseries_set/output00000035.xml new file mode 100644 index 0000000..198dafc --- /dev/null +++ b/timeseries_set/output00000035.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2100.000000 + 36.666132 + 2019-08-30T19:48:44Z + 2019-08-30T19:48:44Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000035_microenvironment0.mat + + + + + + + + + output00000035_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000035_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000035_cells.mat b/timeseries_set/output00000035_cells.mat new file mode 100644 index 0000000..591d5c8 Binary files /dev/null and b/timeseries_set/output00000035_cells.mat differ diff --git a/timeseries_set/output00000035_cells_physicell.mat b/timeseries_set/output00000035_cells_physicell.mat new file mode 100644 index 0000000..79db61f Binary files /dev/null and b/timeseries_set/output00000035_cells_physicell.mat differ diff --git a/timeseries_set/output00000035_microenvironment0.mat b/timeseries_set/output00000035_microenvironment0.mat new file mode 100644 index 0000000..21dca68 Binary files /dev/null and b/timeseries_set/output00000035_microenvironment0.mat differ diff --git a/timeseries_set/output00000036.xml b/timeseries_set/output00000036.xml new file mode 100644 index 0000000..be76015 --- /dev/null +++ b/timeseries_set/output00000036.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2160.000000 + 37.508236 + 2019-08-30T19:48:45Z + 2019-08-30T19:48:45Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000036_microenvironment0.mat + + + + + + + + + output00000036_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000036_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000036_cells.mat b/timeseries_set/output00000036_cells.mat new file mode 100644 index 0000000..34e6eb1 Binary files /dev/null and b/timeseries_set/output00000036_cells.mat differ diff --git a/timeseries_set/output00000036_cells_physicell.mat b/timeseries_set/output00000036_cells_physicell.mat new file mode 100644 index 0000000..b3ac089 Binary files /dev/null and b/timeseries_set/output00000036_cells_physicell.mat differ diff --git a/timeseries_set/output00000036_microenvironment0.mat b/timeseries_set/output00000036_microenvironment0.mat new file mode 100644 index 0000000..4dbd248 Binary files /dev/null and b/timeseries_set/output00000036_microenvironment0.mat differ diff --git a/timeseries_set/output00000037.xml b/timeseries_set/output00000037.xml new file mode 100644 index 0000000..82d70ab --- /dev/null +++ b/timeseries_set/output00000037.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2220.000000 + 38.352664 + 2019-08-30T19:48:46Z + 2019-08-30T19:48:46Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000037_microenvironment0.mat + + + + + + + + + output00000037_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000037_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000037_cells.mat b/timeseries_set/output00000037_cells.mat new file mode 100644 index 0000000..f45109d Binary files /dev/null and b/timeseries_set/output00000037_cells.mat differ diff --git a/timeseries_set/output00000037_cells_physicell.mat b/timeseries_set/output00000037_cells_physicell.mat new file mode 100644 index 0000000..8eb7d28 Binary files /dev/null and b/timeseries_set/output00000037_cells_physicell.mat differ diff --git a/timeseries_set/output00000037_microenvironment0.mat b/timeseries_set/output00000037_microenvironment0.mat new file mode 100644 index 0000000..589dfc5 Binary files /dev/null and b/timeseries_set/output00000037_microenvironment0.mat differ diff --git a/timeseries_set/output00000038.xml b/timeseries_set/output00000038.xml new file mode 100644 index 0000000..3edc193 --- /dev/null +++ b/timeseries_set/output00000038.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2280.000000 + 39.200052 + 2019-08-30T19:48:47Z + 2019-08-30T19:48:47Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000038_microenvironment0.mat + + + + + + + + + output00000038_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000038_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000038_cells.mat b/timeseries_set/output00000038_cells.mat new file mode 100644 index 0000000..82626f0 Binary files /dev/null and b/timeseries_set/output00000038_cells.mat differ diff --git a/timeseries_set/output00000038_cells_physicell.mat b/timeseries_set/output00000038_cells_physicell.mat new file mode 100644 index 0000000..b95e27d Binary files /dev/null and b/timeseries_set/output00000038_cells_physicell.mat differ diff --git a/timeseries_set/output00000038_microenvironment0.mat b/timeseries_set/output00000038_microenvironment0.mat new file mode 100644 index 0000000..0a87af9 Binary files /dev/null and b/timeseries_set/output00000038_microenvironment0.mat differ diff --git a/timeseries_set/output00000039.xml b/timeseries_set/output00000039.xml new file mode 100644 index 0000000..2f361bc --- /dev/null +++ b/timeseries_set/output00000039.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2340.000000 + 40.045661 + 2019-08-30T19:48:48Z + 2019-08-30T19:48:48Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000039_microenvironment0.mat + + + + + + + + + output00000039_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000039_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000039_cells.mat b/timeseries_set/output00000039_cells.mat new file mode 100644 index 0000000..5ae19ca Binary files /dev/null and b/timeseries_set/output00000039_cells.mat differ diff --git a/timeseries_set/output00000039_cells_physicell.mat b/timeseries_set/output00000039_cells_physicell.mat new file mode 100644 index 0000000..112653b Binary files /dev/null and b/timeseries_set/output00000039_cells_physicell.mat differ diff --git a/timeseries_set/output00000039_microenvironment0.mat b/timeseries_set/output00000039_microenvironment0.mat new file mode 100644 index 0000000..856b98c Binary files /dev/null and b/timeseries_set/output00000039_microenvironment0.mat differ diff --git a/timeseries_set/output00000040.xml b/timeseries_set/output00000040.xml new file mode 100644 index 0000000..211a6bd --- /dev/null +++ b/timeseries_set/output00000040.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2400.000000 + 40.905996 + 2019-08-30T19:48:49Z + 2019-08-30T19:48:49Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000040_microenvironment0.mat + + + + + + + + + output00000040_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000040_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000040_cells.mat b/timeseries_set/output00000040_cells.mat new file mode 100644 index 0000000..7834f95 Binary files /dev/null and b/timeseries_set/output00000040_cells.mat differ diff --git a/timeseries_set/output00000040_cells_physicell.mat b/timeseries_set/output00000040_cells_physicell.mat new file mode 100644 index 0000000..6f25f76 Binary files /dev/null and b/timeseries_set/output00000040_cells_physicell.mat differ diff --git a/timeseries_set/output00000040_microenvironment0.mat b/timeseries_set/output00000040_microenvironment0.mat new file mode 100644 index 0000000..0f4309f Binary files /dev/null and b/timeseries_set/output00000040_microenvironment0.mat differ diff --git a/timeseries_set/output00000041.xml b/timeseries_set/output00000041.xml new file mode 100644 index 0000000..0171e4e --- /dev/null +++ b/timeseries_set/output00000041.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2460.000000 + 41.763984 + 2019-08-30T19:48:49Z + 2019-08-30T19:48:49Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000041_microenvironment0.mat + + + + + + + + + output00000041_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000041_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000041_cells.mat b/timeseries_set/output00000041_cells.mat new file mode 100644 index 0000000..de8dad7 Binary files /dev/null and b/timeseries_set/output00000041_cells.mat differ diff --git a/timeseries_set/output00000041_cells_physicell.mat b/timeseries_set/output00000041_cells_physicell.mat new file mode 100644 index 0000000..021a35a Binary files /dev/null and b/timeseries_set/output00000041_cells_physicell.mat differ diff --git a/timeseries_set/output00000041_microenvironment0.mat b/timeseries_set/output00000041_microenvironment0.mat new file mode 100644 index 0000000..d6253a8 Binary files /dev/null and b/timeseries_set/output00000041_microenvironment0.mat differ diff --git a/timeseries_set/output00000042.xml b/timeseries_set/output00000042.xml new file mode 100644 index 0000000..af7e6e1 --- /dev/null +++ b/timeseries_set/output00000042.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2520.000000 + 42.628745 + 2019-08-30T19:48:50Z + 2019-08-30T19:48:50Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000042_microenvironment0.mat + + + + + + + + + output00000042_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000042_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000042_cells.mat b/timeseries_set/output00000042_cells.mat new file mode 100644 index 0000000..19c6027 Binary files /dev/null and b/timeseries_set/output00000042_cells.mat differ diff --git a/timeseries_set/output00000042_cells_physicell.mat b/timeseries_set/output00000042_cells_physicell.mat new file mode 100644 index 0000000..c5a1320 Binary files /dev/null and b/timeseries_set/output00000042_cells_physicell.mat differ diff --git a/timeseries_set/output00000042_microenvironment0.mat b/timeseries_set/output00000042_microenvironment0.mat new file mode 100644 index 0000000..b685e13 Binary files /dev/null and b/timeseries_set/output00000042_microenvironment0.mat differ diff --git a/timeseries_set/output00000043.xml b/timeseries_set/output00000043.xml new file mode 100644 index 0000000..e97d8c2 --- /dev/null +++ b/timeseries_set/output00000043.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2580.000000 + 43.561326 + 2019-08-30T19:48:51Z + 2019-08-30T19:48:51Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000043_microenvironment0.mat + + + + + + + + + output00000043_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000043_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000043_cells.mat b/timeseries_set/output00000043_cells.mat new file mode 100644 index 0000000..1d5443b Binary files /dev/null and b/timeseries_set/output00000043_cells.mat differ diff --git a/timeseries_set/output00000043_cells_physicell.mat b/timeseries_set/output00000043_cells_physicell.mat new file mode 100644 index 0000000..821185e Binary files /dev/null and b/timeseries_set/output00000043_cells_physicell.mat differ diff --git a/timeseries_set/output00000043_microenvironment0.mat b/timeseries_set/output00000043_microenvironment0.mat new file mode 100644 index 0000000..a57baab Binary files /dev/null and b/timeseries_set/output00000043_microenvironment0.mat differ diff --git a/timeseries_set/output00000044.xml b/timeseries_set/output00000044.xml new file mode 100644 index 0000000..a29b555 --- /dev/null +++ b/timeseries_set/output00000044.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2640.000000 + 44.437147 + 2019-08-30T19:48:52Z + 2019-08-30T19:48:52Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000044_microenvironment0.mat + + + + + + + + + output00000044_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000044_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000044_cells.mat b/timeseries_set/output00000044_cells.mat new file mode 100644 index 0000000..a7bee1e Binary files /dev/null and b/timeseries_set/output00000044_cells.mat differ diff --git a/timeseries_set/output00000044_cells_physicell.mat b/timeseries_set/output00000044_cells_physicell.mat new file mode 100644 index 0000000..d237997 Binary files /dev/null and b/timeseries_set/output00000044_cells_physicell.mat differ diff --git a/timeseries_set/output00000044_microenvironment0.mat b/timeseries_set/output00000044_microenvironment0.mat new file mode 100644 index 0000000..edd6447 Binary files /dev/null and b/timeseries_set/output00000044_microenvironment0.mat differ diff --git a/timeseries_set/output00000045.xml b/timeseries_set/output00000045.xml new file mode 100644 index 0000000..735a08b --- /dev/null +++ b/timeseries_set/output00000045.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2700.000000 + 45.318563 + 2019-08-30T19:48:53Z + 2019-08-30T19:48:53Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000045_microenvironment0.mat + + + + + + + + + output00000045_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000045_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000045_cells.mat b/timeseries_set/output00000045_cells.mat new file mode 100644 index 0000000..b1ef1e3 Binary files /dev/null and b/timeseries_set/output00000045_cells.mat differ diff --git a/timeseries_set/output00000045_cells_physicell.mat b/timeseries_set/output00000045_cells_physicell.mat new file mode 100644 index 0000000..fbad7d1 Binary files /dev/null and b/timeseries_set/output00000045_cells_physicell.mat differ diff --git a/timeseries_set/output00000045_microenvironment0.mat b/timeseries_set/output00000045_microenvironment0.mat new file mode 100644 index 0000000..58af3a2 Binary files /dev/null and b/timeseries_set/output00000045_microenvironment0.mat differ diff --git a/timeseries_set/output00000046.xml b/timeseries_set/output00000046.xml new file mode 100644 index 0000000..b24789a --- /dev/null +++ b/timeseries_set/output00000046.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2760.000000 + 46.206996 + 2019-08-30T19:48:54Z + 2019-08-30T19:48:54Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000046_microenvironment0.mat + + + + + + + + + output00000046_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000046_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000046_cells.mat b/timeseries_set/output00000046_cells.mat new file mode 100644 index 0000000..bd37db5 Binary files /dev/null and b/timeseries_set/output00000046_cells.mat differ diff --git a/timeseries_set/output00000046_cells_physicell.mat b/timeseries_set/output00000046_cells_physicell.mat new file mode 100644 index 0000000..61aa40e Binary files /dev/null and b/timeseries_set/output00000046_cells_physicell.mat differ diff --git a/timeseries_set/output00000046_microenvironment0.mat b/timeseries_set/output00000046_microenvironment0.mat new file mode 100644 index 0000000..e3b08f9 Binary files /dev/null and b/timeseries_set/output00000046_microenvironment0.mat differ diff --git a/timeseries_set/output00000047.xml b/timeseries_set/output00000047.xml new file mode 100644 index 0000000..d2f0d57 --- /dev/null +++ b/timeseries_set/output00000047.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2820.000000 + 47.097286 + 2019-08-30T19:48:55Z + 2019-08-30T19:48:55Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000047_microenvironment0.mat + + + + + + + + + output00000047_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000047_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000047_cells.mat b/timeseries_set/output00000047_cells.mat new file mode 100644 index 0000000..8b97be2 Binary files /dev/null and b/timeseries_set/output00000047_cells.mat differ diff --git a/timeseries_set/output00000047_cells_physicell.mat b/timeseries_set/output00000047_cells_physicell.mat new file mode 100644 index 0000000..d0b71ce Binary files /dev/null and b/timeseries_set/output00000047_cells_physicell.mat differ diff --git a/timeseries_set/output00000047_microenvironment0.mat b/timeseries_set/output00000047_microenvironment0.mat new file mode 100644 index 0000000..e03b752 Binary files /dev/null and b/timeseries_set/output00000047_microenvironment0.mat differ diff --git a/timeseries_set/output00000048.xml b/timeseries_set/output00000048.xml new file mode 100644 index 0000000..8c8d189 --- /dev/null +++ b/timeseries_set/output00000048.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2880.000000 + 47.976250 + 2019-08-30T19:48:56Z + 2019-08-30T19:48:56Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000048_microenvironment0.mat + + + + + + + + + output00000048_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000048_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000048_cells.mat b/timeseries_set/output00000048_cells.mat new file mode 100644 index 0000000..1f61267 Binary files /dev/null and b/timeseries_set/output00000048_cells.mat differ diff --git a/timeseries_set/output00000048_cells_physicell.mat b/timeseries_set/output00000048_cells_physicell.mat new file mode 100644 index 0000000..ab7e8e8 Binary files /dev/null and b/timeseries_set/output00000048_cells_physicell.mat differ diff --git a/timeseries_set/output00000048_microenvironment0.mat b/timeseries_set/output00000048_microenvironment0.mat new file mode 100644 index 0000000..b739df8 Binary files /dev/null and b/timeseries_set/output00000048_microenvironment0.mat differ diff --git a/timeseries_set/output00000049.xml b/timeseries_set/output00000049.xml new file mode 100644 index 0000000..b94c144 --- /dev/null +++ b/timeseries_set/output00000049.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 2940.000000 + 48.874005 + 2019-08-30T19:48:57Z + 2019-08-30T19:48:57Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000049_microenvironment0.mat + + + + + + + + + output00000049_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000049_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000049_cells.mat b/timeseries_set/output00000049_cells.mat new file mode 100644 index 0000000..5aa4cc5 Binary files /dev/null and b/timeseries_set/output00000049_cells.mat differ diff --git a/timeseries_set/output00000049_cells_physicell.mat b/timeseries_set/output00000049_cells_physicell.mat new file mode 100644 index 0000000..f30a3a7 Binary files /dev/null and b/timeseries_set/output00000049_cells_physicell.mat differ diff --git a/timeseries_set/output00000049_microenvironment0.mat b/timeseries_set/output00000049_microenvironment0.mat new file mode 100644 index 0000000..caf6c46 Binary files /dev/null and b/timeseries_set/output00000049_microenvironment0.mat differ diff --git a/timeseries_set/output00000050.xml b/timeseries_set/output00000050.xml new file mode 100644 index 0000000..ef8a3e5 --- /dev/null +++ b/timeseries_set/output00000050.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3000.000000 + 49.778471 + 2019-08-30T19:48:57Z + 2019-08-30T19:48:57Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000050_microenvironment0.mat + + + + + + + + + output00000050_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000050_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000050_cells.mat b/timeseries_set/output00000050_cells.mat new file mode 100644 index 0000000..b38dc19 Binary files /dev/null and b/timeseries_set/output00000050_cells.mat differ diff --git a/timeseries_set/output00000050_cells_physicell.mat b/timeseries_set/output00000050_cells_physicell.mat new file mode 100644 index 0000000..6e02653 Binary files /dev/null and b/timeseries_set/output00000050_cells_physicell.mat differ diff --git a/timeseries_set/output00000050_microenvironment0.mat b/timeseries_set/output00000050_microenvironment0.mat new file mode 100644 index 0000000..21a4c83 Binary files /dev/null and b/timeseries_set/output00000050_microenvironment0.mat differ diff --git a/timeseries_set/output00000051.xml b/timeseries_set/output00000051.xml new file mode 100644 index 0000000..d8f442b --- /dev/null +++ b/timeseries_set/output00000051.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3060.000000 + 50.693398 + 2019-08-30T19:48:58Z + 2019-08-30T19:48:58Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000051_microenvironment0.mat + + + + + + + + + output00000051_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000051_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000051_cells.mat b/timeseries_set/output00000051_cells.mat new file mode 100644 index 0000000..b55e21b Binary files /dev/null and b/timeseries_set/output00000051_cells.mat differ diff --git a/timeseries_set/output00000051_cells_physicell.mat b/timeseries_set/output00000051_cells_physicell.mat new file mode 100644 index 0000000..287e2d8 Binary files /dev/null and b/timeseries_set/output00000051_cells_physicell.mat differ diff --git a/timeseries_set/output00000051_microenvironment0.mat b/timeseries_set/output00000051_microenvironment0.mat new file mode 100644 index 0000000..85abc01 Binary files /dev/null and b/timeseries_set/output00000051_microenvironment0.mat differ diff --git a/timeseries_set/output00000052.xml b/timeseries_set/output00000052.xml new file mode 100644 index 0000000..78409b1 --- /dev/null +++ b/timeseries_set/output00000052.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3120.000000 + 51.601683 + 2019-08-30T19:48:59Z + 2019-08-30T19:48:59Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000052_microenvironment0.mat + + + + + + + + + output00000052_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000052_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000052_cells.mat b/timeseries_set/output00000052_cells.mat new file mode 100644 index 0000000..2560864 Binary files /dev/null and b/timeseries_set/output00000052_cells.mat differ diff --git a/timeseries_set/output00000052_cells_physicell.mat b/timeseries_set/output00000052_cells_physicell.mat new file mode 100644 index 0000000..530f347 Binary files /dev/null and b/timeseries_set/output00000052_cells_physicell.mat differ diff --git a/timeseries_set/output00000052_microenvironment0.mat b/timeseries_set/output00000052_microenvironment0.mat new file mode 100644 index 0000000..9670a01 Binary files /dev/null and b/timeseries_set/output00000052_microenvironment0.mat differ diff --git a/timeseries_set/output00000053.xml b/timeseries_set/output00000053.xml new file mode 100644 index 0000000..918310b --- /dev/null +++ b/timeseries_set/output00000053.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3180.000000 + 52.514112 + 2019-08-30T19:49:00Z + 2019-08-30T19:49:00Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000053_microenvironment0.mat + + + + + + + + + output00000053_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000053_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000053_cells.mat b/timeseries_set/output00000053_cells.mat new file mode 100644 index 0000000..3abf5e7 Binary files /dev/null and b/timeseries_set/output00000053_cells.mat differ diff --git a/timeseries_set/output00000053_cells_physicell.mat b/timeseries_set/output00000053_cells_physicell.mat new file mode 100644 index 0000000..110132c Binary files /dev/null and b/timeseries_set/output00000053_cells_physicell.mat differ diff --git a/timeseries_set/output00000053_microenvironment0.mat b/timeseries_set/output00000053_microenvironment0.mat new file mode 100644 index 0000000..16c5b30 Binary files /dev/null and b/timeseries_set/output00000053_microenvironment0.mat differ diff --git a/timeseries_set/output00000054.xml b/timeseries_set/output00000054.xml new file mode 100644 index 0000000..3572f9b --- /dev/null +++ b/timeseries_set/output00000054.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3240.000000 + 53.454756 + 2019-08-30T19:49:01Z + 2019-08-30T19:49:01Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000054_microenvironment0.mat + + + + + + + + + output00000054_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000054_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000054_cells.mat b/timeseries_set/output00000054_cells.mat new file mode 100644 index 0000000..2fdb541 Binary files /dev/null and b/timeseries_set/output00000054_cells.mat differ diff --git a/timeseries_set/output00000054_cells_physicell.mat b/timeseries_set/output00000054_cells_physicell.mat new file mode 100644 index 0000000..9aaf1b6 Binary files /dev/null and b/timeseries_set/output00000054_cells_physicell.mat differ diff --git a/timeseries_set/output00000054_microenvironment0.mat b/timeseries_set/output00000054_microenvironment0.mat new file mode 100644 index 0000000..ffc29b8 Binary files /dev/null and b/timeseries_set/output00000054_microenvironment0.mat differ diff --git a/timeseries_set/output00000055.xml b/timeseries_set/output00000055.xml new file mode 100644 index 0000000..b4726ed --- /dev/null +++ b/timeseries_set/output00000055.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3300.000000 + 54.378665 + 2019-08-30T19:49:02Z + 2019-08-30T19:49:02Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000055_microenvironment0.mat + + + + + + + + + output00000055_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000055_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000055_cells.mat b/timeseries_set/output00000055_cells.mat new file mode 100644 index 0000000..318e77e Binary files /dev/null and b/timeseries_set/output00000055_cells.mat differ diff --git a/timeseries_set/output00000055_cells_physicell.mat b/timeseries_set/output00000055_cells_physicell.mat new file mode 100644 index 0000000..9148616 Binary files /dev/null and b/timeseries_set/output00000055_cells_physicell.mat differ diff --git a/timeseries_set/output00000055_microenvironment0.mat b/timeseries_set/output00000055_microenvironment0.mat new file mode 100644 index 0000000..48cef90 Binary files /dev/null and b/timeseries_set/output00000055_microenvironment0.mat differ diff --git a/timeseries_set/output00000056.xml b/timeseries_set/output00000056.xml new file mode 100644 index 0000000..6ee6605 --- /dev/null +++ b/timeseries_set/output00000056.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3360.000000 + 55.305750 + 2019-08-30T19:49:03Z + 2019-08-30T19:49:03Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000056_microenvironment0.mat + + + + + + + + + output00000056_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000056_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000056_cells.mat b/timeseries_set/output00000056_cells.mat new file mode 100644 index 0000000..977e780 Binary files /dev/null and b/timeseries_set/output00000056_cells.mat differ diff --git a/timeseries_set/output00000056_cells_physicell.mat b/timeseries_set/output00000056_cells_physicell.mat new file mode 100644 index 0000000..065e355 Binary files /dev/null and b/timeseries_set/output00000056_cells_physicell.mat differ diff --git a/timeseries_set/output00000056_microenvironment0.mat b/timeseries_set/output00000056_microenvironment0.mat new file mode 100644 index 0000000..8ab90f2 Binary files /dev/null and b/timeseries_set/output00000056_microenvironment0.mat differ diff --git a/timeseries_set/output00000057.xml b/timeseries_set/output00000057.xml new file mode 100644 index 0000000..4e66131 --- /dev/null +++ b/timeseries_set/output00000057.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3420.000000 + 56.232518 + 2019-08-30T19:49:04Z + 2019-08-30T19:49:04Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000057_microenvironment0.mat + + + + + + + + + output00000057_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000057_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000057_cells.mat b/timeseries_set/output00000057_cells.mat new file mode 100644 index 0000000..5a7c28a Binary files /dev/null and b/timeseries_set/output00000057_cells.mat differ diff --git a/timeseries_set/output00000057_cells_physicell.mat b/timeseries_set/output00000057_cells_physicell.mat new file mode 100644 index 0000000..50c35d5 Binary files /dev/null and b/timeseries_set/output00000057_cells_physicell.mat differ diff --git a/timeseries_set/output00000057_microenvironment0.mat b/timeseries_set/output00000057_microenvironment0.mat new file mode 100644 index 0000000..30b3ae2 Binary files /dev/null and b/timeseries_set/output00000057_microenvironment0.mat differ diff --git a/timeseries_set/output00000058.xml b/timeseries_set/output00000058.xml new file mode 100644 index 0000000..bed5d2d --- /dev/null +++ b/timeseries_set/output00000058.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3480.000000 + 57.161220 + 2019-08-30T19:49:05Z + 2019-08-30T19:49:05Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000058_microenvironment0.mat + + + + + + + + + output00000058_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000058_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000058_cells.mat b/timeseries_set/output00000058_cells.mat new file mode 100644 index 0000000..9a75f2e Binary files /dev/null and b/timeseries_set/output00000058_cells.mat differ diff --git a/timeseries_set/output00000058_cells_physicell.mat b/timeseries_set/output00000058_cells_physicell.mat new file mode 100644 index 0000000..805ed27 Binary files /dev/null and b/timeseries_set/output00000058_cells_physicell.mat differ diff --git a/timeseries_set/output00000058_microenvironment0.mat b/timeseries_set/output00000058_microenvironment0.mat new file mode 100644 index 0000000..0e167b6 Binary files /dev/null and b/timeseries_set/output00000058_microenvironment0.mat differ diff --git a/timeseries_set/output00000059.xml b/timeseries_set/output00000059.xml new file mode 100644 index 0000000..937284a --- /dev/null +++ b/timeseries_set/output00000059.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3540.000000 + 58.090264 + 2019-08-30T19:49:06Z + 2019-08-30T19:49:06Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000059_microenvironment0.mat + + + + + + + + + output00000059_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000059_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000059_cells.mat b/timeseries_set/output00000059_cells.mat new file mode 100644 index 0000000..cb7aa17 Binary files /dev/null and b/timeseries_set/output00000059_cells.mat differ diff --git a/timeseries_set/output00000059_cells_physicell.mat b/timeseries_set/output00000059_cells_physicell.mat new file mode 100644 index 0000000..30b6cd9 Binary files /dev/null and b/timeseries_set/output00000059_cells_physicell.mat differ diff --git a/timeseries_set/output00000059_microenvironment0.mat b/timeseries_set/output00000059_microenvironment0.mat new file mode 100644 index 0000000..851715a Binary files /dev/null and b/timeseries_set/output00000059_microenvironment0.mat differ diff --git a/timeseries_set/output00000060.xml b/timeseries_set/output00000060.xml new file mode 100644 index 0000000..e7f5482 --- /dev/null +++ b/timeseries_set/output00000060.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3600.000000 + 59.021605 + 2019-08-30T19:49:07Z + 2019-08-30T19:49:07Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000060_microenvironment0.mat + + + + + + + + + output00000060_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000060_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000060_cells.mat b/timeseries_set/output00000060_cells.mat new file mode 100644 index 0000000..460e7e9 Binary files /dev/null and b/timeseries_set/output00000060_cells.mat differ diff --git a/timeseries_set/output00000060_cells_physicell.mat b/timeseries_set/output00000060_cells_physicell.mat new file mode 100644 index 0000000..898df67 Binary files /dev/null and b/timeseries_set/output00000060_cells_physicell.mat differ diff --git a/timeseries_set/output00000060_microenvironment0.mat b/timeseries_set/output00000060_microenvironment0.mat new file mode 100644 index 0000000..31106f7 Binary files /dev/null and b/timeseries_set/output00000060_microenvironment0.mat differ diff --git a/timeseries_set/output00000061.xml b/timeseries_set/output00000061.xml new file mode 100644 index 0000000..2b5500f --- /dev/null +++ b/timeseries_set/output00000061.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3660.000000 + 59.956561 + 2019-08-30T19:49:08Z + 2019-08-30T19:49:08Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000061_microenvironment0.mat + + + + + + + + + output00000061_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000061_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000061_cells.mat b/timeseries_set/output00000061_cells.mat new file mode 100644 index 0000000..7fa9403 Binary files /dev/null and b/timeseries_set/output00000061_cells.mat differ diff --git a/timeseries_set/output00000061_cells_physicell.mat b/timeseries_set/output00000061_cells_physicell.mat new file mode 100644 index 0000000..b1c13fd Binary files /dev/null and b/timeseries_set/output00000061_cells_physicell.mat differ diff --git a/timeseries_set/output00000061_microenvironment0.mat b/timeseries_set/output00000061_microenvironment0.mat new file mode 100644 index 0000000..b62fdc7 Binary files /dev/null and b/timeseries_set/output00000061_microenvironment0.mat differ diff --git a/timeseries_set/output00000062.xml b/timeseries_set/output00000062.xml new file mode 100644 index 0000000..6ab2fca --- /dev/null +++ b/timeseries_set/output00000062.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3720.000000 + 60.896879 + 2019-08-30T19:49:09Z + 2019-08-30T19:49:09Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000062_microenvironment0.mat + + + + + + + + + output00000062_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000062_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000062_cells.mat b/timeseries_set/output00000062_cells.mat new file mode 100644 index 0000000..42b0df6 Binary files /dev/null and b/timeseries_set/output00000062_cells.mat differ diff --git a/timeseries_set/output00000062_cells_physicell.mat b/timeseries_set/output00000062_cells_physicell.mat new file mode 100644 index 0000000..2a32ee0 Binary files /dev/null and b/timeseries_set/output00000062_cells_physicell.mat differ diff --git a/timeseries_set/output00000062_microenvironment0.mat b/timeseries_set/output00000062_microenvironment0.mat new file mode 100644 index 0000000..ace16a6 Binary files /dev/null and b/timeseries_set/output00000062_microenvironment0.mat differ diff --git a/timeseries_set/output00000063.xml b/timeseries_set/output00000063.xml new file mode 100644 index 0000000..0fe79b7 --- /dev/null +++ b/timeseries_set/output00000063.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3780.000000 + 61.829876 + 2019-08-30T19:49:10Z + 2019-08-30T19:49:10Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000063_microenvironment0.mat + + + + + + + + + output00000063_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000063_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000063_cells.mat b/timeseries_set/output00000063_cells.mat new file mode 100644 index 0000000..0ddb61e Binary files /dev/null and b/timeseries_set/output00000063_cells.mat differ diff --git a/timeseries_set/output00000063_cells_physicell.mat b/timeseries_set/output00000063_cells_physicell.mat new file mode 100644 index 0000000..2cba16a Binary files /dev/null and b/timeseries_set/output00000063_cells_physicell.mat differ diff --git a/timeseries_set/output00000063_microenvironment0.mat b/timeseries_set/output00000063_microenvironment0.mat new file mode 100644 index 0000000..c8c89c5 Binary files /dev/null and b/timeseries_set/output00000063_microenvironment0.mat differ diff --git a/timeseries_set/output00000064.xml b/timeseries_set/output00000064.xml new file mode 100644 index 0000000..18a9ead --- /dev/null +++ b/timeseries_set/output00000064.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3840.000000 + 62.778078 + 2019-08-30T19:49:10Z + 2019-08-30T19:49:10Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000064_microenvironment0.mat + + + + + + + + + output00000064_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000064_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000064_cells.mat b/timeseries_set/output00000064_cells.mat new file mode 100644 index 0000000..6f6f474 Binary files /dev/null and b/timeseries_set/output00000064_cells.mat differ diff --git a/timeseries_set/output00000064_cells_physicell.mat b/timeseries_set/output00000064_cells_physicell.mat new file mode 100644 index 0000000..6be07b5 Binary files /dev/null and b/timeseries_set/output00000064_cells_physicell.mat differ diff --git a/timeseries_set/output00000064_microenvironment0.mat b/timeseries_set/output00000064_microenvironment0.mat new file mode 100644 index 0000000..b2d5520 Binary files /dev/null and b/timeseries_set/output00000064_microenvironment0.mat differ diff --git a/timeseries_set/output00000065.xml b/timeseries_set/output00000065.xml new file mode 100644 index 0000000..e965600 --- /dev/null +++ b/timeseries_set/output00000065.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3900.000000 + 63.729013 + 2019-08-30T19:49:11Z + 2019-08-30T19:49:11Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000065_microenvironment0.mat + + + + + + + + + output00000065_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000065_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000065_cells.mat b/timeseries_set/output00000065_cells.mat new file mode 100644 index 0000000..2278150 Binary files /dev/null and b/timeseries_set/output00000065_cells.mat differ diff --git a/timeseries_set/output00000065_cells_physicell.mat b/timeseries_set/output00000065_cells_physicell.mat new file mode 100644 index 0000000..21e0aeb Binary files /dev/null and b/timeseries_set/output00000065_cells_physicell.mat differ diff --git a/timeseries_set/output00000065_microenvironment0.mat b/timeseries_set/output00000065_microenvironment0.mat new file mode 100644 index 0000000..84df498 Binary files /dev/null and b/timeseries_set/output00000065_microenvironment0.mat differ diff --git a/timeseries_set/output00000066.xml b/timeseries_set/output00000066.xml new file mode 100644 index 0000000..b13445f --- /dev/null +++ b/timeseries_set/output00000066.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 3960.000000 + 64.685561 + 2019-08-30T19:49:12Z + 2019-08-30T19:49:12Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000066_microenvironment0.mat + + + + + + + + + output00000066_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000066_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000066_cells.mat b/timeseries_set/output00000066_cells.mat new file mode 100644 index 0000000..5194308 Binary files /dev/null and b/timeseries_set/output00000066_cells.mat differ diff --git a/timeseries_set/output00000066_cells_physicell.mat b/timeseries_set/output00000066_cells_physicell.mat new file mode 100644 index 0000000..e3e2da4 Binary files /dev/null and b/timeseries_set/output00000066_cells_physicell.mat differ diff --git a/timeseries_set/output00000066_microenvironment0.mat b/timeseries_set/output00000066_microenvironment0.mat new file mode 100644 index 0000000..8554870 Binary files /dev/null and b/timeseries_set/output00000066_microenvironment0.mat differ diff --git a/timeseries_set/output00000067.xml b/timeseries_set/output00000067.xml new file mode 100644 index 0000000..16fc2bf --- /dev/null +++ b/timeseries_set/output00000067.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4020.000000 + 65.633208 + 2019-08-30T19:49:13Z + 2019-08-30T19:49:13Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000067_microenvironment0.mat + + + + + + + + + output00000067_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000067_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000067_cells.mat b/timeseries_set/output00000067_cells.mat new file mode 100644 index 0000000..d79a09d Binary files /dev/null and b/timeseries_set/output00000067_cells.mat differ diff --git a/timeseries_set/output00000067_cells_physicell.mat b/timeseries_set/output00000067_cells_physicell.mat new file mode 100644 index 0000000..4352264 Binary files /dev/null and b/timeseries_set/output00000067_cells_physicell.mat differ diff --git a/timeseries_set/output00000067_microenvironment0.mat b/timeseries_set/output00000067_microenvironment0.mat new file mode 100644 index 0000000..25741ed Binary files /dev/null and b/timeseries_set/output00000067_microenvironment0.mat differ diff --git a/timeseries_set/output00000068.xml b/timeseries_set/output00000068.xml new file mode 100644 index 0000000..0d44b49 --- /dev/null +++ b/timeseries_set/output00000068.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4080.000000 + 66.593176 + 2019-08-30T19:49:14Z + 2019-08-30T19:49:14Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000068_microenvironment0.mat + + + + + + + + + output00000068_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000068_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000068_cells.mat b/timeseries_set/output00000068_cells.mat new file mode 100644 index 0000000..e1fd59e Binary files /dev/null and b/timeseries_set/output00000068_cells.mat differ diff --git a/timeseries_set/output00000068_cells_physicell.mat b/timeseries_set/output00000068_cells_physicell.mat new file mode 100644 index 0000000..b4b064b Binary files /dev/null and b/timeseries_set/output00000068_cells_physicell.mat differ diff --git a/timeseries_set/output00000068_microenvironment0.mat b/timeseries_set/output00000068_microenvironment0.mat new file mode 100644 index 0000000..8c3895a Binary files /dev/null and b/timeseries_set/output00000068_microenvironment0.mat differ diff --git a/timeseries_set/output00000069.xml b/timeseries_set/output00000069.xml new file mode 100644 index 0000000..d3ffa65 --- /dev/null +++ b/timeseries_set/output00000069.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4140.000000 + 67.546722 + 2019-08-30T19:49:15Z + 2019-08-30T19:49:15Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000069_microenvironment0.mat + + + + + + + + + output00000069_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000069_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000069_cells.mat b/timeseries_set/output00000069_cells.mat new file mode 100644 index 0000000..8316105 Binary files /dev/null and b/timeseries_set/output00000069_cells.mat differ diff --git a/timeseries_set/output00000069_cells_physicell.mat b/timeseries_set/output00000069_cells_physicell.mat new file mode 100644 index 0000000..20e4292 Binary files /dev/null and b/timeseries_set/output00000069_cells_physicell.mat differ diff --git a/timeseries_set/output00000069_microenvironment0.mat b/timeseries_set/output00000069_microenvironment0.mat new file mode 100644 index 0000000..118ba08 Binary files /dev/null and b/timeseries_set/output00000069_microenvironment0.mat differ diff --git a/timeseries_set/output00000070.xml b/timeseries_set/output00000070.xml new file mode 100644 index 0000000..6b39903 --- /dev/null +++ b/timeseries_set/output00000070.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4200.000000 + 68.524022 + 2019-08-30T19:49:16Z + 2019-08-30T19:49:16Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000070_microenvironment0.mat + + + + + + + + + output00000070_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000070_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000070_cells.mat b/timeseries_set/output00000070_cells.mat new file mode 100644 index 0000000..b0d62ae Binary files /dev/null and b/timeseries_set/output00000070_cells.mat differ diff --git a/timeseries_set/output00000070_cells_physicell.mat b/timeseries_set/output00000070_cells_physicell.mat new file mode 100644 index 0000000..94becfe Binary files /dev/null and b/timeseries_set/output00000070_cells_physicell.mat differ diff --git a/timeseries_set/output00000070_microenvironment0.mat b/timeseries_set/output00000070_microenvironment0.mat new file mode 100644 index 0000000..a5e854f Binary files /dev/null and b/timeseries_set/output00000070_microenvironment0.mat differ diff --git a/timeseries_set/output00000071.xml b/timeseries_set/output00000071.xml new file mode 100644 index 0000000..a6e84d9 --- /dev/null +++ b/timeseries_set/output00000071.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4260.000000 + 69.499203 + 2019-08-30T19:49:17Z + 2019-08-30T19:49:17Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000071_microenvironment0.mat + + + + + + + + + output00000071_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000071_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000071_cells.mat b/timeseries_set/output00000071_cells.mat new file mode 100644 index 0000000..0eee5f8 Binary files /dev/null and b/timeseries_set/output00000071_cells.mat differ diff --git a/timeseries_set/output00000071_cells_physicell.mat b/timeseries_set/output00000071_cells_physicell.mat new file mode 100644 index 0000000..df92be1 Binary files /dev/null and b/timeseries_set/output00000071_cells_physicell.mat differ diff --git a/timeseries_set/output00000071_microenvironment0.mat b/timeseries_set/output00000071_microenvironment0.mat new file mode 100644 index 0000000..08f924d Binary files /dev/null and b/timeseries_set/output00000071_microenvironment0.mat differ diff --git a/timeseries_set/output00000072.xml b/timeseries_set/output00000072.xml new file mode 100644 index 0000000..e4dbe75 --- /dev/null +++ b/timeseries_set/output00000072.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4320.000000 + 70.539921 + 2019-08-30T19:49:18Z + 2019-08-30T19:49:18Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000072_microenvironment0.mat + + + + + + + + + output00000072_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000072_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000072_cells.mat b/timeseries_set/output00000072_cells.mat new file mode 100644 index 0000000..e54df54 Binary files /dev/null and b/timeseries_set/output00000072_cells.mat differ diff --git a/timeseries_set/output00000072_cells_physicell.mat b/timeseries_set/output00000072_cells_physicell.mat new file mode 100644 index 0000000..4b63cb2 Binary files /dev/null and b/timeseries_set/output00000072_cells_physicell.mat differ diff --git a/timeseries_set/output00000072_microenvironment0.mat b/timeseries_set/output00000072_microenvironment0.mat new file mode 100644 index 0000000..fbc99c4 Binary files /dev/null and b/timeseries_set/output00000072_microenvironment0.mat differ diff --git a/timeseries_set/output00000073.xml b/timeseries_set/output00000073.xml new file mode 100644 index 0000000..939960b --- /dev/null +++ b/timeseries_set/output00000073.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4380.000000 + 71.524075 + 2019-08-30T19:49:19Z + 2019-08-30T19:49:19Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000073_microenvironment0.mat + + + + + + + + + output00000073_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000073_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000073_cells.mat b/timeseries_set/output00000073_cells.mat new file mode 100644 index 0000000..a0d42ab Binary files /dev/null and b/timeseries_set/output00000073_cells.mat differ diff --git a/timeseries_set/output00000073_cells_physicell.mat b/timeseries_set/output00000073_cells_physicell.mat new file mode 100644 index 0000000..e32ed10 Binary files /dev/null and b/timeseries_set/output00000073_cells_physicell.mat differ diff --git a/timeseries_set/output00000073_microenvironment0.mat b/timeseries_set/output00000073_microenvironment0.mat new file mode 100644 index 0000000..7ffddb2 Binary files /dev/null and b/timeseries_set/output00000073_microenvironment0.mat differ diff --git a/timeseries_set/output00000074.xml b/timeseries_set/output00000074.xml new file mode 100644 index 0000000..8bd1069 --- /dev/null +++ b/timeseries_set/output00000074.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4440.000000 + 72.504903 + 2019-08-30T19:49:20Z + 2019-08-30T19:49:20Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000074_microenvironment0.mat + + + + + + + + + output00000074_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000074_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000074_cells.mat b/timeseries_set/output00000074_cells.mat new file mode 100644 index 0000000..e11ee69 Binary files /dev/null and b/timeseries_set/output00000074_cells.mat differ diff --git a/timeseries_set/output00000074_cells_physicell.mat b/timeseries_set/output00000074_cells_physicell.mat new file mode 100644 index 0000000..8047926 Binary files /dev/null and b/timeseries_set/output00000074_cells_physicell.mat differ diff --git a/timeseries_set/output00000074_microenvironment0.mat b/timeseries_set/output00000074_microenvironment0.mat new file mode 100644 index 0000000..0ecfa18 Binary files /dev/null and b/timeseries_set/output00000074_microenvironment0.mat differ diff --git a/timeseries_set/output00000075.xml b/timeseries_set/output00000075.xml new file mode 100644 index 0000000..76f8ce6 --- /dev/null +++ b/timeseries_set/output00000075.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4500.000000 + 73.494637 + 2019-08-30T19:49:21Z + 2019-08-30T19:49:21Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000075_microenvironment0.mat + + + + + + + + + output00000075_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000075_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000075_cells.mat b/timeseries_set/output00000075_cells.mat new file mode 100644 index 0000000..fc718bf Binary files /dev/null and b/timeseries_set/output00000075_cells.mat differ diff --git a/timeseries_set/output00000075_cells_physicell.mat b/timeseries_set/output00000075_cells_physicell.mat new file mode 100644 index 0000000..29faf1d Binary files /dev/null and b/timeseries_set/output00000075_cells_physicell.mat differ diff --git a/timeseries_set/output00000075_microenvironment0.mat b/timeseries_set/output00000075_microenvironment0.mat new file mode 100644 index 0000000..46c71bc Binary files /dev/null and b/timeseries_set/output00000075_microenvironment0.mat differ diff --git a/timeseries_set/output00000076.xml b/timeseries_set/output00000076.xml new file mode 100644 index 0000000..819f9ec --- /dev/null +++ b/timeseries_set/output00000076.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4560.000000 + 74.492929 + 2019-08-30T19:49:22Z + 2019-08-30T19:49:22Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000076_microenvironment0.mat + + + + + + + + + output00000076_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000076_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000076_cells.mat b/timeseries_set/output00000076_cells.mat new file mode 100644 index 0000000..0769587 Binary files /dev/null and b/timeseries_set/output00000076_cells.mat differ diff --git a/timeseries_set/output00000076_cells_physicell.mat b/timeseries_set/output00000076_cells_physicell.mat new file mode 100644 index 0000000..4594537 Binary files /dev/null and b/timeseries_set/output00000076_cells_physicell.mat differ diff --git a/timeseries_set/output00000076_microenvironment0.mat b/timeseries_set/output00000076_microenvironment0.mat new file mode 100644 index 0000000..708f9a9 Binary files /dev/null and b/timeseries_set/output00000076_microenvironment0.mat differ diff --git a/timeseries_set/output00000077.xml b/timeseries_set/output00000077.xml new file mode 100644 index 0000000..9ac847c --- /dev/null +++ b/timeseries_set/output00000077.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4620.000000 + 75.476328 + 2019-08-30T19:49:23Z + 2019-08-30T19:49:23Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000077_microenvironment0.mat + + + + + + + + + output00000077_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000077_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000077_cells.mat b/timeseries_set/output00000077_cells.mat new file mode 100644 index 0000000..ab03d37 Binary files /dev/null and b/timeseries_set/output00000077_cells.mat differ diff --git a/timeseries_set/output00000077_cells_physicell.mat b/timeseries_set/output00000077_cells_physicell.mat new file mode 100644 index 0000000..85095e4 Binary files /dev/null and b/timeseries_set/output00000077_cells_physicell.mat differ diff --git a/timeseries_set/output00000077_microenvironment0.mat b/timeseries_set/output00000077_microenvironment0.mat new file mode 100644 index 0000000..4f6e2c8 Binary files /dev/null and b/timeseries_set/output00000077_microenvironment0.mat differ diff --git a/timeseries_set/output00000078.xml b/timeseries_set/output00000078.xml new file mode 100644 index 0000000..7539f77 --- /dev/null +++ b/timeseries_set/output00000078.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4680.000000 + 76.482312 + 2019-08-30T19:49:24Z + 2019-08-30T19:49:24Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000078_microenvironment0.mat + + + + + + + + + output00000078_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000078_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000078_cells.mat b/timeseries_set/output00000078_cells.mat new file mode 100644 index 0000000..e8f4fdc Binary files /dev/null and b/timeseries_set/output00000078_cells.mat differ diff --git a/timeseries_set/output00000078_cells_physicell.mat b/timeseries_set/output00000078_cells_physicell.mat new file mode 100644 index 0000000..8546e7c Binary files /dev/null and b/timeseries_set/output00000078_cells_physicell.mat differ diff --git a/timeseries_set/output00000078_microenvironment0.mat b/timeseries_set/output00000078_microenvironment0.mat new file mode 100644 index 0000000..b85e331 Binary files /dev/null and b/timeseries_set/output00000078_microenvironment0.mat differ diff --git a/timeseries_set/output00000079.xml b/timeseries_set/output00000079.xml new file mode 100644 index 0000000..995ab64 --- /dev/null +++ b/timeseries_set/output00000079.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4740.000000 + 77.489238 + 2019-08-30T19:49:25Z + 2019-08-30T19:49:25Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000079_microenvironment0.mat + + + + + + + + + output00000079_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000079_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000079_cells.mat b/timeseries_set/output00000079_cells.mat new file mode 100644 index 0000000..d0be5f9 Binary files /dev/null and b/timeseries_set/output00000079_cells.mat differ diff --git a/timeseries_set/output00000079_cells_physicell.mat b/timeseries_set/output00000079_cells_physicell.mat new file mode 100644 index 0000000..2acd45f Binary files /dev/null and b/timeseries_set/output00000079_cells_physicell.mat differ diff --git a/timeseries_set/output00000079_microenvironment0.mat b/timeseries_set/output00000079_microenvironment0.mat new file mode 100644 index 0000000..cb2283c Binary files /dev/null and b/timeseries_set/output00000079_microenvironment0.mat differ diff --git a/timeseries_set/output00000080.xml b/timeseries_set/output00000080.xml new file mode 100644 index 0000000..2a1a2fa --- /dev/null +++ b/timeseries_set/output00000080.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4800.000000 + 78.479059 + 2019-08-30T19:49:26Z + 2019-08-30T19:49:26Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000080_microenvironment0.mat + + + + + + + + + output00000080_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000080_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000080_cells.mat b/timeseries_set/output00000080_cells.mat new file mode 100644 index 0000000..af5943c Binary files /dev/null and b/timeseries_set/output00000080_cells.mat differ diff --git a/timeseries_set/output00000080_cells_physicell.mat b/timeseries_set/output00000080_cells_physicell.mat new file mode 100644 index 0000000..bae8e43 Binary files /dev/null and b/timeseries_set/output00000080_cells_physicell.mat differ diff --git a/timeseries_set/output00000080_microenvironment0.mat b/timeseries_set/output00000080_microenvironment0.mat new file mode 100644 index 0000000..b2bf2ca Binary files /dev/null and b/timeseries_set/output00000080_microenvironment0.mat differ diff --git a/timeseries_set/output00000081.xml b/timeseries_set/output00000081.xml new file mode 100644 index 0000000..55e265d --- /dev/null +++ b/timeseries_set/output00000081.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4860.000000 + 79.494480 + 2019-08-30T19:49:27Z + 2019-08-30T19:49:27Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000081_microenvironment0.mat + + + + + + + + + output00000081_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000081_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000081_cells.mat b/timeseries_set/output00000081_cells.mat new file mode 100644 index 0000000..e6f8846 Binary files /dev/null and b/timeseries_set/output00000081_cells.mat differ diff --git a/timeseries_set/output00000081_cells_physicell.mat b/timeseries_set/output00000081_cells_physicell.mat new file mode 100644 index 0000000..a6dca91 Binary files /dev/null and b/timeseries_set/output00000081_cells_physicell.mat differ diff --git a/timeseries_set/output00000081_microenvironment0.mat b/timeseries_set/output00000081_microenvironment0.mat new file mode 100644 index 0000000..310a827 Binary files /dev/null and b/timeseries_set/output00000081_microenvironment0.mat differ diff --git a/timeseries_set/output00000082.xml b/timeseries_set/output00000082.xml new file mode 100644 index 0000000..0a22609 --- /dev/null +++ b/timeseries_set/output00000082.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4920.000000 + 80.499311 + 2019-08-30T19:49:28Z + 2019-08-30T19:49:28Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000082_microenvironment0.mat + + + + + + + + + output00000082_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000082_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000082_cells.mat b/timeseries_set/output00000082_cells.mat new file mode 100644 index 0000000..edb2917 Binary files /dev/null and b/timeseries_set/output00000082_cells.mat differ diff --git a/timeseries_set/output00000082_cells_physicell.mat b/timeseries_set/output00000082_cells_physicell.mat new file mode 100644 index 0000000..403e29f Binary files /dev/null and b/timeseries_set/output00000082_cells_physicell.mat differ diff --git a/timeseries_set/output00000082_microenvironment0.mat b/timeseries_set/output00000082_microenvironment0.mat new file mode 100644 index 0000000..3dec9c2 Binary files /dev/null and b/timeseries_set/output00000082_microenvironment0.mat differ diff --git a/timeseries_set/output00000083.xml b/timeseries_set/output00000083.xml new file mode 100644 index 0000000..2c8a62a --- /dev/null +++ b/timeseries_set/output00000083.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 4980.000000 + 81.523922 + 2019-08-30T19:49:29Z + 2019-08-30T19:49:29Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000083_microenvironment0.mat + + + + + + + + + output00000083_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000083_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000083_cells.mat b/timeseries_set/output00000083_cells.mat new file mode 100644 index 0000000..89bf4ba Binary files /dev/null and b/timeseries_set/output00000083_cells.mat differ diff --git a/timeseries_set/output00000083_cells_physicell.mat b/timeseries_set/output00000083_cells_physicell.mat new file mode 100644 index 0000000..0710c5a Binary files /dev/null and b/timeseries_set/output00000083_cells_physicell.mat differ diff --git a/timeseries_set/output00000083_microenvironment0.mat b/timeseries_set/output00000083_microenvironment0.mat new file mode 100644 index 0000000..9243be8 Binary files /dev/null and b/timeseries_set/output00000083_microenvironment0.mat differ diff --git a/timeseries_set/output00000084.xml b/timeseries_set/output00000084.xml new file mode 100644 index 0000000..212566e --- /dev/null +++ b/timeseries_set/output00000084.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5040.000000 + 82.554279 + 2019-08-30T19:49:30Z + 2019-08-30T19:49:30Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000084_microenvironment0.mat + + + + + + + + + output00000084_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000084_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000084_cells.mat b/timeseries_set/output00000084_cells.mat new file mode 100644 index 0000000..f5172d3 Binary files /dev/null and b/timeseries_set/output00000084_cells.mat differ diff --git a/timeseries_set/output00000084_cells_physicell.mat b/timeseries_set/output00000084_cells_physicell.mat new file mode 100644 index 0000000..2de813a Binary files /dev/null and b/timeseries_set/output00000084_cells_physicell.mat differ diff --git a/timeseries_set/output00000084_microenvironment0.mat b/timeseries_set/output00000084_microenvironment0.mat new file mode 100644 index 0000000..1ea39fa Binary files /dev/null and b/timeseries_set/output00000084_microenvironment0.mat differ diff --git a/timeseries_set/output00000085.xml b/timeseries_set/output00000085.xml new file mode 100644 index 0000000..cc7f2ef --- /dev/null +++ b/timeseries_set/output00000085.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5100.000000 + 83.567615 + 2019-08-30T19:49:31Z + 2019-08-30T19:49:31Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000085_microenvironment0.mat + + + + + + + + + output00000085_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000085_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000085_cells.mat b/timeseries_set/output00000085_cells.mat new file mode 100644 index 0000000..fbdcb71 Binary files /dev/null and b/timeseries_set/output00000085_cells.mat differ diff --git a/timeseries_set/output00000085_cells_physicell.mat b/timeseries_set/output00000085_cells_physicell.mat new file mode 100644 index 0000000..e501e8d Binary files /dev/null and b/timeseries_set/output00000085_cells_physicell.mat differ diff --git a/timeseries_set/output00000085_microenvironment0.mat b/timeseries_set/output00000085_microenvironment0.mat new file mode 100644 index 0000000..a7ff410 Binary files /dev/null and b/timeseries_set/output00000085_microenvironment0.mat differ diff --git a/timeseries_set/output00000086.xml b/timeseries_set/output00000086.xml new file mode 100644 index 0000000..de15ef1 --- /dev/null +++ b/timeseries_set/output00000086.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5160.000000 + 84.608408 + 2019-08-30T19:49:32Z + 2019-08-30T19:49:32Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000086_microenvironment0.mat + + + + + + + + + output00000086_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000086_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000086_cells.mat b/timeseries_set/output00000086_cells.mat new file mode 100644 index 0000000..816bd04 Binary files /dev/null and b/timeseries_set/output00000086_cells.mat differ diff --git a/timeseries_set/output00000086_cells_physicell.mat b/timeseries_set/output00000086_cells_physicell.mat new file mode 100644 index 0000000..f542047 Binary files /dev/null and b/timeseries_set/output00000086_cells_physicell.mat differ diff --git a/timeseries_set/output00000086_microenvironment0.mat b/timeseries_set/output00000086_microenvironment0.mat new file mode 100644 index 0000000..9b26964 Binary files /dev/null and b/timeseries_set/output00000086_microenvironment0.mat differ diff --git a/timeseries_set/output00000087.xml b/timeseries_set/output00000087.xml new file mode 100644 index 0000000..f052759 --- /dev/null +++ b/timeseries_set/output00000087.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5220.000000 + 85.651495 + 2019-08-30T19:49:33Z + 2019-08-30T19:49:33Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000087_microenvironment0.mat + + + + + + + + + output00000087_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000087_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000087_cells.mat b/timeseries_set/output00000087_cells.mat new file mode 100644 index 0000000..7e28551 Binary files /dev/null and b/timeseries_set/output00000087_cells.mat differ diff --git a/timeseries_set/output00000087_cells_physicell.mat b/timeseries_set/output00000087_cells_physicell.mat new file mode 100644 index 0000000..22d8693 Binary files /dev/null and b/timeseries_set/output00000087_cells_physicell.mat differ diff --git a/timeseries_set/output00000087_microenvironment0.mat b/timeseries_set/output00000087_microenvironment0.mat new file mode 100644 index 0000000..99295d0 Binary files /dev/null and b/timeseries_set/output00000087_microenvironment0.mat differ diff --git a/timeseries_set/output00000088.xml b/timeseries_set/output00000088.xml new file mode 100644 index 0000000..c7747b8 --- /dev/null +++ b/timeseries_set/output00000088.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5280.000000 + 86.696159 + 2019-08-30T19:49:34Z + 2019-08-30T19:49:34Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000088_microenvironment0.mat + + + + + + + + + output00000088_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000088_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000088_cells.mat b/timeseries_set/output00000088_cells.mat new file mode 100644 index 0000000..1d99eda Binary files /dev/null and b/timeseries_set/output00000088_cells.mat differ diff --git a/timeseries_set/output00000088_cells_physicell.mat b/timeseries_set/output00000088_cells_physicell.mat new file mode 100644 index 0000000..7247ba2 Binary files /dev/null and b/timeseries_set/output00000088_cells_physicell.mat differ diff --git a/timeseries_set/output00000088_microenvironment0.mat b/timeseries_set/output00000088_microenvironment0.mat new file mode 100644 index 0000000..78ca84f Binary files /dev/null and b/timeseries_set/output00000088_microenvironment0.mat differ diff --git a/timeseries_set/output00000089.xml b/timeseries_set/output00000089.xml new file mode 100644 index 0000000..c073c9f --- /dev/null +++ b/timeseries_set/output00000089.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5340.000000 + 87.755786 + 2019-08-30T19:49:35Z + 2019-08-30T19:49:35Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000089_microenvironment0.mat + + + + + + + + + output00000089_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000089_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000089_cells.mat b/timeseries_set/output00000089_cells.mat new file mode 100644 index 0000000..579e530 Binary files /dev/null and b/timeseries_set/output00000089_cells.mat differ diff --git a/timeseries_set/output00000089_cells_physicell.mat b/timeseries_set/output00000089_cells_physicell.mat new file mode 100644 index 0000000..280657b Binary files /dev/null and b/timeseries_set/output00000089_cells_physicell.mat differ diff --git a/timeseries_set/output00000089_microenvironment0.mat b/timeseries_set/output00000089_microenvironment0.mat new file mode 100644 index 0000000..d067d9e Binary files /dev/null and b/timeseries_set/output00000089_microenvironment0.mat differ diff --git a/timeseries_set/output00000090.xml b/timeseries_set/output00000090.xml new file mode 100644 index 0000000..4748fa8 --- /dev/null +++ b/timeseries_set/output00000090.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5400.000000 + 88.798083 + 2019-08-30T19:49:37Z + 2019-08-30T19:49:37Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000090_microenvironment0.mat + + + + + + + + + output00000090_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000090_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000090_cells.mat b/timeseries_set/output00000090_cells.mat new file mode 100644 index 0000000..836cb44 Binary files /dev/null and b/timeseries_set/output00000090_cells.mat differ diff --git a/timeseries_set/output00000090_cells_physicell.mat b/timeseries_set/output00000090_cells_physicell.mat new file mode 100644 index 0000000..f5e3b3a Binary files /dev/null and b/timeseries_set/output00000090_cells_physicell.mat differ diff --git a/timeseries_set/output00000090_microenvironment0.mat b/timeseries_set/output00000090_microenvironment0.mat new file mode 100644 index 0000000..93634be Binary files /dev/null and b/timeseries_set/output00000090_microenvironment0.mat differ diff --git a/timeseries_set/output00000091.xml b/timeseries_set/output00000091.xml new file mode 100644 index 0000000..1d3f8ca --- /dev/null +++ b/timeseries_set/output00000091.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5460.000000 + 89.843181 + 2019-08-30T19:49:38Z + 2019-08-30T19:49:38Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000091_microenvironment0.mat + + + + + + + + + output00000091_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000091_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000091_cells.mat b/timeseries_set/output00000091_cells.mat new file mode 100644 index 0000000..91d3ce8 Binary files /dev/null and b/timeseries_set/output00000091_cells.mat differ diff --git a/timeseries_set/output00000091_cells_physicell.mat b/timeseries_set/output00000091_cells_physicell.mat new file mode 100644 index 0000000..2297e6b Binary files /dev/null and b/timeseries_set/output00000091_cells_physicell.mat differ diff --git a/timeseries_set/output00000091_microenvironment0.mat b/timeseries_set/output00000091_microenvironment0.mat new file mode 100644 index 0000000..7925c48 Binary files /dev/null and b/timeseries_set/output00000091_microenvironment0.mat differ diff --git a/timeseries_set/output00000092.xml b/timeseries_set/output00000092.xml new file mode 100644 index 0000000..b37895c --- /dev/null +++ b/timeseries_set/output00000092.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5520.000000 + 90.894552 + 2019-08-30T19:49:39Z + 2019-08-30T19:49:39Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000092_microenvironment0.mat + + + + + + + + + output00000092_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000092_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000092_cells.mat b/timeseries_set/output00000092_cells.mat new file mode 100644 index 0000000..dd94991 Binary files /dev/null and b/timeseries_set/output00000092_cells.mat differ diff --git a/timeseries_set/output00000092_cells_physicell.mat b/timeseries_set/output00000092_cells_physicell.mat new file mode 100644 index 0000000..f5083c9 Binary files /dev/null and b/timeseries_set/output00000092_cells_physicell.mat differ diff --git a/timeseries_set/output00000092_microenvironment0.mat b/timeseries_set/output00000092_microenvironment0.mat new file mode 100644 index 0000000..2226fae Binary files /dev/null and b/timeseries_set/output00000092_microenvironment0.mat differ diff --git a/timeseries_set/output00000093.xml b/timeseries_set/output00000093.xml new file mode 100644 index 0000000..32dbe34 --- /dev/null +++ b/timeseries_set/output00000093.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5580.000000 + 91.935500 + 2019-08-30T19:49:40Z + 2019-08-30T19:49:40Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000093_microenvironment0.mat + + + + + + + + + output00000093_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000093_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000093_cells.mat b/timeseries_set/output00000093_cells.mat new file mode 100644 index 0000000..ac663d1 Binary files /dev/null and b/timeseries_set/output00000093_cells.mat differ diff --git a/timeseries_set/output00000093_cells_physicell.mat b/timeseries_set/output00000093_cells_physicell.mat new file mode 100644 index 0000000..52b9e69 Binary files /dev/null and b/timeseries_set/output00000093_cells_physicell.mat differ diff --git a/timeseries_set/output00000093_microenvironment0.mat b/timeseries_set/output00000093_microenvironment0.mat new file mode 100644 index 0000000..cc28126 Binary files /dev/null and b/timeseries_set/output00000093_microenvironment0.mat differ diff --git a/timeseries_set/output00000094.xml b/timeseries_set/output00000094.xml new file mode 100644 index 0000000..6dca745 --- /dev/null +++ b/timeseries_set/output00000094.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5640.000000 + 92.974341 + 2019-08-30T19:49:41Z + 2019-08-30T19:49:41Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000094_microenvironment0.mat + + + + + + + + + output00000094_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000094_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000094_cells.mat b/timeseries_set/output00000094_cells.mat new file mode 100644 index 0000000..bad7a59 Binary files /dev/null and b/timeseries_set/output00000094_cells.mat differ diff --git a/timeseries_set/output00000094_cells_physicell.mat b/timeseries_set/output00000094_cells_physicell.mat new file mode 100644 index 0000000..d13c5f6 Binary files /dev/null and b/timeseries_set/output00000094_cells_physicell.mat differ diff --git a/timeseries_set/output00000094_microenvironment0.mat b/timeseries_set/output00000094_microenvironment0.mat new file mode 100644 index 0000000..ebece7a Binary files /dev/null and b/timeseries_set/output00000094_microenvironment0.mat differ diff --git a/timeseries_set/output00000095.xml b/timeseries_set/output00000095.xml new file mode 100644 index 0000000..03a83eb --- /dev/null +++ b/timeseries_set/output00000095.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5700.000000 + 94.014903 + 2019-08-30T19:49:42Z + 2019-08-30T19:49:42Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000095_microenvironment0.mat + + + + + + + + + output00000095_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000095_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000095_cells.mat b/timeseries_set/output00000095_cells.mat new file mode 100644 index 0000000..f768970 Binary files /dev/null and b/timeseries_set/output00000095_cells.mat differ diff --git a/timeseries_set/output00000095_cells_physicell.mat b/timeseries_set/output00000095_cells_physicell.mat new file mode 100644 index 0000000..5c64937 Binary files /dev/null and b/timeseries_set/output00000095_cells_physicell.mat differ diff --git a/timeseries_set/output00000095_microenvironment0.mat b/timeseries_set/output00000095_microenvironment0.mat new file mode 100644 index 0000000..5c91e32 Binary files /dev/null and b/timeseries_set/output00000095_microenvironment0.mat differ diff --git a/timeseries_set/output00000096.xml b/timeseries_set/output00000096.xml new file mode 100644 index 0000000..6119566 --- /dev/null +++ b/timeseries_set/output00000096.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5760.000000 + 95.078017 + 2019-08-30T19:49:43Z + 2019-08-30T19:49:43Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000096_microenvironment0.mat + + + + + + + + + output00000096_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000096_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000096_cells.mat b/timeseries_set/output00000096_cells.mat new file mode 100644 index 0000000..b8de232 Binary files /dev/null and b/timeseries_set/output00000096_cells.mat differ diff --git a/timeseries_set/output00000096_cells_physicell.mat b/timeseries_set/output00000096_cells_physicell.mat new file mode 100644 index 0000000..20744ee Binary files /dev/null and b/timeseries_set/output00000096_cells_physicell.mat differ diff --git a/timeseries_set/output00000096_microenvironment0.mat b/timeseries_set/output00000096_microenvironment0.mat new file mode 100644 index 0000000..52b38db Binary files /dev/null and b/timeseries_set/output00000096_microenvironment0.mat differ diff --git a/timeseries_set/output00000097.xml b/timeseries_set/output00000097.xml new file mode 100644 index 0000000..d4548b5 --- /dev/null +++ b/timeseries_set/output00000097.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5820.000000 + 96.140427 + 2019-08-30T19:49:44Z + 2019-08-30T19:49:44Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000097_microenvironment0.mat + + + + + + + + + output00000097_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000097_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000097_cells.mat b/timeseries_set/output00000097_cells.mat new file mode 100644 index 0000000..f816a0d Binary files /dev/null and b/timeseries_set/output00000097_cells.mat differ diff --git a/timeseries_set/output00000097_cells_physicell.mat b/timeseries_set/output00000097_cells_physicell.mat new file mode 100644 index 0000000..5e29f17 Binary files /dev/null and b/timeseries_set/output00000097_cells_physicell.mat differ diff --git a/timeseries_set/output00000097_microenvironment0.mat b/timeseries_set/output00000097_microenvironment0.mat new file mode 100644 index 0000000..49074a6 Binary files /dev/null and b/timeseries_set/output00000097_microenvironment0.mat differ diff --git a/timeseries_set/output00000098.xml b/timeseries_set/output00000098.xml new file mode 100644 index 0000000..691b89d --- /dev/null +++ b/timeseries_set/output00000098.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5880.000000 + 97.207759 + 2019-08-30T19:49:45Z + 2019-08-30T19:49:45Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000098_microenvironment0.mat + + + + + + + + + output00000098_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000098_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000098_cells.mat b/timeseries_set/output00000098_cells.mat new file mode 100644 index 0000000..c459683 Binary files /dev/null and b/timeseries_set/output00000098_cells.mat differ diff --git a/timeseries_set/output00000098_cells_physicell.mat b/timeseries_set/output00000098_cells_physicell.mat new file mode 100644 index 0000000..9a84b8f Binary files /dev/null and b/timeseries_set/output00000098_cells_physicell.mat differ diff --git a/timeseries_set/output00000098_microenvironment0.mat b/timeseries_set/output00000098_microenvironment0.mat new file mode 100644 index 0000000..17ab421 Binary files /dev/null and b/timeseries_set/output00000098_microenvironment0.mat differ diff --git a/timeseries_set/output00000099.xml b/timeseries_set/output00000099.xml new file mode 100644 index 0000000..d4802e6 --- /dev/null +++ b/timeseries_set/output00000099.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 5940.000000 + 98.291814 + 2019-08-30T19:49:46Z + 2019-08-30T19:49:46Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000099_microenvironment0.mat + + + + + + + + + output00000099_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000099_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000099_cells.mat b/timeseries_set/output00000099_cells.mat new file mode 100644 index 0000000..c48a5df Binary files /dev/null and b/timeseries_set/output00000099_cells.mat differ diff --git a/timeseries_set/output00000099_cells_physicell.mat b/timeseries_set/output00000099_cells_physicell.mat new file mode 100644 index 0000000..096eb06 Binary files /dev/null and b/timeseries_set/output00000099_cells_physicell.mat differ diff --git a/timeseries_set/output00000099_microenvironment0.mat b/timeseries_set/output00000099_microenvironment0.mat new file mode 100644 index 0000000..dbc378d Binary files /dev/null and b/timeseries_set/output00000099_microenvironment0.mat differ diff --git a/timeseries_set/output00000100.xml b/timeseries_set/output00000100.xml new file mode 100644 index 0000000..4f74e26 --- /dev/null +++ b/timeseries_set/output00000100.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6000.000000 + 99.366052 + 2019-08-30T19:49:47Z + 2019-08-30T19:49:47Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000100_microenvironment0.mat + + + + + + + + + output00000100_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000100_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000100_cells.mat b/timeseries_set/output00000100_cells.mat new file mode 100644 index 0000000..1394ca7 Binary files /dev/null and b/timeseries_set/output00000100_cells.mat differ diff --git a/timeseries_set/output00000100_cells_physicell.mat b/timeseries_set/output00000100_cells_physicell.mat new file mode 100644 index 0000000..7403504 Binary files /dev/null and b/timeseries_set/output00000100_cells_physicell.mat differ diff --git a/timeseries_set/output00000100_microenvironment0.mat b/timeseries_set/output00000100_microenvironment0.mat new file mode 100644 index 0000000..033acc8 Binary files /dev/null and b/timeseries_set/output00000100_microenvironment0.mat differ diff --git a/timeseries_set/output00000101.xml b/timeseries_set/output00000101.xml new file mode 100644 index 0000000..0a80e9f --- /dev/null +++ b/timeseries_set/output00000101.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6060.000000 + 100.419406 + 2019-08-30T19:49:48Z + 2019-08-30T19:49:48Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000101_microenvironment0.mat + + + + + + + + + output00000101_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000101_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000101_cells.mat b/timeseries_set/output00000101_cells.mat new file mode 100644 index 0000000..9809503 Binary files /dev/null and b/timeseries_set/output00000101_cells.mat differ diff --git a/timeseries_set/output00000101_cells_physicell.mat b/timeseries_set/output00000101_cells_physicell.mat new file mode 100644 index 0000000..736c032 Binary files /dev/null and b/timeseries_set/output00000101_cells_physicell.mat differ diff --git a/timeseries_set/output00000101_microenvironment0.mat b/timeseries_set/output00000101_microenvironment0.mat new file mode 100644 index 0000000..69adfcf Binary files /dev/null and b/timeseries_set/output00000101_microenvironment0.mat differ diff --git a/timeseries_set/output00000102.xml b/timeseries_set/output00000102.xml new file mode 100644 index 0000000..60c7cab --- /dev/null +++ b/timeseries_set/output00000102.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6120.000000 + 101.502463 + 2019-08-30T19:49:49Z + 2019-08-30T19:49:49Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000102_microenvironment0.mat + + + + + + + + + output00000102_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000102_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000102_cells.mat b/timeseries_set/output00000102_cells.mat new file mode 100644 index 0000000..ee403dc Binary files /dev/null and b/timeseries_set/output00000102_cells.mat differ diff --git a/timeseries_set/output00000102_cells_physicell.mat b/timeseries_set/output00000102_cells_physicell.mat new file mode 100644 index 0000000..c788403 Binary files /dev/null and b/timeseries_set/output00000102_cells_physicell.mat differ diff --git a/timeseries_set/output00000102_microenvironment0.mat b/timeseries_set/output00000102_microenvironment0.mat new file mode 100644 index 0000000..799d621 Binary files /dev/null and b/timeseries_set/output00000102_microenvironment0.mat differ diff --git a/timeseries_set/output00000103.xml b/timeseries_set/output00000103.xml new file mode 100644 index 0000000..ddf3e75 --- /dev/null +++ b/timeseries_set/output00000103.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6180.000000 + 102.591853 + 2019-08-30T19:49:50Z + 2019-08-30T19:49:50Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000103_microenvironment0.mat + + + + + + + + + output00000103_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000103_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000103_cells.mat b/timeseries_set/output00000103_cells.mat new file mode 100644 index 0000000..f99ea25 Binary files /dev/null and b/timeseries_set/output00000103_cells.mat differ diff --git a/timeseries_set/output00000103_cells_physicell.mat b/timeseries_set/output00000103_cells_physicell.mat new file mode 100644 index 0000000..2ddbe8f Binary files /dev/null and b/timeseries_set/output00000103_cells_physicell.mat differ diff --git a/timeseries_set/output00000103_microenvironment0.mat b/timeseries_set/output00000103_microenvironment0.mat new file mode 100644 index 0000000..0439ecc Binary files /dev/null and b/timeseries_set/output00000103_microenvironment0.mat differ diff --git a/timeseries_set/output00000104.xml b/timeseries_set/output00000104.xml new file mode 100644 index 0000000..f92c50a --- /dev/null +++ b/timeseries_set/output00000104.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6240.000000 + 103.674117 + 2019-08-30T19:49:51Z + 2019-08-30T19:49:51Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000104_microenvironment0.mat + + + + + + + + + output00000104_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000104_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000104_cells.mat b/timeseries_set/output00000104_cells.mat new file mode 100644 index 0000000..ea7f38d Binary files /dev/null and b/timeseries_set/output00000104_cells.mat differ diff --git a/timeseries_set/output00000104_cells_physicell.mat b/timeseries_set/output00000104_cells_physicell.mat new file mode 100644 index 0000000..44c59e6 Binary files /dev/null and b/timeseries_set/output00000104_cells_physicell.mat differ diff --git a/timeseries_set/output00000104_microenvironment0.mat b/timeseries_set/output00000104_microenvironment0.mat new file mode 100644 index 0000000..9dd4915 Binary files /dev/null and b/timeseries_set/output00000104_microenvironment0.mat differ diff --git a/timeseries_set/output00000105.xml b/timeseries_set/output00000105.xml new file mode 100644 index 0000000..151baf6 --- /dev/null +++ b/timeseries_set/output00000105.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6300.000000 + 104.764301 + 2019-08-30T19:49:52Z + 2019-08-30T19:49:52Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000105_microenvironment0.mat + + + + + + + + + output00000105_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000105_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000105_cells.mat b/timeseries_set/output00000105_cells.mat new file mode 100644 index 0000000..acabd9a Binary files /dev/null and b/timeseries_set/output00000105_cells.mat differ diff --git a/timeseries_set/output00000105_cells_physicell.mat b/timeseries_set/output00000105_cells_physicell.mat new file mode 100644 index 0000000..1d45161 Binary files /dev/null and b/timeseries_set/output00000105_cells_physicell.mat differ diff --git a/timeseries_set/output00000105_microenvironment0.mat b/timeseries_set/output00000105_microenvironment0.mat new file mode 100644 index 0000000..accc6a5 Binary files /dev/null and b/timeseries_set/output00000105_microenvironment0.mat differ diff --git a/timeseries_set/output00000106.xml b/timeseries_set/output00000106.xml new file mode 100644 index 0000000..a79eae9 --- /dev/null +++ b/timeseries_set/output00000106.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6360.000000 + 105.865725 + 2019-08-30T19:49:54Z + 2019-08-30T19:49:54Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000106_microenvironment0.mat + + + + + + + + + output00000106_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000106_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000106_cells.mat b/timeseries_set/output00000106_cells.mat new file mode 100644 index 0000000..7401e0b Binary files /dev/null and b/timeseries_set/output00000106_cells.mat differ diff --git a/timeseries_set/output00000106_cells_physicell.mat b/timeseries_set/output00000106_cells_physicell.mat new file mode 100644 index 0000000..3545f2b Binary files /dev/null and b/timeseries_set/output00000106_cells_physicell.mat differ diff --git a/timeseries_set/output00000106_microenvironment0.mat b/timeseries_set/output00000106_microenvironment0.mat new file mode 100644 index 0000000..f4d6755 Binary files /dev/null and b/timeseries_set/output00000106_microenvironment0.mat differ diff --git a/timeseries_set/output00000107.xml b/timeseries_set/output00000107.xml new file mode 100644 index 0000000..d168d03 --- /dev/null +++ b/timeseries_set/output00000107.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6420.000000 + 106.957703 + 2019-08-30T19:49:55Z + 2019-08-30T19:49:55Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000107_microenvironment0.mat + + + + + + + + + output00000107_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000107_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000107_cells.mat b/timeseries_set/output00000107_cells.mat new file mode 100644 index 0000000..02b2bfe Binary files /dev/null and b/timeseries_set/output00000107_cells.mat differ diff --git a/timeseries_set/output00000107_cells_physicell.mat b/timeseries_set/output00000107_cells_physicell.mat new file mode 100644 index 0000000..f0deebb Binary files /dev/null and b/timeseries_set/output00000107_cells_physicell.mat differ diff --git a/timeseries_set/output00000107_microenvironment0.mat b/timeseries_set/output00000107_microenvironment0.mat new file mode 100644 index 0000000..4a2caa3 Binary files /dev/null and b/timeseries_set/output00000107_microenvironment0.mat differ diff --git a/timeseries_set/output00000108.xml b/timeseries_set/output00000108.xml new file mode 100644 index 0000000..9db5164 --- /dev/null +++ b/timeseries_set/output00000108.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6480.000000 + 108.031505 + 2019-08-30T19:49:56Z + 2019-08-30T19:49:56Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000108_microenvironment0.mat + + + + + + + + + output00000108_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000108_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000108_cells.mat b/timeseries_set/output00000108_cells.mat new file mode 100644 index 0000000..3823ef7 Binary files /dev/null and b/timeseries_set/output00000108_cells.mat differ diff --git a/timeseries_set/output00000108_cells_physicell.mat b/timeseries_set/output00000108_cells_physicell.mat new file mode 100644 index 0000000..fb282a9 Binary files /dev/null and b/timeseries_set/output00000108_cells_physicell.mat differ diff --git a/timeseries_set/output00000108_microenvironment0.mat b/timeseries_set/output00000108_microenvironment0.mat new file mode 100644 index 0000000..8c16b47 Binary files /dev/null and b/timeseries_set/output00000108_microenvironment0.mat differ diff --git a/timeseries_set/output00000109.xml b/timeseries_set/output00000109.xml new file mode 100644 index 0000000..63f8498 --- /dev/null +++ b/timeseries_set/output00000109.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6540.000000 + 109.127637 + 2019-08-30T19:49:57Z + 2019-08-30T19:49:57Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000109_microenvironment0.mat + + + + + + + + + output00000109_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000109_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000109_cells.mat b/timeseries_set/output00000109_cells.mat new file mode 100644 index 0000000..9474277 Binary files /dev/null and b/timeseries_set/output00000109_cells.mat differ diff --git a/timeseries_set/output00000109_cells_physicell.mat b/timeseries_set/output00000109_cells_physicell.mat new file mode 100644 index 0000000..9b774b8 Binary files /dev/null and b/timeseries_set/output00000109_cells_physicell.mat differ diff --git a/timeseries_set/output00000109_microenvironment0.mat b/timeseries_set/output00000109_microenvironment0.mat new file mode 100644 index 0000000..88500ce Binary files /dev/null and b/timeseries_set/output00000109_microenvironment0.mat differ diff --git a/timeseries_set/output00000110.xml b/timeseries_set/output00000110.xml new file mode 100644 index 0000000..a0034d7 --- /dev/null +++ b/timeseries_set/output00000110.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6600.000000 + 110.264063 + 2019-08-30T19:49:58Z + 2019-08-30T19:49:58Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000110_microenvironment0.mat + + + + + + + + + output00000110_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000110_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000110_cells.mat b/timeseries_set/output00000110_cells.mat new file mode 100644 index 0000000..c12dc10 Binary files /dev/null and b/timeseries_set/output00000110_cells.mat differ diff --git a/timeseries_set/output00000110_cells_physicell.mat b/timeseries_set/output00000110_cells_physicell.mat new file mode 100644 index 0000000..1c72c04 Binary files /dev/null and b/timeseries_set/output00000110_cells_physicell.mat differ diff --git a/timeseries_set/output00000110_microenvironment0.mat b/timeseries_set/output00000110_microenvironment0.mat new file mode 100644 index 0000000..032afb2 Binary files /dev/null and b/timeseries_set/output00000110_microenvironment0.mat differ diff --git a/timeseries_set/output00000111.xml b/timeseries_set/output00000111.xml new file mode 100644 index 0000000..b8810f1 --- /dev/null +++ b/timeseries_set/output00000111.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6660.000000 + 111.349105 + 2019-08-30T19:49:59Z + 2019-08-30T19:49:59Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000111_microenvironment0.mat + + + + + + + + + output00000111_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000111_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000111_cells.mat b/timeseries_set/output00000111_cells.mat new file mode 100644 index 0000000..a64a954 Binary files /dev/null and b/timeseries_set/output00000111_cells.mat differ diff --git a/timeseries_set/output00000111_cells_physicell.mat b/timeseries_set/output00000111_cells_physicell.mat new file mode 100644 index 0000000..9bcd901 Binary files /dev/null and b/timeseries_set/output00000111_cells_physicell.mat differ diff --git a/timeseries_set/output00000111_microenvironment0.mat b/timeseries_set/output00000111_microenvironment0.mat new file mode 100644 index 0000000..146342e Binary files /dev/null and b/timeseries_set/output00000111_microenvironment0.mat differ diff --git a/timeseries_set/output00000112.xml b/timeseries_set/output00000112.xml new file mode 100644 index 0000000..d673b72 --- /dev/null +++ b/timeseries_set/output00000112.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6720.000000 + 112.460258 + 2019-08-30T19:50:00Z + 2019-08-30T19:50:00Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000112_microenvironment0.mat + + + + + + + + + output00000112_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000112_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000112_cells.mat b/timeseries_set/output00000112_cells.mat new file mode 100644 index 0000000..4c96271 Binary files /dev/null and b/timeseries_set/output00000112_cells.mat differ diff --git a/timeseries_set/output00000112_cells_physicell.mat b/timeseries_set/output00000112_cells_physicell.mat new file mode 100644 index 0000000..4185f7d Binary files /dev/null and b/timeseries_set/output00000112_cells_physicell.mat differ diff --git a/timeseries_set/output00000112_microenvironment0.mat b/timeseries_set/output00000112_microenvironment0.mat new file mode 100644 index 0000000..0b0dee7 Binary files /dev/null and b/timeseries_set/output00000112_microenvironment0.mat differ diff --git a/timeseries_set/output00000113.xml b/timeseries_set/output00000113.xml new file mode 100644 index 0000000..3d45cb2 --- /dev/null +++ b/timeseries_set/output00000113.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6780.000000 + 113.579615 + 2019-08-30T19:50:01Z + 2019-08-30T19:50:01Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000113_microenvironment0.mat + + + + + + + + + output00000113_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000113_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000113_cells.mat b/timeseries_set/output00000113_cells.mat new file mode 100644 index 0000000..7a2b158 Binary files /dev/null and b/timeseries_set/output00000113_cells.mat differ diff --git a/timeseries_set/output00000113_cells_physicell.mat b/timeseries_set/output00000113_cells_physicell.mat new file mode 100644 index 0000000..0759d1e Binary files /dev/null and b/timeseries_set/output00000113_cells_physicell.mat differ diff --git a/timeseries_set/output00000113_microenvironment0.mat b/timeseries_set/output00000113_microenvironment0.mat new file mode 100644 index 0000000..53cd820 Binary files /dev/null and b/timeseries_set/output00000113_microenvironment0.mat differ diff --git a/timeseries_set/output00000114.xml b/timeseries_set/output00000114.xml new file mode 100644 index 0000000..f25365f --- /dev/null +++ b/timeseries_set/output00000114.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6840.000000 + 114.711567 + 2019-08-30T19:50:02Z + 2019-08-30T19:50:02Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000114_microenvironment0.mat + + + + + + + + + output00000114_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000114_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000114_cells.mat b/timeseries_set/output00000114_cells.mat new file mode 100644 index 0000000..7fefb00 Binary files /dev/null and b/timeseries_set/output00000114_cells.mat differ diff --git a/timeseries_set/output00000114_cells_physicell.mat b/timeseries_set/output00000114_cells_physicell.mat new file mode 100644 index 0000000..3bd9774 Binary files /dev/null and b/timeseries_set/output00000114_cells_physicell.mat differ diff --git a/timeseries_set/output00000114_microenvironment0.mat b/timeseries_set/output00000114_microenvironment0.mat new file mode 100644 index 0000000..46c86d5 Binary files /dev/null and b/timeseries_set/output00000114_microenvironment0.mat differ diff --git a/timeseries_set/output00000115.xml b/timeseries_set/output00000115.xml new file mode 100644 index 0000000..7f71892 --- /dev/null +++ b/timeseries_set/output00000115.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6900.000000 + 115.842844 + 2019-08-30T19:50:04Z + 2019-08-30T19:50:04Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000115_microenvironment0.mat + + + + + + + + + output00000115_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000115_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000115_cells.mat b/timeseries_set/output00000115_cells.mat new file mode 100644 index 0000000..accf5a8 Binary files /dev/null and b/timeseries_set/output00000115_cells.mat differ diff --git a/timeseries_set/output00000115_cells_physicell.mat b/timeseries_set/output00000115_cells_physicell.mat new file mode 100644 index 0000000..fb5f970 Binary files /dev/null and b/timeseries_set/output00000115_cells_physicell.mat differ diff --git a/timeseries_set/output00000115_microenvironment0.mat b/timeseries_set/output00000115_microenvironment0.mat new file mode 100644 index 0000000..fca9ef5 Binary files /dev/null and b/timeseries_set/output00000115_microenvironment0.mat differ diff --git a/timeseries_set/output00000116.xml b/timeseries_set/output00000116.xml new file mode 100644 index 0000000..a7f94c0 --- /dev/null +++ b/timeseries_set/output00000116.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 6960.000000 + 116.978925 + 2019-08-30T19:50:05Z + 2019-08-30T19:50:05Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000116_microenvironment0.mat + + + + + + + + + output00000116_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000116_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000116_cells.mat b/timeseries_set/output00000116_cells.mat new file mode 100644 index 0000000..86d694f Binary files /dev/null and b/timeseries_set/output00000116_cells.mat differ diff --git a/timeseries_set/output00000116_cells_physicell.mat b/timeseries_set/output00000116_cells_physicell.mat new file mode 100644 index 0000000..89600df Binary files /dev/null and b/timeseries_set/output00000116_cells_physicell.mat differ diff --git a/timeseries_set/output00000116_microenvironment0.mat b/timeseries_set/output00000116_microenvironment0.mat new file mode 100644 index 0000000..54ffc52 Binary files /dev/null and b/timeseries_set/output00000116_microenvironment0.mat differ diff --git a/timeseries_set/output00000117.xml b/timeseries_set/output00000117.xml new file mode 100644 index 0000000..63c203d --- /dev/null +++ b/timeseries_set/output00000117.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 7020.000000 + 118.118935 + 2019-08-30T19:50:06Z + 2019-08-30T19:50:06Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000117_microenvironment0.mat + + + + + + + + + output00000117_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000117_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000117_cells.mat b/timeseries_set/output00000117_cells.mat new file mode 100644 index 0000000..6fe0ebb Binary files /dev/null and b/timeseries_set/output00000117_cells.mat differ diff --git a/timeseries_set/output00000117_cells_physicell.mat b/timeseries_set/output00000117_cells_physicell.mat new file mode 100644 index 0000000..e0e2e48 Binary files /dev/null and b/timeseries_set/output00000117_cells_physicell.mat differ diff --git a/timeseries_set/output00000117_microenvironment0.mat b/timeseries_set/output00000117_microenvironment0.mat new file mode 100644 index 0000000..fda3098 Binary files /dev/null and b/timeseries_set/output00000117_microenvironment0.mat differ diff --git a/timeseries_set/output00000118.xml b/timeseries_set/output00000118.xml new file mode 100644 index 0000000..9e72235 --- /dev/null +++ b/timeseries_set/output00000118.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 7080.000000 + 119.280203 + 2019-08-30T19:50:07Z + 2019-08-30T19:50:07Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000118_microenvironment0.mat + + + + + + + + + output00000118_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000118_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000118_cells.mat b/timeseries_set/output00000118_cells.mat new file mode 100644 index 0000000..f0b3071 Binary files /dev/null and b/timeseries_set/output00000118_cells.mat differ diff --git a/timeseries_set/output00000118_cells_physicell.mat b/timeseries_set/output00000118_cells_physicell.mat new file mode 100644 index 0000000..064faf6 Binary files /dev/null and b/timeseries_set/output00000118_cells_physicell.mat differ diff --git a/timeseries_set/output00000118_microenvironment0.mat b/timeseries_set/output00000118_microenvironment0.mat new file mode 100644 index 0000000..2315228 Binary files /dev/null and b/timeseries_set/output00000118_microenvironment0.mat differ diff --git a/timeseries_set/output00000119.xml b/timeseries_set/output00000119.xml new file mode 100644 index 0000000..47f050a --- /dev/null +++ b/timeseries_set/output00000119.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 7140.000000 + 120.418228 + 2019-08-30T19:50:08Z + 2019-08-30T19:50:08Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000119_microenvironment0.mat + + + + + + + + + output00000119_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000119_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000119_cells.mat b/timeseries_set/output00000119_cells.mat new file mode 100644 index 0000000..b4ef64b Binary files /dev/null and b/timeseries_set/output00000119_cells.mat differ diff --git a/timeseries_set/output00000119_cells_physicell.mat b/timeseries_set/output00000119_cells_physicell.mat new file mode 100644 index 0000000..f2f382b Binary files /dev/null and b/timeseries_set/output00000119_cells_physicell.mat differ diff --git a/timeseries_set/output00000119_microenvironment0.mat b/timeseries_set/output00000119_microenvironment0.mat new file mode 100644 index 0000000..6e3f36f Binary files /dev/null and b/timeseries_set/output00000119_microenvironment0.mat differ diff --git a/timeseries_set/output00000120.xml b/timeseries_set/output00000120.xml new file mode 100644 index 0000000..39459b9 --- /dev/null +++ b/timeseries_set/output00000120.xml @@ -0,0 +1,106 @@ + + + + + BioFVM + 1.1.7 + http://BioFVM.MathCancer.org + + + + + + 7200.000000 + 121.576197 + 2019-08-30T19:50:09Z + 2019-08-30T19:50:09Z + + + + + -500.000000 -500.000000 -10.000000 500.000000 500.000000 10.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + -490.000000 -470.000000 -450.000000 -430.000000 -410.000000 -390.000000 -370.000000 -350.000000 -330.000000 -310.000000 -290.000000 -270.000000 -250.000000 -230.000000 -210.000000 -190.000000 -170.000000 -150.000000 -130.000000 -110.000000 -90.000000 -70.000000 -50.000000 -30.000000 -10.000000 10.000000 30.000000 50.000000 70.000000 90.000000 110.000000 130.000000 150.000000 170.000000 190.000000 210.000000 230.000000 250.000000 270.000000 290.000000 310.000000 330.000000 350.000000 370.000000 390.000000 410.000000 430.000000 450.000000 470.000000 490.000000 + 0.000000 + + initial_mesh0.mat + + + + + + + 100000.000000 + 0.100000 + + + + + + 100000.000000 + 10.000000 + + + + + + 40000.000000 + 1.000000 + + + + + + 25000.000000 + 0.100000 + + + + + + 50000.000000 + 20.000000 + + + + + output00000120_microenvironment0.mat + + + + + + + + + output00000120_cells.mat + + + + + + + + + + + + + + + + + + + + + + + + output00000120_cells_physicell.mat + + + + + + diff --git a/timeseries_set/output00000120_cells.mat b/timeseries_set/output00000120_cells.mat new file mode 100644 index 0000000..3585884 Binary files /dev/null and b/timeseries_set/output00000120_cells.mat differ diff --git a/timeseries_set/output00000120_cells_physicell.mat b/timeseries_set/output00000120_cells_physicell.mat new file mode 100644 index 0000000..439baf7 Binary files /dev/null and b/timeseries_set/output00000120_cells_physicell.mat differ diff --git a/timeseries_set/output00000120_microenvironment0.mat b/timeseries_set/output00000120_microenvironment0.mat new file mode 100644 index 0000000..8de6f95 Binary files /dev/null and b/timeseries_set/output00000120_microenvironment0.mat differ diff --git a/timeseries_set/read_MultiCellDS_xml.py b/timeseries_set/read_MultiCellDS_xml.py new file mode 100644 index 0000000..4d6f461 --- /dev/null +++ b/timeseries_set/read_MultiCellDS_xml.py @@ -0,0 +1,171 @@ +# %% +import xml.etree.ElementTree as TE +import numpy as np +import pandas as pd +import scipy.io as sio +from pathlib import Path + +def read_MultiCellDS_xml(file_name, output_dir = '.'): + + output_path = Path(output_dir) + xml_file = output_path / 'output00000001.xml' + try: + tree = TE.parse(xml_file) + except: + print('Data File:', xml_file, 'not found!') + exit(0) + + root = tree.getroot() + MCDS = {} + + # Get current simulated time + metadata_node = root.find('metadata') + time_node = metadata_node.find('current_time') + MCDS['metadata'] = {} + MCDS['metadata']['current_time'] = float(time_node.text) + MCDS['metadata']['time_units'] = time_node.get('units') + + # Get current runtime + time_node = metadata_node.find('current_runtime') + MCDS['metadata']['current_runtime'] = float(time_node.text) + MCDS['metadata']['runtime_units'] = time_node.get('units') + + # find the microenvironment node + me_node = root.find('microenvironment') + me_node = me_node.find('domain') + + # find the mesh node + mesh_node = me_node.find('mesh') + MCDS['metadata']['spatial_units'] = mesh_node.get('units') + MCDS['mesh'] = {} + + # check for cartesian mesh + cartesian = False + mesh_type = mesh_node.get('type') + if mesh_type == 'Cartesian': + cartesian = True + + # while we're at it, find the mesh + coord_str = mesh_node.find('x_coordinates').text + delimiter = mesh_node.find('x_coordinates').get('delimiter') + x_coords = np.array(coord_str.split(delimiter), dtype=np.float64) + + coord_str = mesh_node.find('y_coordinates').text + delimiter = mesh_node.find('y_coordinates').get('delimiter') + y_coords = np.array(coord_str.split(delimiter), dtype=np.float64) + + coord_str = mesh_node.find('z_coordinates').text + delimiter = mesh_node.find('z_coordinates').get('delimiter') + z_coords = np.array(coord_str.split(delimiter), dtype=np.float64) + + # reshape into a mesh grid + xx, yy, zz = np.meshgrid(x_coords, y_coords, z_coords) + + MCDS['mesh']['x_coordinates'] = xx + MCDS['mesh']['y_coordinates'] = yy + MCDS['mesh']['z_coordinates'] = zz + + # Voxel data must be loaded from .mat file + voxel_file = mesh_node.find('voxels').find('filename').text + voxel_path = output_path / voxel_file + try: + initial_mesh = sio.loadmat(voxel_path)['mesh'] + except: + print('Data file', voxel_path, 'missing!') + print('Referenced in', xml_file) + exit(0) + + # center of voxel specified by first three rows [ x, y, z ] + # volume specified by fourth row + MCDS['mesh']['voxels'] = {} + MCDS['mesh']['voxels']['centers'] = initial_mesh[:3, :] + MCDS['mesh']['voxels']['volumes'] = initial_mesh[3, :] + + # Continuum_variables, unlike in the matlab version the individual chemical + # species will be primarily accessed through their names e.g. + # MCDS['continuum_variables']['oxygen']['units'] + # MCDS['continuum_variables']['glucose']['data'] + MCDS['continuum_variables'] = {} + variables_node = me_node.find('variables') + file_node = me_node.find('data').find('filename') + + # micro environment data is shape [4+n, len(voxels)] where n is the number + # of species being tracked. the first 3 rows represent (x, y, z) of voxel centers. + # The fourth row contains the voxel volume. The 5th row and up will contain values + # for that species in that voxel. + me_file = file_node.text + me_path = output_path / me_file + try: + me_data = sio.loadmat(me_path)['multiscale_microenvironment'] + except: + print('Data file', me_path, 'missing!') + print('Referenced in', xml_file) + exit(0) + + var_children = variables_node.findall('variable') + + for i, species in enumerate(var_children): + species_name = species.get('name') + MCDS['continuum_variables'][species_name] = {} + MCDS['continuum_variables'][species_name]['units'] = species.get('units') + + # travel down one level on tree + species = species.find('physical_parameter_set') + + # diffusion data for each species + MCDS['continuum_variables'][species_name]['diffusion_coefficient'] = {} + MCDS['continuum_variables'][species_name]['diffusion_coefficient']['value'] \ + = float(species.find('diffusion_coefficient').text) + MCDS['continuum_variables'][species_name]['diffusion_coefficient']['units'] \ + = species.find('diffusion_coefficient').get('units') + + # decay data for each species + MCDS['continuum_variables'][species_name]['decay_rate'] = {} + MCDS['continuum_variables'][species_name]['decay_rate']['value'] \ + = float(species.find('decay_rate').text) + MCDS['continuum_variables'][species_name]['decay_rate']['units'] \ + = species.find('decay_rate').get('units') + + # store data from microenvironment file as numpy array + MCDS['continuum_variables'][species_name]['data'] \ + = me_data[4+i, :].reshape(xx.shape) + + # in order to get to the good stuff we have to pass through a few different + # hierarchal levels + cell_node = root.find('cellular_information') + cell_node = cell_node.find('cell_populations') + cell_node = cell_node.find('cell_population') + cell_node = cell_node.find('custom') + # we want the PhysiCell data, there is more of it + for child in cell_node.findall('simplified_data'): + if child.get('source') == 'PhysiCell': + cell_node = child + break + + MCDS['discrete_cells'] = {} + df_labels = [] + # iterate over 'label's which are children of 'labels' these will be used to + # label dataframe columns + for label in cell_node.find('labels').findall('label'): + if int(label.get('size')) > 1: + dir_label = ['_x', '_y', '_z'] + for i in range(int(label.get('size'))): + df_labels.append(label.text + dir_label[i]) + else: + df_labels.append(label.text) + + # load the file, we want it transposed from the matlab format + cell_file = cell_node.find('filename').text + cell_path = output_path / cell_file + try: + cell_data = sio.loadmat(cell_path)['cells'].T + except: + print('Data file', cell_path, 'missing!') + print('Referenced in', xml_file) + exit(0) + + # we will save the cell information as a dataframe in the MCDS object + cell_df = pd.DataFrame(cell_data, columns=df_labels) + MCDS['discrete_cells']['data_df'] = cell_df + + return MCDS