struct Transform2D
Source: transform.joule:13
struct Transform2DSource: transform.joule:13
fn identity() -> SelfIdentity transformation
Source: transform.joule:20
fn translation(tx: f64, ty: f64) -> SelfTranslation transformation
Source: transform.joule:31
fn scale(sx: f64, sy: f64) -> SelfScaling transformation
Source: transform.joule:42
fn uniform_scale(s: f64) -> SelfUniform scaling
Source: transform.joule:53
fn rotation(angle: f64) -> SelfRotation transformation (angle in radians)
Source: transform.joule:58
fn rotation_around(angle: f64, cx: f64, cy: f64) -> SelfRotation around a point (angle in radians)
Source: transform.joule:71
fn shear(shx: f64, shy: f64) -> SelfShear transformation
Source: transform.joule:79
fn flip_horizontal(width: f64) -> SelfHorizontal flip
Source: transform.joule:90
fn flip_vertical(height: f64) -> SelfVertical flip
Source: transform.joule:101
fn from_points(src: [(f64, f64); 3], dst: [(f64, f64); 3]) -> Option<Self>Create affine transformation from 3 point correspondences
Source: transform.joule:112
fn compose(&self, other: &Transform2D) -> SelfCompose two transformations (self * other)
Source: transform.joule:153
fn inverse(&self) -> Option<Self>Compute inverse transformation
Source: transform.joule:168
fn transform_point(&self, x: f64, y: f64) -> (f64, f64)Transform a point
Source: transform.joule:204
fn is_affine(&self) -> boolCheck if this is an affine transformation
Source: transform.joule:212
fn perspective_from_points(src: [(f64, f64); 4], dst: [(f64, f64); 4]) -> Option<Transform2D>Source: transform.joule:225
fn solve_linear_system(a: &[[f64; 8]; 8], b: &[f64; 8]) -> Option<[f64; 8]>Source: transform.joule:262
fn warp(Source: transform.joule:317
fn rotate(image: &Image, angle: f64, interpolation: Interpolation) -> ImageSource: transform.joule:398
fn rotate_crop(image: &Image, angle: f64, interpolation: Interpolation) -> ImageSource: transform.joule:447
fn perspective_warp(Source: transform.joule:482
fn remap(Source: transform.joule:503
fn radial_distort(image: &Image, k1: f64, k2: f64, k3: f64) -> ImageSource: transform.joule:545
fn radial_undistort(image: &Image, k1: f64, k2: f64, k3: f64) -> ImageSource: transform.joule:583
fn cartesian_to_polar(image: &Image, radius_bins: usize, angle_bins: usize) -> ImageSource: transform.joule:593
fn polar_to_cartesian(Source: transform.joule:626
fn log_polar(image: &Image, radius_bins: usize, angle_bins: usize) -> ImageSource: transform.joule:684
fn gaussian_pyramid(image: &Image, levels: usize) -> Vec<Image>Source: transform.joule:723
fn pyrdown(image: &Image) -> ImageSource: transform.joule:740
fn pyrup(image: &Image) -> ImageSource: transform.joule:763
fn laplacian_pyramid(image: &Image, levels: usize) -> Vec<Image>Source: transform.joule:785
fn reconstruct_laplacian(pyramid: &[Image]) -> ImageSource: transform.joule:810
fn test_transform_identity()Source: transform.joule:842
fn test_transform_translation()Source: transform.joule:850
fn test_transform_rotation()Source: transform.joule:858
fn test_transform_inverse()Source: transform.joule:866
fn test_gaussian_pyramid()Source: transform.joule:883