1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
extern crate ndarray;
use ndarray::*;

pub fn default() -> BinaryFilter {
    BinaryFilter{
        thresh: 200
    }
}

pub struct BinaryFilter {
    pub thresh: u32
}

impl BinaryFilter {
    pub fn run (&self, img: Array2<f32>) -> Array2<i8> {
        img.mapv(|e| if e > self.thresh as f32 { 1 } else { 0 } )
    }
}