DASCore

A python library for distributed fiber optic sensing.

coverage supported versions PyPI Downloads Conda Downloads Licence

Documentation

Code

Highlights

DASCore is a Python library for distributed acoustic sensing (DAS). It provides:

  1. IO support for various DAS data formats
  2. Common processing routines
  3. Basic visualizations
Note

DASCore is a foundational package of the DAS Data Analysis Ecosystem (DASDAE). It facilitates rapid development of other DASDAE packages that do more specialized analysis/visualization.

Introductory usage

Read a file

import dascore as dc
from dascore.utils.downloader import fetch

# get a path to an example file, replace with your path
file_path = fetch('terra15_das_1_trimmed.hdf5')

spool = dc.spool(file_path)

Index a directory of DAS files

import dascore as dc
from dascore.utils.downloader import fetch

# get a path to a directory of das files, replace with your path
directory_path = fetch('terra15_das_1_trimmed.hdf5').parent

# index a directory of data, sub-select, then specify chunk shapes
spool = (
    dc.spool(directory_path)
    .update()
    .select(time_min=('2020-01-01', None))
    .chunk(time=60, overlap=10)
)

Get patches (array w/ metadata)

import dascore as dc
spool = dc.get_example_spool('diverse_das')

# get patches through iteration
for patch in spool:
    ...

# Or through indexing
patch = spool[0]

Perform processing

import dascore as dc
patch = dc.get_example_patch('random_das')

out = (
    patch.decimate(time=8)  # decimate along time axis (keep every 8th sample)
    .detrend(dim='distance')  # detrend in distance axis
    .pass_filter(time=(None, 10))  # apply low-pass filter
)

Visualize

import dascore as dc
patch = dc.get_example_patch('random_das')

patch.viz.waterfall(show=True, scale=0.02);

Installation

Use pip or conda to install DASCore:

pip install dascore
conda install dascore -c conda-forge

See the contributing docs for development installations.

Feedback and Support

Use the project discussions to ask a question.

Use the project issues to report an issue.