Skip to main content

A python module for importing and exporting CSD model file-format.

Project description

Build Status Documentation Status License GitHub issues GitHub release

The csdmpy package

The csdmpy package is a Python support for the core scientific dataset (CSD) model file exchange-format. The package is based on the core scientific dataset (CSD) model which is designed as a building block in the development of a more sophisticated portable scientific dataset file standard. The CSD model is capable of handling a wide variety of scientific datasets both within and across disciplinary fields.

The main objective of this python package is to facilitate an easy import and export of the CSD model serialized JSON files for Python users. The package utilizes Numpy library and, therefore, offers the end users versatility to process or visualize the imported datasets with any third party package(s) compatible with Numpy.

The core scientific dataset (CSD) model

The core scientific dataset (CSD) model is a light-weight, portable, versatile, and standalone data model capable of handling a variety of scientific datasets. The model only encapsulates data values and the minimum metadata, to accurately represent a p-component dependent variable, discretely sampled at M unique points in a d-dimensional coordinate space. The model is not intended to encapsulate any information on how the data might be acquired, processed, or visualized.

The data model is versatile in allowing many use cases for most spectroscopy, diffraction, and imaging techniques. As such the model supports multi-component datasets associated with continuous physical quantities that are discretely sampled in a multi-dimensional space associated with other carefully controlled quantities, for e.g., a mass as a function of temperature, a current as a function of voltage and time, a signal voltage as a function of magnetic field gradient strength, a color image with a red, green, and blue (RGB) light intensity components as a function of two independent spatial dimensions, or the six components of the symmetric second-rank diffusion tensor MRI as a function of three independent spatial dimensions. Additionally, the model supports multiple dependent variables sharing the same d-dimensional coordinate space. For instance, the simultaneous measurement of current and voltage as a function of time. Another example would be the simultaneous acquisition of air temperature, pressure, wind velocity, and solar-flux as a function of Earth’s latitude and longitude coordinates. We refer to these dependent variables as correlated-datasets.

The CSD model is independent of the hardware, operating system, application software, programming language, and the object-oriented file-serialization format utilized in serializing the CSD model to the file. Out of numerous file serialization formats, XML, JSON, property list, we adopt the data-exchange oriented JSON (JavaScript Object Notation) file-serialization format because it is human-readable, and easily integrable with any number of programming languages and field related application-software.

Installing csdmpy package

We recommend installing anaconda distribution for python version 3.6 or higher. The anaconda distribution ships with numerous packages and modules including Numpy, Scipy, and Matplotlib which are useful packages for handling scientific datasets.

Using PIP:

PIP is a package manager for Python packages and is included with python version 3.4 and higher.

$ pip install git+https://github.com/DeepanshS/csdmpy.git@master

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

csdmpy-0.1.0b1.tar.gz (9.1 MB view hashes)

Uploaded Source

Built Distribution

csdmpy-0.1.0b1-py3-none-any.whl (48.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page