0

iPython ノートブックで特定の 3D サイズの空の ITK イメージを定義しようとしています。

'itkIndex3' index

私はすでに itk と vtk のすべての python バインディングをロードし、さまざまなタイプ (この場合はサイズ 80 とボクセル サイズ 0.5 mm の float 3-D 画像) を定義しましたが、まだそれを埋めることができません。価値。コードは次のとおりです。

# Tools for Biomedical Imaging
import nibabel as nib
import itk
import vtk

start = itk.Index[3]
size = itk.Size[3]
start.Fill(0)

-----------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/home/administrator/<ipython-input-63-8774101ef8fb> in <module>()
      1 start = itk.Index[3]
      2 size = itk.Size[3]
----> 3 start.Fill(0)

Fill() must be called with itkIndex3 instance as first argument (got int instance instead)

たぶんそれは完全にばかげた質問かもしれませんが、「塗りつぶし」値を定義する際にエラーである可能性があることに誰かが光を当ててくれることを本当に感謝しています。

前もって感謝します!!

-------------------------------------------------------------------
-------------------------------------------------------------------

こんにちは!、別のアプローチで問題を解決できたと思います。3D float 画像を作成するために使用したコードを含めて、みんなに見てもらいます ;)!

nii_PixelType = itk.F    # Read the image, also possible using nibabel
nii_ImageType = itk.Image[nii_PixelType, 3]

def CreateBaseAtlas(total_Size):

    # Created based on the code in:
    # http://www.itk.org/Wiki/ITK/Examples/ImageProcessing/ResampleImageFilter
    image = nii_ImageType.New()
    _start=[0,0,0]
    _size=[total_Size,total_Size,total_Size]
    _region = itk.ImageRegion._3(_start,_size)
    image.SetRegions(_region)
    image.Allocate()
    image.FillBuffer(0)   

    return image

うまくいかなかったのは、ベクトルとして直接書いていないからだと思います。ITK では、別の方法でそれを行います: http://www.itk.org/Wiki/ITK/Examples/ImageProcessing/ResampleImageFilter

4

0 に答える 0