test: increase VoxImage test resolution and add round-trip VTI export/import validation

This commit is contained in:
AndreaRigoni
2026-04-24 07:43:04 +00:00
parent 2bf3dc0b6d
commit 54289cc617

View File

@@ -89,17 +89,31 @@ int main() {
} }
{ {
VoxImage<TestVoxel> img(Vector3i(4, 4, 4)); const int size = 100;
VoxImage<TestVoxel> img(Vector3i(size, size, size));
img.InitVoxels({0.f, 0}); img.InitVoxels({0.f, 0});
for (int i = 0; i < 4; i++) { for (int i = 0; i < size; i++) {
for (int j = 0; j < 4; j++) { for (int j = 0; j < size; j++) {
for (int k = 0; k < 4; k++) { for (int k = 0; k < size; k++) {
img[Vector3i(i, j, k)] = {static_cast<float>(i + j + k), 0}; img[Vector3i(i, j, k)] = {static_cast<float>(i + j + k), 0};
} }
} }
} }
img.ExportToVti("./vti_saved.vti", 0, 1); img.ExportToVti("./vti_saved.vti", 0, true); // compressed
// img.ImportFromVtkXml("./test_vox_image.vti");
VoxImage<TestVoxel> imgR(Vector3i(0, 0, 0));
imgR.ImportFromVti("./vti_saved.vti", 0);
TEST1(img.GetDims() == imgR.GetDims());
TEST1(img.GetSpacing() == imgR.GetSpacing());
TEST1(img.GetOrigin() == imgR.GetOrigin());
TEST1(img.GetPosition() == imgR.GetPosition());
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
for (int k = 0; k < size; k++) {
TEST1(img[Vector3i(i, j, k)].Value == imgR[Vector3i(i, j, k)].Value);
}
}
}
} }
{ {