SimpleITK에서 CT 스캔을로드했습니다. 저는 NumPy에서 꽤 단순한 몇 가지 일을하고 싶습니다. 그러나 SimpleITK에서 어떻게하는지 알지 못했습니다. 속도 향상을 위해 SimpleITK에서 작업하고 싶습니다.SimpleITK 선택적으로 픽셀/슬라이스 변경
# NumPy: Changes all values of 100 to now become 500
nparr = nparr[nparr == 100] = 500
# SimpleITK:
???
SimpleITK 이미지 == 100은 모든 크기 == 100이 1/True 인 동일한 크기의 이진 이미지를 생성합니다. 이것은 바람직하다. 하지만 불행히도 SimpleITK가 부울 인덱스를 지원한다고 생각하지 않습니다. 가장 효율적인 방법은 무엇입니까?
나는이 펑키 보이는 것을 생각해 냈다. 하지만 의도 된 방법을 찾으려했다/가장 좋은 방법은이 일을하기위한 수단 : 당신이 방법 GetArrayFromImage
및 GetImageFromArray
에를 사용할 필요가 당신은 NumPy와 스타일을 사용할 SimpleITK 이미지 객체를 사용하여 작업하는
# Cast because data type returned is uint8 otherwise
difference = 500 - 100
offset = SimpleITK.Cast(image == 100), sitk.sitkInt32) * difference
image += offset
I 승 sitk 내에서 할 수있는 방법이 있었다 바라고/많은 sitk 함수가 더 최적이고 더 빨리 수행하기 때문에 numpy로 변환 –