- fix tests

This commit is contained in:
w.pomp committed 2026-10-28 11:21:56 +01:00
1 parent fccc3e6f1d
commit e5136f00bb
4 files changed
+28 -29

No files matched your search

+4 -5
View File
@@ -113,7 +113,6 @@ mod tests {
use super::*;
use crate::julia_image;
use ndarray::{Ix1, array};
use tiffwrite::IJTiffFile;
#[test]
fn smooth() -> Result<(), Box<dyn std::error::Error>> {
@@ -135,10 +134,10 @@ mod tests {
&[29.5, 39.5],
&[-0.8, 0.156],
);
let im_b = gaussian_smooth(im_a.mapv(|i| i as f64).view(), &[4.0, 4.0])?;
let mut t = IJTiffFile::new(std::env::home_dir().unwrap().join("tmp/julia.tif"))?;
t.save(im_a.mapv(|i| i as u32).view(), 0, 0, 0)?;
t.save(im_b.mapv(|i| i as u32).view(), 1, 0, 0)?;
let _im_b = gaussian_smooth(im_a.mapv(|i| i as f64).view(), &[4.0, 4.0])?;
// let mut t = IJTiffFile::new(std::env::home_dir().unwrap().join("tmp/julia.tif"))?;
// t.save(im_a.mapv(|i| i as u32).view(), 0, 0, 0)?;
// t.save(im_b.mapv(|i| i as u32).view(), 1, 0, 0)?;
Ok(())
}
+5 -6
View File
@@ -50,7 +50,6 @@ mod tests {
use super::*;
use crate::transform::Transform;
use tempfile::NamedTempFile;
use tiffwrite::IJTiffFile;
#[test]
fn serialization() -> Result<(), Error> {
@@ -81,7 +80,7 @@ mod tests {
.collect::<Vec<_>>()
.try_into()
.unwrap();
let transform = Transform::<Ix2>::new(transform_j.to_vec()).with_rotation(1.0, &center);
let transform = Transform::<Ix2>::new(transform_j.to_vec()).with_rotation(1.0, &[0.0, 0.0]);
let transform_j = transform.parameters.clone().try_into().unwrap();
let c = [-0.8, 0.156];
let j = julia_image(&shape, &transform_j, &center, &c).mapv(|x| x as f64);
@@ -121,7 +120,7 @@ mod tests {
.collect::<Vec<_>>()
.try_into()
.unwrap();
let transform = Transform::<Ix2>::new(transform_j.to_vec()).with_rotation(1.0, &center);
let transform = Transform::<Ix2>::new(transform_j.to_vec()).with_rotation(1.0, &[0.0, 0.0]);
let transform_j = transform.parameters.clone().try_into().unwrap();
let c = [-0.8, 0.156];
let j = julia_image(&shape, &transform_j, &center, &c).mapv(|x| x as f64);
@@ -158,14 +157,14 @@ mod tests {
#[test]
fn julia() -> Result<(), Box<dyn std::error::Error>> {
let image_a = julia_image(
let _image_a = julia_image(
&[60, 80],
&[1.0, 0.0, 0.0, 1.0, 0.0, 0.0],
&[29.5, 39.5],
&[-0.8, 0.156],
);
let mut t = IJTiffFile::new(std::env::home_dir().unwrap().join("tmp/julia.tif"))?;
t.save(image_a.view(), 0, 0, 0)?;
// let mut t = IJTiffFile::new(std::env::home_dir().unwrap().join("tmp/julia.tif"))?;
// t.save(image_a.view(), 0, 0, 0)?;
Ok(())
}
}
+9 -13
View File
@@ -1063,7 +1063,7 @@ mod tests {
&[3999.5, 2999.5],
&[-0.8, 0.156],
);
let transform = Transform::from_rotation(1.0, &[3999.5, 2999.5]);
let transform = Transform::from_rotation(1.0, &[0.0, 0.0]);
let image_b = transform.interpolate_par::<3, _, _>(image_a.view(), &Default::default())?;
let image_c = transform.interpolate::<3, _, _>(image_a.view(), &Default::default())?;
@@ -1084,7 +1084,7 @@ mod tests {
&[3999.5, 2999.5],
&[-0.8, 0.156],
);
let transform = Transform::from_rotation(1.0, &[3999.5, 2999.5]);
let transform = Transform::from_rotation(1.0, &[0.0, 0.0]);
let image_b = transform.interpolate::<3, _, _>(image_a.view(), &Default::default())?;
assert_ne!(image_b[[4000, 3000]], 0.0);
Ok(())
@@ -1098,7 +1098,7 @@ mod tests {
&[3999.5, 2999.5],
&[-0.8, 0.156],
);
let transform = Transform::from_rotation(1.0, &[3999.5, 2999.5]);
let transform = Transform::from_rotation(1.0, &[0.0, 0.0]);
let image_b = transform.interpolate_par::<3, _, _>(image_a.view(), &Default::default())?;
assert_ne!(image_b[[4000, 3000]], 0.0);
Ok(())
@@ -1521,16 +1521,14 @@ mod tests {
use crate::metric::{MattesMetric, SamplingArg};
use algos::ObjectiveFunction;
let shape = [200, 200];
let center = [99.5, 99.5];
let im_a = julia_image(
&shape,
&[200, 200],
&[1.0, 0.0, 0.0, 1.0, 0.0, 0.0],
&center,
&[99.5, 99.5],
&[-0.8, 0.156],
)
.mapv(|i| i as f64);
let rotation = Transform::<Ix2>::from_rotation(f64::PI() / 4.0, &center);
let rotation = Transform::<Ix2>::from_rotation(f64::PI() / 4.0, &[0.0, 0.0]);
let im_b = rotation.interpolate::<3, _, _>(im_a.view(), &Default::default())?;
let q_inv = rotation.inverse()?.parameters;
@@ -1600,19 +1598,17 @@ mod tests {
use crate::filter::gaussian_smooth;
use crate::metric::{MattesMetric, SamplingArg};
use algos::ObjectiveFunction;
let shape = [200, 200];
let center = [99.5, 99.5];
let im_a = julia_image(
&shape,
&[200, 200],
&[1.0, 0.0, 0.0, 1.0, 0.0, 0.0],
&center,
&[99.5, 99.5],
&[-0.8, 0.156],
)
.mapv(|i| i as f64);
let edge = 0.01;
// Full resolution, sigma=4.0 — matching elastix FixedSmoothingImagePyramid (no downsampling)
for angle_deg in [5.0f64, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0] {
let rotation = Transform::<Ix2>::from_rotation(angle_deg.to_radians(), &center);
let rotation = Transform::<Ix2>::from_rotation(angle_deg.to_radians(), &[0.0, 0.0]);
let im_b = rotation.interpolate::<3, _, _>(im_a.view(), &Default::default())?;
let q_inv = rotation.inverse()?.parameters;
let p = rotation.parameters.clone();