У меня есть данные объемного изображения, состоящие из значений, отобранных на регулярной сетке по x, y, z, но с некубической формой воксела (пространство между соседними точками в z больше, чем в x, y). В конечном итоге я хотел бы иметь возможность интерполировать значения на какой-либо произвольной 2D-плоскости, проходящей через том, например:
Я знаю scipy.ndimage.map_coordinates
, но в моем случае использование его менее прямолинейно, потому что оно подразумевает, что расстояние между элементами во входном массиве равно измерениям. Я мог бы сначала перепрофилировать свой входной массив в соответствии с наименьшим размером вокселя (так что все мои вокселы тогда будут кубами), а затем используйте map_coordinates
для интерполяции над моей плоскостью, но не кажется отличной идеей интерполировать мои данных дважды.
Я также знаю, что scipy
имеет различные интерполяторы для нерегулярно разнесенных данных ND (LinearNDInterpolator
, NearestNDInterpolator
и т.д.), но они очень медленны и интенсивны в памяти для моих целей. Каков наилучший способ интерполяции моих данных, учитывая, что я знаю, что значения регулярно расходятся в каждом измерении?