0

SimpleITK::ImageSeriesWriter はデフォルトで、指定された 3D ボリュームを Z 軸に沿ってスライスし、XY ビューで 2D イメージのスライスを書き込みます。

出力が XZ または YZ ビューになるように軸を変更するにはどうすればよいですか?

言い換えれば、デフォルトの Z 軸スライスがアキシャル ビューにある場合、どうすればコロナル ビューとサジタル ビューのスライスを取得できますか?

GitHub:FNNDSC/med2imageの出力 xyz 関数を試してみました。しかし、画像配列はやみくもに書かれているため、XとYが入れ替わったり、軸の1つが反転(反転)することがあります。そのため、完全に制御するには独自のコードを作成する必要があると感じています。

def slice(dcm_folder, output_stem):
    print('Reading Dicom directory:', path.abspath(dcm_folder))
    reader = sitk.ImageSeriesReader()

    dicom_names = reader.GetGDCMSeriesFileNames(dcm_folder)
    reader.SetFileNames(dicom_names)

    image = reader.Execute()

    # cast the bit depth to PNG compatible "unsigned char"
    image = sitk.Cast(sitk.RescaleIntensity(image), sitk.sitkUInt8)

    size = image.GetSize()
    print( "Image size:", size[0], size[1], size[2] )

    # need Z filenames to write
    series_filenames = list([output_stem + '-slice' + str(i).zfill(3) + '.png' for i in range(size[2])])

    print('Writing {} image slices'.format(size[2]))
    writer = sitk.ImageSeriesWriter()
    writer.SetFileNames( series_filenames )
    writer.Execute(image)

上記のコードは、Z 軸のスライスを正常に書き出します。別の 2 つのビューのスライスを取得できるようにコードを変更するにはどうすればよいですか?

4

2 に答える 2