Package: seabird-processing
Seabird-ProcessingPython bindings for executing Seabird SBE processing tools.DescriptionThis 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.InstallationPre-requisitesAn installation of
theSeabird Processing Suiteis required to
run these modules since they simply provide an abstraction of the command line tools
provided by Seabird.Install with pipTo install this tool in your current python environment do:pip install seabird-processingConfigure the tool with the location of your Seabird Processing Suite installation by
setting theSBE_BIN_DIRenvironment variable. For example, if you installed the
software toC:\Program Files (x86)\Seabird\SBEDataProcessing-Win32then you would set
the environment
variableSBE_BIN_DIR=C:\Program Files (x86)\Seabird\SBEDataProcessing-Win32\.
By default, it is assumed that the software is installed
toC:\Program Files (x86)\Seabird\SBEDataProcessing-Win32.UsageThere 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
thePipelineclass which allows you to chain together multiple processing modules.Command line functionsfromseabird_processingimportdat_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')# ...Batch processingfromseabird_processingimportBatch,configsxmlcon='./path/to/xmlcon/12-3456.xmlcon'# Create a pipeline with some config filesbatch=Batch([configs.DatCnvConfig(# `output_file_suffix` is optionaloutput_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 objectconverter=configs.DatCnvConfig(output_dir="./datcnv",output_file_suffix="_datcnv",xmlcon=xmlcon,psa='./path/to/DatCnv.psa')converter.run("./some/file.hex")Copyright and Licensing InformationSeeLICENSEfor details.Bugs / Feature requestsPlease file bug reports and feature requests on GitHub. We also welcome pull requests
to add functionality or fix bugs!