How marsraw/mars-raw-utils works
MRU is a command-line toolkit and Rust library for retrieving public raw Mars mission imagery and processing it for enthusiast and citizen-science use. Its principal workflow accepts a mission-specific fetch command, queries the corresponding public image service, filters results, downloads image files and metadata, and saves them locally. Separate workflows update calibration data and calibrate images; additional commands manipulate images and expose mission time, location, weather, and overpass information. The README documents camera-specific calibration capabilities; mission and auxiliary command wiring beyond the sampled fetch path is represented only where the tree and documentation support it.
Main entry points: remotequery.rs Fetch orchestration · mru.rs MRU CLI · subs/mod.rs Mission commands · caldata/mod.rs Calibration data manager
Components 25
Command interface
- MRU CLI
bin/mru.rs - Fetch commands
bin/subs/m20/m20fetch.rs - Calibration command
bin/subs/calibrate.rs - Image commands
bin/subs/mod.rs - Mission commands
bin/subs/mod.rs
Image retrieval
- Fetch orchestration
src/remotequery.rs - Mars2020 fetch client
src/m20/fetch.rs - MSL fetch client
src/msl/fetch.rs - InSight fetch client
src/nsyt/fetch.rs - NASA raw-image services
- HTTP retrieval
src/httpfetch.rs - Downloaded images
- Image metadata
src/metadata.rs
Image processing
- Calibration entrypoint
src/calibrate.rs - Mission camera calibration
src/m20/mod.rs - Image operations
src/lib.rs
Mission services
- Mission information APIs
src/m20/mod.rs - Orbiter overpasses
src/passes.rs - Rover location
src/location.rs - Mission weather
src/m20/weather.rs - Mission web services
Calibration data
- Calibration updater
bin/subs/caldata.rs - Calibration data manager
src/caldata/mod.rs - Local calibration files
Other components
- User
Connections 27
- User → MRU CLI: invokes
- MRU CLI → Fetch commands: dispatches
- MRU CLI → Calibration command: dispatches
- MRU CLI → Image commands: dispatches
- MRU CLI → Mission commands: dispatches
- Fetch commands → Fetch orchestration: configures fetch
- Fetch orchestration → Mars2020 fetch client: queries
- Fetch orchestration → MSL fetch client: queries
- Fetch orchestration → InSight fetch client: queries
- Mars2020 fetch client → NASA raw-image services: requests images
- MSL fetch client → NASA raw-image services: requests images
- InSight fetch client → NASA raw-image services: requests images
- Fetch orchestration → HTTP retrieval: downloads bytes
- Fetch orchestration → Downloaded images: writes images
- Fetch orchestration → Image metadata: saves metadata
- Calibration command → Calibration entrypoint: runs calibration
- Calibration entrypoint → Mission camera calibration: selects routines
- Image commands → Image operations: runs operations
- Mission commands → Mission information APIs: requests data
- Mission information APIs → Mission web services: queries
- Mission commands → Orbiter overpasses: requests passes
- Mission commands → Rover location: requests location
- Mission commands → Mission weather: requests weather
- Mission weather → Mission web services: queries
- Calibration updater → Calibration data manager: updates files
- Calibration data manager → HTTP retrieval: fetches files
- Calibration data manager → Local calibration files: writes files