サイズの 3 つの dicom スタックがあります512x512x133, 512x512x155 and 512x512x277
。サイズを作成するためにすべてのスタックをリサンプリングしたいと思います512x512x277, 512x512x277 and 512x512x277
。どうやってするか?
スライスの厚さとピクセル間隔を使用してリサンプリングできることはわかっています。しかし、それでは各ケースで同じ数のスライスが保証されません。
サイズの 3 つの dicom スタックがあります512x512x133, 512x512x155 and 512x512x277
。サイズを作成するためにすべてのスタックをリサンプリングしたいと思います512x512x277, 512x512x277 and 512x512x277
。どうやってするか?
スライスの厚さとピクセル間隔を使用してリサンプリングできることはわかっています。しかし、それでは各ケースで同じ数のスライスが保証されません。
scipy.ndimage.interpolate.zoom
次のように、各軸のズーム係数の配列を指定して、 を使用できます。
# example for first image
zoomArray = desiredshape.astype(float) / original.shape
zoomed = scipy.ndimage.interpolate.zoom(original, zoomArray)
アップデート:
それが遅すぎる場合は、「画像キューブ」の垂直スライスから別の画像を作成し、それらを高速画像ライブラリ (ImageMagick が好きな人もいれば、PIL、opencv などもあります) で処理することもできます。そしてそれらを再び積み重ねます。そうすれば、サイズが 512x133 の 512 枚の画像を取得し、それらを 512x277 にサイズ変更してから、最終的な目的のサイズである 512x512x277 に再度スタックします。また、この分離により、並列化が可能になります。考慮すべきことの1つは、横軸(2D画像をスライスする軸)のサイズが変更されない場合にのみ機能することです。