Download libraries/rawkit/src/preprocessing/scale_to_16bit.rs from openfree/graphite2: direct link, hf CLI and curl.
- Browser
- Download file 523 Bytes
-
https://huggingface.co/spaces/openfree/graphite2/resolve/main/libraries/rawkit/src/preprocessing/scale_to_16bit.rs
- Command line
-
hf download hf://spaces/openfree/graphite2/libraries/rawkit/src/preprocessing/scale_to_16bit.rs
-
curl -L -o scale_to_16bit.rs https://huggingface.co/spaces/openfree/graphite2/resolve/main/libraries/rawkit/src/preprocessing/scale_to_16bit.rs
523 Bytes
| use crate::{RawImage, RawPixel, SubtractBlack}; | |
| impl RawImage { | |
| pub fn scale_to_16bit_fn(&self) -> impl Fn(RawPixel) -> u16 + use<> { | |
| let black_level = match self.black { | |
| SubtractBlack::CfaGrid(x) => x, | |
| _ => unreachable!(), | |
| }; | |
| let maximum = self.maximum - black_level.iter().max().unwrap(); | |
| let scale_to_16bit_multiplier = if maximum > 0 { u16::MAX as f64 / maximum as f64 } else { 1. }; | |
| move |pixel: RawPixel| ((pixel.value as f64) * scale_to_16bit_multiplier).min(u16::MAX as f64).max(0.) as u16 | |
| } | |
| } | |