owls-autonomy

Autonomy tools to support life detection aboard the Ocean Worlds Life Surveyor (OWLS) instrument suite.

https://github.com/jplmlia/owls-autonomy

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Autonomy tools to support life detection aboard the Ocean Worlds Life Surveyor (OWLS) instrument suite.

Basic Info
  • Host: GitHub
  • Owner: JPLMLIA
  • License: other
  • Language: Python
  • Default Branch: master
  • Size: 270 MB
Statistics
  • Stars: 7
  • Watchers: 7
  • Forks: 1
  • Open Issues: 1
  • Releases: 0
Created over 5 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Citation

README.md

Ocean Worlds Life Surveyor autonomous algorithms

Scope

The Ocean Worlds Life Surveyor (OWLS) project is aimed at autonomously detecting signatures of life in water at the molecular and cellular scale. The ACME, FAME, HELM, and JEWEL components of OWLS (this package) are a set of software-based autonomy tools to process data from different instruments aboard the OWLS instrument. Their goal is to generate and prioritize Autonomous Data Science Products (ASDPs) to send only the most scientifically valuable subset of information back to Earth.

  • ACME: Autonomous CE-ESI Mass-spectra Examination. Extracts ASDPs from mass-spectra data.
  • FAME: FLFM Autonomous Motility Evaluation. Extracts ASDPs from Volumetric Flourescent Imaging (VFI) microscopy data.
  • HELM: Holographic Examination for Life-like motility. Extracts ASDPs from Digital Holography Microscopy (DHM) data.
  • JEWEL: Joint Examination for Water-based Extant Life. Prioritizes ASDPs from all instruments to transmit data back to Earth in an "optimal" order.

Installation

Standard install requirements

  1. ImageMagick \ Full instructions for installing ImageMagick are here. For MacOSX, use brew install imagemagick.
  2. ffmpeg \ Full instructions for installing ffmpeg are here. For MacOSX, use brew install ffmpeg@4.

Python code

bash git clone https://github.com/JPLMLIA/OWLS-Autonomy.git cd OWLS-Autonomy pip install -e . # use 'editable' to avoid repeated pip installs

Development tools

For development or CI builds (e.g., on Jenkins). bash cd OWLS-Autonomy pip install -r requirements_dev.txt

Demonstration Script

A demonstration script is available to confirm successful installation, give first time users an overview of the autonomy pipelines and provide a set of example input/outputs. Please see the demo README.md for usage.

Code Usage

For ACME, HELM, and FAME, data processsing scripts that you can run from the command line are located in the src/cli directory. Please see the CLI README.md for examples.

Docker

You can build a docker image from the source code if you can't pip install the repository. This may be useful for Windows users.

HELM Validate step

You can build a Docker image to run OWLS-Autonomy functions. Navigate a terminal to this dir and run the command below:

Build with Dockerfile and tag the image. Change the version of the tag as needed. docker build . -f Dockerfile --tag owls-autonomy:v1

Run a container in the Docker Dashboard GUI or via the CLI. Be sure to mount your local data directory into the Docker container. The CLI approach is shown below. After starting the container, see the CLI README.md for examples on running OWLS functionality. The --rm flag will automatically cause the container to stop running as soon as you exit. docker run -it --rm -volume /Users/wronk/Data:/Users/wronk/Data owls-autonomy:v1 /bin/bash

License

All software is licensed according to the JPL Software License, while all documentation is Caltech/JPL Proprietary - Not for public release or distribution.

Owner

  • Name: Machine Learning & Instrument Autonomy
  • Login: JPLMLIA
  • Kind: organization
  • Location: Pasadena, ca

Open Source Software for the Machine Learning & Instrument Autonomy Group at NASA-JPL

GitHub Events

Total
  • Watch event: 3
Last Year
  • Watch event: 3

Dependencies

requirements.txt pypi
  • Pillow *
  • PyYAML *
  • XlsxWriter *
  • astropy *
  • bokeh *
  • comtypes *
  • dtw *
  • glymur *
  • h5py *
  • imagecodecs *
  • jinja2 *
  • matplotlib *
  • mplcursors *
  • mpltools >=0.2
  • numpy ==1.21
  • opencv-python *
  • pandas ==1.0.5
  • psutil *
  • scikit-image *
  • scikit-learn ==1.0.2
  • scipy *
  • shapely >=1.6.4
  • statsmodels ==0.12.2
  • tabulate *
  • tqdm *
requirements_dev.txt pypi
  • pydocstyle * development
  • pytest * development
  • pytest-cov * development
  • sphinx * development
src/tools/acme_cems/ThermoFisher/RawFileReaderWrapper/RawFileReaderWrapper/RawFileReaderWrapper.csproj nuget
src/tools/acme_cems/ThermoFisher/RawFileReaderWrapper/RawFileReaderWrapper/packages.config nuget
  • Newtonsoft.Json 12.0.3
  • ThermoFisher.CommonCore.Data 5.0.0.38
  • ThermoFisher.CommonCore.RawFileReader 5.0.0.38
setup.py pypi
src/tools/acme_cems/containerization_tools/requirements.txt pypi
  • PyYAML *
  • XlsxWriter *
  • glymur *
  • lxml ==4.9.2
  • matplotlib *
  • mplcursors *
  • mpltools >=0.2
  • numpy ==1.21
  • pandas *
  • psutil *
  • scikit-image *
  • scikit-learn ==1.0.2
  • scipy *
  • tqdm *