Skip to content

nasa-jpl/ROSCO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ROck Shadow COunter (ROSCO)

ROSCO is a codebase originally developed at NASA/JPL to detect rocks in aerial imagery by by looking for their shadows.

This repository brings several existing sources into a linear history and is the currently active branch of the shadow-based rock detection code from 2006 to present. The sources included:

  • code recovered from the original authors, Andres Huertas and Yang Cheng, used for the Mars Phoenix Lander mission
  • code handed off by Andres at his retirement (used for the MSL and InSight missions)
  • code used for the Mars 2020 mission
  • the RockCollect user interface built by Bob Crocco.

Contributors and Stakeholders

RockDetector Command Line Tool and Library

The core rock detection algorithms are implemented in a C++ codebase in the RockDetector subdirectory. This code builds on Linux, Mac OS X, and Windows. It creates both a command-line executable and a library.

There are two dependencies:

  • OpenMP enables parallelization for a big performance improvement
  • SWIG enables a Python interface to the library.

Both are optional, and will be used only if you install them on your system before building RockDetector.

Test instructions are here.

Building RockDetector on Linux and Mac OS X

Install cmake.

  cd RockDetector
  mkdir build
  cd build
  cmake .. 
  make

The command line executable will be generated at RockDetector/build/bin/RockDetector and the shared library will be at RockDetector/build/lib/libRockDetectorShared.*.

Building RockDetector on Windows

Install the latest version of cmake from here. These instructions were tested with cmake-3.28.3 on windows x86_64.

Install Microsoft Visual Studio Community Edition. These instructions were tested with

Then run the following commands to generate the Visual Studio solution file:

  cd RockDetector
  mkdir build
  cd build
  cmake .. -G "Visual Studio 16 2019"

Then open the newly created RockDetector/build/Rockdetector.sln in Visual Studio. In the "Solution Configurations" pulldown in the toolbar make sure "Release" is chosen. In the adjacent "Solution Platforms" pulldown make sure "x64" is chosen. Then in the Solution Explorer pane right click on "Solution 'RockDetector'" and chose "Build Solution". The command line executable will be generated at RockDetector/build/bin/Release/RockDetector.exe and the shared library will be at RockDetector/build/Release/RockDetectorShared.dll.

RockCollect User Interface

TODO

References

  • Otero, Richard; Huertas, A.; Almeida, E.; Golombek, M.; Trautman, M.; Rothrock, B., 2017, "Mars 2020 robust rock detection and analysis method", 14th International Planetary Probe Workshop, The Hague, Netherlands, June 12-16, 2017, JPL Open Repository; CL17-2518.pdf.
  • L. Matthies, A. Huertas, Y. Cheng and A. Johnson, "Stereo vision and shadow analysis for landing hazard detection," 2008 IEEE International Conference on Robotics and Automation, Pasadena, CA, USA, 2008, pp. 2735-2742, doi: 10.1109/ROBOT.2008.4543625.
  • A. Huertas, Yang Cheng and R. Madison, "Passive imaging based multi-cue hazard detection for spacecraft safe landing," 2006 IEEE Aerospace Conference, Big Sky, MT, USA, 2006, pp. 14 pp.-, doi: 10.1109/AERO.2006.1655794.
  • Golombek, M. P., et al. (2008), Size-frequency distributions of rocks on the northern plains of Mars with special reference to Phoenix landing surfaces, J. Geophys. Res., 113, E00A09, doi: 10.1029/2007JE003065.

License

This codebase is released under the Apache 2.0 license.

About

ROck Shadow COunter: shadow-based rock detection

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages