Sie scipy.ndimage.interpolate.zoom
verwenden können, für jede Achse, wie dies die Anordnung der Zoom-Faktoren festgelegt wird:
# example for first image
zoomArray = desiredshape.astype(float)/original.shape
zoomed = scipy.ndimage.interpolate.zoom(original, zoomArray)
UPDATE:
Wenn das zu langsam ist, könnte man irgendwie versuchen, einzelne Bilder von dem erstellen vertikale Slices von Ihrem "Image Cube", bearbeiten Sie sie mit einigen High-Speed-Bild-Bibliothek (einige Leute lieben ImageMagick, gibt es auch PIL, opencv, etc.), und stapeln Sie sie wieder zusammen. Auf diese Weise würden Sie 512 Bilder der Größe 512x133 aufnehmen und auf 512x277 skalieren und dann wieder auf 512x512x277 stapeln, was Ihrer endgültigen Wunschgröße entspricht. Außerdem würde diese Trennung eine Parallelisierung ermöglichen. Man denke nur daran: Das würde nur funktionieren, wenn die transversale Achse (die, entlang der man die 2D-Bilder schneidet) nicht in der Größe verändert wird!
Bitte stellen Sie keine doppelten Fragen. Wenn deine Frage keine Antworten erhält, verbessere die Frage oder gib ihr einfach ein bisschen mehr Zeit. – beaker
Eigentlich, was passiert ist, habe ich die Frage nachts gestellt. Aber wegen einiger Störungen (könnte sein) zeigte es nicht am Morgen. Also habe ich es wieder gepostet. :(Entschuldigung! –