scipy.ndimage.measurements.find_objects()
生活随笔
收集整理的這篇文章主要介紹了
scipy.ndimage.measurements.find_objects()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
scipy.ndimage.measurements.find_objects()
從標簽數據,確切地說是從打上標簽的連通成分中,輸出各個連通成分的最小邊界框。
本博文先講解find_objects()]的使用方法,并對輸出數據進行詳細解釋;
然后,講解如何修改find_objects()]的輸出。
輸出
# print(mask_lesion) [[[0 0 0 0 0 0][0 1 1 0 0 0][0 1 1 0 0 0][0 1 1 0 0 2][0 0 0 0 0 2][0 0 0 0 0 0]][[0 0 0 0 0 0][0 1 1 0 0 0][0 1 1 0 0 0][0 1 1 0 0 2][0 0 0 0 0 2][0 0 0 0 0 0]][[0 0 0 0 0 0][0 1 1 0 0 0][0 1 1 0 0 0][0 1 1 0 0 2][0 0 0 0 0 2][0 0 0 0 0 0]]] # print(locations) [(slice(0, 3, None), slice(1, 4, None), slice(1, 3, None)), (slice(0, 3, None), slice(3, 5, None), slice(5, 6, None))] # print(seg_array[loc]) [[[1 1][1 1][1 1]][[1 1][1 1][1 1]][[1 1][1 1][1 1]]] [[[1][1]][[1][1]][[1][1]]]1. 理解find_objects()
注意事項:
find_objects()的輸入須是按連通成分打過標簽的數據。
輸出解釋:
[(slice(0, 3, None), slice(1, 4, None), slice(1, 3, None)), (slice(0, 3, None), slice(3, 5, None), slice(5, 6, None))]e.g. (slice(0, 3, None), slice(1, 4, None), slice(1, 3, None))翻譯過來就是[0:3,1:4,1:3 ]這樣的索引。
2. 修改find_objects()的輸出
查看slice類型和屬性
print(slice) print(dir(slice))輸出
<class 'slice'> ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'indices', 'start', 'step', 'stop']由此,我們可以利用slice的后三個屬性來讀寫對應的slice
print(locations[0][0].start) print(locations[0][0].stop) print(locations[0][0].step)輸出
0 3 None附:
Python slice() 函數
Python dir() 函數
總結
以上是生活随笔為你收集整理的scipy.ndimage.measurements.find_objects()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab subs的用法,Matla
- 下一篇: ural 1069. Prufer Co