/brukerapi-python

A Python package providing I/O interface for Bruker data sets

Primary LanguagePythonMIT LicenseMIT

brukerapi-python

Documentation Status

A Python package providing I/O interface for Bruker data sets.

tl;dr

Install using pip:

pip install brukerapi

Load any data set:

from brukerapi.dataset import Dataset
dataset = Dataset('{path}/2dseq')    # create data set, works for fid, 2dseq, rawdata.x, ser
dataset.data                         # access data array
dataset.VisuCoreSize                 # get a value of a single parameter

Load an entire study:

from brukerapi.folders import Study
study = Study('{path_to_study_folder}')
dataset = study.get_dataset(exp_id='1', proc_id='1')

# get_dataset returns an empty dataset
# in order to load data into the data set, you can either use the context manager:

with dataset as d:
    d.data                         # access data array
    d.VisuCoreSize                 # get a value of a parameter

# or the load function
dataset.load()
dataset.data                       # access data array
dataset.VisuCoreSize               # get a value of a single parameter

Features

  • I/O interface for fid data sets
  • I/O interface for 2dseq data sets
  • I/O interface for ser data sets
  • I/O interface for rawdata data sets
  • Random access for fid and 2dseq data sets
  • Split operation implemented over 2dseq data sets
  • Filter operation implemented over Bruker folders (allowing you to work with a subset of your study only)

Examples

Documentation

Online documentation of the API is available at Read The Docs.

Install

Using pip:

pip install brukerapi

From source:

git clone https://github.com/isi-nmr/brukerapi-python.git
cd brukerapi-python
python setup.py build
python setup.py install

Testing

To ensure reliability, every commit to this repository is tested against the following, publicly available data sets:

Compatibility

The API was tested using various data sets obtained by ParaVision 5.1, 6.0.1 and 360. It it is compatible with the following data set types from individual ParaVision versions.

ParaVision v5.1

Compatible data set types:

  • fid
  • 2dseq
  • rawdata.job0
  • rawdata.Navigator

Compatible pulse sequences for fid data sets:

  • FLASH.ppg
  • MGE.ppg
  • MSME.ppg
  • RARE.ppg
  • FAIR_RARE.ppg
  • RAREVTR.ppg
  • RAREst.ppg
  • MDEFT.ppg
  • FISP.ppg
  • FLOWMAP.ppg
  • DtiStandard.ppg
  • EPI.ppg
  • FAIR_EPI.ppg
  • DtiEpi.ppg
  • T1_EPI.ppg
  • T2_EPI.ppg
  • T2S_EPI.ppg
  • SPIRAL.ppg
  • DtiSpiral.ppg
  • UTE.ppg
  • UTE3D.ppg
  • ZTE.ppg
  • CSI.ppg
  • FieldMap.ppg
  • NSPECT.ppg
  • PRESS.ppg
  • STEAM.ppg
  • igFLASH.ppg

ParaVision v6.0.1

Compatible data set types:

  • fid
  • 2dseq
  • rawdata.job0
  • rawdata.Navigator

Compatible pulse sequences for fid data sets:

  • FLASH.ppg,
  • FLASHAngio.ppg
  • IgFLASH.ppg
  • MGE.ppg
  • MSME.ppg
  • RARE.ppg
  • FAIR_RARE.ppg
  • RAREVTR.ppg
  • RAREst.ppg
  • MDEFT.ppg
  • FISP.ppg
  • FLOWMAP.ppg
  • DtiStandard.ppg
  • EPI.ppg
  • FAIR_EPI.ppg
  • CASL_EPI.ppg
  • DtiEpi.ppg
  • T1_EPI.ppg
  • T2_EPI.ppg
  • T2S_EPI.ppg
  • SPIRAL.ppg
  • DtiSpiral.ppg
  • UTE.ppg
  • UTE3D.ppg
  • ZTE.ppg
  • CSI.ppg
  • FieldMap.ppg
  • SINGLEPULSE.ppg
  • NSPECT.ppg
  • EPSI.ppg
  • PRESS.ppg
  • STEAM.ppg
  • ISIS.ppg
  • CPMG.ppg
  • RfProfile.ppg

ParaVision v360

Compatible data set types:

  • 2dseq
  • rawdata.job0
  • rawdata.Navigator