← Back

Module core

trait ToImage

Trait for types that can be converted to an image

Source: core.joule:11

fn to_image(&self) -> Image;

Source: core.joule:12

trait ImageLike

Trait for image-like types with pixel access

Source: core.joule:16

fn width(&self) -> usize;

Source: core.joule:17

fn height(&self) -> usize;

Source: core.joule:18

fn channels(&self) -> usize;

Source: core.joule:19

fn get_pixel(&self, x: usize, y: usize, c: usize) -> f64;

Source: core.joule:20

fn width(&self) -> usize

Source: core.joule:24

fn height(&self) -> usize

Source: core.joule:28

fn channels(&self) -> usize

Source: core.joule:32

fn get_pixel(&self, x: usize, y: usize, c: usize) -> f64

Source: core.joule:36

struct Roi

Source: core.joule:47

fn new(x: usize, y: usize, width: usize, height: usize) -> Self

Create new ROI

Source: core.joule:60

fn from_center(cx: usize, cy: usize, width: usize, height: usize) -> Self

Create ROI from center point

Source: core.joule:65

fn full(image: &Image) -> Self

Create full-image ROI

Source: core.joule:75

fn contains(&self, x: usize, y: usize) -> bool

Check if point is inside ROI

Source: core.joule:85

fn intersect(&self, other: &Roi) -> Option<Roi>

Intersect with another ROI

Source: core.joule:90

fn union(&self, other: &Roi) -> Roi

Union with another ROI

Source: core.joule:109

fn clamp_to(&self, width: usize, height: usize) -> Roi

Clamp ROI to image bounds

Source: core.joule:124

fn area(&self) -> usize

Get area

Source: core.joule:139

fn center(&self) -> (usize, usize)

Get center point

Source: core.joule:144

fn corners(&self) -> [(usize, usize); 4]

Get bounding box corners

Source: core.joule:149

struct ImageView

Non-owning view into a portion of an image

Source: core.joule:164

fn new(image: &'a Image) -> Self

Create view of entire image

Source: core.joule:171

fn from_roi(image: &'a Image, roi: Roi) -> Self

Create view of region

Source: core.joule:179

fn get(&self, x: usize, y: usize, c: usize) -> f64

Get pixel value

Source: core.joule:185

fn width(&self) -> usize

Get width

Source: core.joule:190

fn height(&self) -> usize

Get height

Source: core.joule:195

fn channels(&self) -> usize

Get channels

Source: core.joule:200

fn to_image(&self) -> Image

Source: core.joule:206

fn subview(&self, roi: Roi) -> Self

Get sub-view

Source: core.joule:211

fn width(&self) -> usize

Source: core.joule:226

fn height(&self) -> usize

Source: core.joule:230

fn channels(&self) -> usize

Source: core.joule:234

fn get_pixel(&self, x: usize, y: usize, c: usize) -> f64

Source: core.joule:238

struct ImageViewMut

Mutable view into a portion of an image

Source: core.joule:248

fn new(image: &'a mut Image) -> Self

Create mutable view of entire image

Source: core.joule:255

fn from_roi(image: &'a mut Image, roi: Roi) -> Self

Create mutable view of region

Source: core.joule:261

fn get(&self, x: usize, y: usize, c: usize) -> f64

Get pixel value

Source: core.joule:267

fn set(&mut self, x: usize, y: usize, c: usize, value: f64)

Set pixel value

Source: core.joule:272

fn width(&self) -> usize

Get width

Source: core.joule:277

fn height(&self) -> usize

Get height

Source: core.joule:282

fn channels(&self) -> usize

Get channels

Source: core.joule:287

fn fill(&mut self, value: f64)

Source: core.joule:293

fn fill_color(&mut self, color: &[f64])

Source: core.joule:305

fn copy_from(&mut self, src: &Image)

Source: core.joule:319

struct PixelIter

Iterator over image pixels

Source: core.joule:339

fn new(image: &'a Image) -> Self

Source: core.joule:346

fn next(&mut self) -> Option<Self::Item>

Source: core.joule:354

fn iter_pixels(image: &Image) -> PixelIter

Iterate over pixels with coordinates

Source: core.joule:373

fn split_channels(image: &Image) -> Vec<Image>

Source: core.joule:383

fn merge_channels(channels: &[Image]) -> Image

Source: core.joule:399

fn extract_channel(image: &Image, channel: usize) -> Image

Source: core.joule:423

fn insert_channel(image: &mut Image, channel_data: &Image, channel_idx: usize)

Source: core.joule:437

enum BorderType

Source: core.joule:451

fn pad(image: &Image, top: usize, bottom: usize, left: usize, right: usize, border: BorderType, value: f64) -> Image

Source: core.joule:466

fn get_border_pixel(x: i32, y: i32, w: i32, h: i32, border: BorderType) -> (i32, i32)

Source: core.joule:494

fn draw_line(image: &mut Image, x0: i32, y0: i32, x1: i32, y1: i32, color: &[f64])

Source: core.joule:546

fn draw_rect(image: &mut Image, x: i32, y: i32, width: i32, height: i32, color: &[f64], thickness: i32)

Source: core.joule:583

fn draw_circle(image: &mut Image, cx: i32, cy: i32, radius: i32, color: &[f64], filled: bool)

Source: core.joule:612

fn draw_circle_points(image: &mut Image, cx: i32, cy: i32, x: i32, y: i32, color: &[f64])

Source: core.joule:647

fn draw_ellipse(image: &mut Image, cx: i32, cy: i32, rx: i32, ry: i32, color: &[f64], filled: bool)

Source: core.joule:672

fn draw_polygon(image: &mut Image, points: &[(i32, i32)], color: &[f64], closed: bool)

Source: core.joule:712

fn test_roi()

Source: core.joule:743

fn test_image_view()

Source: core.joule:758

fn test_split_merge()

Source: core.joule:769

fn test_padding()

Source: core.joule:792