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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ee38ed37f798525f3ec37b6d3f101c66b4ebbc7ec89b33ebb845d020e0adf63 |
|
MD5 | 79fb1232d9ec8111378de46f4fa6135d |
|
BLAKE2b-256 | 1b565d67f7cfcef6c81c17272985b1ccf40ff59d6ac75ea4542bce4a675341e2 |
File details
Details for the file seabird_processing-0.2.0rc1-py3-none-any.whl
.
File metadata
- Download URL: seabird_processing-0.2.0rc1-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.12 Linux/5.15.0-1042-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5ec3ba47300c9b8499f22cd2c48c41f972c12dda8e1a296fbe5318a63f0e1e5 |
|
MD5 | eebcf0a24a249d54f62dd555f4d50ae1 |
|
BLAKE2b-256 | 9f1384c8f359210bc7ed0e789ac1ed9d0e5ee17ba7689470abbcda1bfb3033a4 |