sarpro 0.3.2

A high-performance Sentinel-1 Synthetic Aperture Radar (SAR) GRD product to image processor.
Documentation
use jpeg_encoder::{ColorType, Encoder};
use std::fs::File;
use std::io::BufWriter;
use std::path::Path;

pub fn write_gray_jpeg(
    output: &Path,
    cols: usize,
    rows: usize,
    data: &[u8],
) -> Result<(), Box<dyn std::error::Error>> {
    let file = File::create(output)?;
    let mut writer = BufWriter::new(file);
    let encoder = Encoder::new(&mut writer, 100);
    encoder.encode(data, cols as u16, rows as u16, ColorType::Luma)?;
    Ok(())
}

pub fn write_rgb_jpeg(
    output: &Path,
    cols: usize,
    rows: usize,
    rgb_data: &[u8],
) -> Result<(), Box<dyn std::error::Error>> {
    let file = File::create(output)?;
    let mut writer = BufWriter::new(file);
    let encoder = Encoder::new(&mut writer, 100);
    encoder.encode(rgb_data, cols as u16, rows as u16, ColorType::Rgb)?;
    Ok(())
}