libblackbody

This the library libblackbody which intends to be a general purpose thermogram file reading library. Currently it supports TIFF files and some FLIR cameras. It is used by Blackbody, a simple thermogram viewer.

Support for FLIR files is provided by the flyr library. A list of supported cameras can be found in the project repository's README. Tiff files are read making use of image-rs/tiff.

Installation

This library is available on crates.io. Install by adding it to your Cargo.toml.

Usage

Call Thermogram::from_file on your file:

rust let file_path = "/home/user/FLIR0123.jpg"; let r_thermogram = Thermogram::from_file(&file_path); match r_thermogram { None => println!("Failed opening thermogram {:?}", file_path), Some(thermogram) => { println!("Successfully opened thermogram {:?}", file_path); // Do something with `thermogram` // ... }, }

The file is allowed to be a TIFF or a FLIR jpeg.

Interface of a thermogram

The methods listed below are available and recommended for use.

```rust pub trait ThermogramTrait { fn thermal(&self) -> &Array; // The thermal data fn optical(&self) -> &Array>; // CHECK fn identifier(&self) -> &str; // A uniquely identifying string for this thermogram fn render(&self mintemp: f32, maxtemp: f32, palette: [[f32; 3]; 256]) -> Array; // Thermal data render using the given palette fn thermalshape(&self) -> [usize; 2]; // The [height, width] of the thermal data fn normalizedminmax(&self) -> Array; // Thermal data normalized to lie in the range 0.0..=1.0 }

Issue tracking

Issue tracking happens in the Blackbody repository.

Issues tracking

Issue tracking happens in the Blackbody repository.