Каков наилучший способ назначения значений или срезов индексированным массивам в SimpleITK?
Пример (1) : присвоение 2D-сечения индексированному 2D-срезу в 3D-томе
В NumPy мы можем сделать следующее присвоение индексным массивам:
import numpy as np
nda = np.ones((64, 256,256))
nda[0,:,:] = 2*nda[0,:,:]
Та же операция в SimpleITK,
import SimpleITK as sitk
image = sitk.GetImageFromArray(nda)
image[:,:,0] = 2*image[:,:,0]
дает следующую ошибку :
IndexError Traceback (most recent call last)
<ipython-input-18-4649e90a4ea5> in <module>
----> 1 image[:,:,0] = 2*image[:,:,0]
~/anaconda3/lib/python3.7/site-packages/SimpleITK/SimpleITK.py in __setitem__(self, idx, value)
4690
4691 # the index parameter was an invalid set of objects
-> 4692 raise IndexError("invalid index")
4693
4694
IndexError: invalid index
Пример (2) : Присвоение значения индексированному 2D-срезу в 3D-томе Следующая операция в NumPy,
nda[0,:,:] = 2
n SimpleITK,
image[:,:,0] = 2
дает ту же ошибку индекса, что и в примере (1).