CerebralCortex Kernel
Cerebral Cortex is the big data cloud companion of mCerebrum designed to support population-scale
data analysis, visualization, model development, and intervention design for mobile sensor data.
You can find more information about MD2K software on our
software website or the MD2K organization on our
MD2K website.
CerebralCortex Kernel is part of our
CerebralCortex cloud platform.
CerebralCortex-Kernel is capable of parallelizing tasks and scale a job to n-number of cores/machines. CerebralCortex Kernel offers some builtin features as follows:
Installation
Dependencies
CerebralCortex Kernel requires java 8
to run. Java 8 prior to version 8u92 support is deprecated as of CerebralCortex-Kernel 3.3.0.
- check java version -
java -version
- set
JAVA_HOME
to java 8
- OR start python shell with
JAVA_HOME=/path/to/java/Home python3
Install using pip
CerebralCortex-Kernel requires minimum Python3.6. To install CerebralCortex-Kernel as an API:
pip3 install cerebralcortex-kernel
- Note: please use appropriate pip (e.g., pip, pip3, pip3.6 etc.) installed on your machine
Install from source code
- Clone repo -
git clone https://github.com/MD2Korg/CerebralCortex-Kernel.git
cd CerebralCortex-Kernel
python3 setup.py install
Usage
from cerebralcortex.kernel import Kernel
CC = Kernel(cc_configs="default")
# to view default configs
print(CC.config)
# default data storage path is
# /user/home/folder/cc_data
By default Kernel will load default configs. Please have a look at all available configurations for CerebralCortex-Kernel.
You may also load config files as:
CC = Kernel(configs_dir_path="dir/path/to/configs/", new_study=True)
How to use builtin algorithms
Using builtin algorithms are as easy as loading data, passing it to algorithm and get the results.
Below is an example on how to compute CGM Glucose Variability Metrics.
Python Code
# import packages
from cerebralcortex.kernel import Kernel
from cerebralcortex.algorithms.glucose.glucose_variability_metrics import glucose_var
# Create Kernel object
CC = Kernel(cc_configs="default", new_study=True)
# Read sample CSV data
ds = CC.read_csv("/path/of/the/downloaded/file/sample.csv", stream_name="cgm_glucose_variability_metrics", header=True)
# view sample data
ds.show(2)
# Apply glucose_variability_metrics algorithm on the data
results = glucose_var(ds)
# view results
results.show(2)
# save computed data
CC.save_stream(results)
Please have a look at jupyter notebook for basic operation that could be perform on DataStream object.
Algorithms to Analyze Sensor Data
External CerebralCortex-Kernel offers following builtin algorithms to analyze sensor data.
Markers with ML Models
Visualization
Import and Document Data
External CerebralCortex-Kernel Supported Platforms
Examples
Documentation
Deploy on Cloud
CerebralCortex-Kernel is a part of CerebralCortex cloud platform. To test the complete cloud platform, please visit CerebralCortex.
FAQ
1 - Do I need whole CerebralCortex cloud platform to use CerebralCortex-Kernal?
No! If you want to use CerebralCortex-Kernel independently.
2 - How can I change NoSQL backend storage layer?
CerebralCortex-Kernel follows component based structure. This makes it easier to add/remove features.
3 - How can I replace MySQL with another SQL storage system?
4 - Where are all the backend storage related classes/methods?
In Data manager-Raw. You can add/change any backend storage.
Contributing
Please read our Contributing Guidelines for details on the process for submitting pull requests to us.
We use the Python PEP 8 Style Guide.
Our Code of Conduct is the Contributor Covenant.
Bug reports can be submitted through JIRA.
Our discussion forum can be found here.
Versioning
We use Semantic Versioning for versioning the software which is based on the following guidelines.
MAJOR.MINOR.PATCH (example: 3.0.12)
- MAJOR version when incompatible API changes are made,
- MINOR version when functionality is added in a backwards-compatible manner, and
- PATCH version when backwards-compatible bug fixes are introduced.
For the versions available, see this repository's tags.
Contributors
Link to the list of contributors who participated in this project.
License
This project is licensed under the BSD 2-Clause - see the license file for details.
Acknowledgments