Open
Description
I work with big 4D images, often iterating on Axis(3)
to modify it or create a new image. In some cases, I need to iterate only on some indices:
let dwi = Array4::wathever // Loaded from disk
let dwi_indices = vec![2, 3, 10, 13, 17, 21 ...]; // Calculated from dwi
let mut output = Array4::zeros((dwi.dim().0, dwi.dim().1, dwi.dim().2, dwi_indices.len()));
Zip::from(&dwi_indices).and(output.axis_iter_mut(Axis(3))).apply(|&i, volume| {
let dwi = self.dwi.index_axis(Axis(3), i);
volume.assign(...);
});
This method works and I can keep it but is there a way to ask for a view with the right indices? select
is nice but it makes a copy of the data. s!
asks for a step
, which I can't give because it's "random". Anything like let dwi = dwi.slice(s![.., .., .., &self.dwi_indices]);
?
Metadata
Metadata
Assignees
Labels
No labels