Skip to main content

Python interface for calling Seabird CTD processing commands

Project description

Seabird-Processing

Python bindings for executing Seabird SBE processing tools.

Description

This library contains an API for executing seabird SBE processing modules on Seabird data files (hex and cnv). The modules all accept text as input which allows for more convenient access to the command line functions which would normally require a file path as input. Under the hood, this library simply saves temporary files which are then processed through SBE, read into memory, and returned as in-memory text.

Installation

Pre-requisites

An installation of the Seabird Processing Suite is required to run these modules since they simply provide an abstraction of the command line tools provided by Seabird.

Install with pip

To install this tool in your current python environment do:

pip install seabird-processing

Configure the tool with the location of your Seabird Processing Suite installation by setting the SBE_PROCESSING_PATH environment variable. For example, if you installed the software to C:\Program Files (x86)\Seabird\SBEDataProcessing-Win32 then you would set the environment variable SBE_PROCESSING_PATH=C:\Program Files (x86)\Seabird\SBEDataProcessing-Win32\. By default, it is assumed that the software is installed to C:\Program Files (x86)\Seabird\SBEDataProcessing-Win32.

Usage

There are two ways to use this library. The first is to use individual functions which correspond one-to-one with the SBE processing modules. The second is to use the Pipeline class which allows you to chain together multiple processing modules.

Command line functions

from seabird_processing import dat_cnv, filter_

xmlcon = './xmlcon/19-7467.xmlcon'

cnvfile = dat_cnv('./seabird_data_file.hex', './output/dir', xmlcon, './psa/DatCnv.psa')
# "filter" is a reserved keyword, so this function is called "filter_"
filtered = filter_(cnvfile, './output/dir', xmlcon, './psa/AlignCTD.psa')
# ...

Pipeline processing

from seabird_processing import Batch, configs

xmlcon = './path/to/xmlcon/12-3456.xmlcon'

# Create a pipeline with some config files
batch = Batch([
    configs.DatCnvConfig(
        # `output_file_suffix` is optional
        output_dir="./datcnv", output_file_suffix="_datcnv",
        xmlcon=xmlcon, psa='./path/to/DatCnv.psa'),
    configs.FilterConfig(
        output_dir="./filter", output_file_suffix="_filter",
        xmlcon=xmlcon, psa='./path/to/Filter.psa'),
    configs.AlignCTDConfig(
        output_dir="./alignctd", output_file_suffix="_alignctd",
        xmlcon=xmlcon, psa='./path/to/AlignCTD.psa'),
    configs.CellTMConfig(
        output_dir="./celltm", output_file_suffix="_celltm",
        xmlcon=xmlcon, psa='./path/to/CellTM.psa'),
    configs.LoopEditConfig(
        output_dir="./loopedit", output_file_suffix="_loopedit",
        xmlcon=xmlcon, psa='./path/to/LoopEdit.psa'),
    configs.DeriveConfig(
        output_dir="./derive", output_file_suffix="_derive",
        xmlcon=xmlcon, psa='./path/to/Derive.psa'),
    configs.DeriveTEOS10Config(
        output_dir="./deriveteos10", output_file_suffix="_deriveteos10",
        xmlcon=xmlcon, psa='./path/to/DeriveTEOS_10.psa'),
    configs.BinAvgConfig(
        output_dir="./binavg", output_file_suffix="_binavg",
        xmlcon=xmlcon, psa='./path/to/BinAvg.psa'),
])

batch.run("./*.hex")

# You may also run an individual Config object
converter = configs.DatCnvConfig(
    output_dir="./datcnv", output_file_suffix="_datcnv",
    xmlcon=xmlcon, psa='./path/to/DatCnv.psa'
)
converter.run("./some/file.hex")

Copyright and Licensing Information

See LICENSE for details.

Bugs / Feature requests

Please file bug reports and feature requests on GitHub. We also welcome pull requests to add functionality or fix bugs!

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

seabird_processing-0.2.0rc1.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

seabird_processing-0.2.0rc1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file seabird_processing-0.2.0rc1.tar.gz.

File metadata

  • Download URL: seabird_processing-0.2.0rc1.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.12 Linux/5.15.0-1042-azure

File hashes

Hashes for seabird_processing-0.2.0rc1.tar.gz
Algorithm Hash digest
SHA256 2ee38ed37f798525f3ec37b6d3f101c66b4ebbc7ec89b33ebb845d020e0adf63
MD5 79fb1232d9ec8111378de46f4fa6135d
BLAKE2b-256 1b565d67f7cfcef6c81c17272985b1ccf40ff59d6ac75ea4542bce4a675341e2

See more details on using hashes here.

File details

Details for the file seabird_processing-0.2.0rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for seabird_processing-0.2.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 d5ec3ba47300c9b8499f22cd2c48c41f972c12dda8e1a296fbe5318a63f0e1e5
MD5 eebcf0a24a249d54f62dd555f4d50ae1
BLAKE2b-256 9f1384c8f359210bc7ed0e789ac1ed9d0e5ee17ba7689470abbcda1bfb3033a4

See more details on using hashes here.

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