owls-autonomy
Autonomy tools to support life detection aboard the Ocean Worlds Life Surveyor (OWLS) instrument suite.
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
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
Metadata Files
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
- ImageMagick \
Full instructions for installing ImageMagick are
here. For MacOSX, use
brew install imagemagick. - 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
- Website: https://ml.jpl.nasa.gov/
- Repositories: 12
- Profile: https://github.com/JPLMLIA
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
- 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 *
- pydocstyle * development
- pytest * development
- pytest-cov * development
- sphinx * development
- Newtonsoft.Json 12.0.3
- ThermoFisher.CommonCore.Data 5.0.0.38
- ThermoFisher.CommonCore.RawFileReader 5.0.0.38
- 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 *