Szybka interpolacja regularnie pobieranych danych 3D z różnymi interwałami w x, yi z

Mam dane wolumetrycznego obrazowania składające się z wartości próbkowanych na regularnej siatce w x, y, z, ale o nie-sześciennym kształcie woksela (przestrzeń między sąsiednimi punktami w z jest większa niż w x, y). W końcu chciałbym móc interpolować wartości na dowolnej dowolnej płaszczyźnie 2D, która przechodzi przez głośność, w ten sposób:

jestem swiadomyscipy.ndimage.map_coordinates, ale w moim przypadku użycie go jest mniej proste, ponieważ domyślnie zakłada, że ​​odstępy elementów w tablicy wejściowej są równe w różnych wymiarach. Mogłem najpierw zmienić moją tablicę wejściową zgodnie z najmniejszym wymiarem woksela (aby wszystkie moje woksele były wtedy sześcianami), a następnie użyćmap_coordinates interpolować w moim płaszczyźnie, ale nie wydaje mi się to świetnym pomysłem na interpolowanie moich danych dwa razy.

Wiem też o tymscipy ma różne interpolatory dla nieregularnie rozmieszczonych danych ND (LinearNDInterpolator, NearestNDInterpolator itp.), ale są to bardzo powolne i wymagające dużej ilości pamięci dla moich celów. Jaki jest najlepszy sposób interpolowania moich danych, biorąc pod uwagę, że znam te wartościsą regularnie rozmieszczone w każdym wymiarze?

questionAnswers(3)

yourAnswerToTheQuestion