| Crates.io | spectro-rs |
| lib.rs | spectro-rs |
| version | 0.3.6 |
| created_at | 2025-12-24 11:04:18.525793+00 |
| updated_at | 2026-01-23 05:54:17.886859+00 |
| description | A high-performance Rust driver for X-Rite ColorMunki spectrometers |
| homepage | |
| repository | https://github.com/Tinnci/spectro-rs |
| max_upload_size | |
| id | 2002988 |
| size | 297,944 |
A high-performance Rust driver for X-Rite ColorMunki spectrometers. This library provides a safe, cross-platform interface for color measurement, display calibration, and spectral analysis.
Add to your Cargo.toml:
[dependencies]
spectro-rs = "0.3"
use spectro_rs::{discover, MeasurementMode};
fn main() -> spectro_rs::Result<()> {
// Auto-discover connected spectrometer
let mut device = discover()?;
// Print device info
let info = device.info()?;
println!("Found: {} ({})", info.model, info.serial);
// Calibrate (required for reflective mode)
device.calibrate()?;
// Take a measurement
let spectrum = device.measure(MeasurementMode::Reflective)?;
// Convert to colorimetric values
let xyz = spectrum.to_xyz();
let lab = xyz.to_lab(spectro_rs::colorimetry::illuminant::D65_2);
println!("L*={:.2}, a*={:.2}, b*={:.2}", lab.l, lab.a, lab.b);
Ok(())
}
Full API documentation is available on docs.rs.
Licensed under the GNU General Public License v3.0.