2011-02-18 5 views
6

IDL과 Matlab에서 벗어나기 위해 필자는 python/scipy 외에도 어떤 도구를 구현해야 하는지를 모색 중이다. 하나의 공통된 특징은 의료 영상을 표시하고 관심 영역을 윤곽 (예 : IDL에서 해동 또는 GIU 버전, Xroi)하는 것입니다. chaco와 matplotlib에는 LassoSelection 도구의 예가 나와 있지만, 내 요구에 맞지는 않습니다. 커서를 드래그하는 대신 다각형을 클릭하고 싶습니다.이미지 분석을위한 관심 영역 그리기 도구 (파이썬에서)

기존의 클래스를 확장하거나 사용자 정의해야 할 기존 도구가 있습니까? 두 경우 모두 올바른 방향의 포인터가 도움이됩니다.

답변

2

이 목적으로 PyQTGraph를 사용할 수 있다고 생각합니다. https://launchpad.net/pyqtgraph. 나는 matplotlib보다 본연의 옵션이 적기 때문에 드물게 사용했지만 꽤 빠르며 관심있는 ROI 선택을위한 내장 위젯을 가지고 있습니다. matplotlib를 PyQTGraph와 병합하는 플로팅 루틴은 형식이 다른 경우 두통을 일으킬 수 있습니다. 더 많은 부기가 발생할 수 있지만 문제가 해결 될 수 있습니다.

+0

팁 주셔서 감사합니다. 예를 들어 보았지만 일부 경우에는 test_ *가 약간 깨지기 쉬운 것처럼 보입니다. 이것에 의존하는 것에 조금주의하십시오. matplotlib + pyQt를 사용하여 자체 개발 된 경로로 가야 할 수도 있습니다. – DrSAR

+0

2011 년 3 월부터 내 의견을 다시 생각하기 시작했습니다. 이제 필자의 작업에 pyqtgraph를 통합하려고합니다. 0.9.3에서 0.9.7로 바뀌었고 훨씬 더 안정적이고 기능이 풍부한 것 같습니다 (어쩌면 충분히 열심히 보지 않았을 수도 있습니다). 감사합니다 @ EMS 및 +1 – DrSAR

6

matplotlib는 관심 영역 그림과 같은 기능을 포함하는 대화 형 데이터 가상화를 촬영할 때 적합하지 않은 것으로 보입니다. 물론 이벤트 처리 등을 다루지 만

내가 지금까지 생각해 낼 수있는 최선은 guiqwt이라는 인상적인 노력입니다. 그것은 PyQwt을 기반으로하며 (매우 쉽게 만족할 수있는) 종속성 목록도 제공합니다. test examples of image visualization을 간단히 살펴보면 유용한 도구 모음을 보여줍니다. 이 예제들을 설치하고 실행하는 것은 쉽습니다. 시간은 내 일에 얼마나 쉽게 통합 될지 알려줄 것입니다.

2

이제 matplotlib에는 "LassoSelector"라고하는 멋진 위젯이있어 자유로운 다각형 그리기가 매우 쉽습니다. 여기

샘플 코드 : http://matplotlib.org/examples/widgets/lasso_selector_demo.html

내 최소한의 버전 :

from pylab import * 
from matplotlib.widgets import LassoSelector 

fig, ax = plt.subplots() 
ax.imshow(np.random.randint(0,255,(255,255)), cmap='gray') 

def onselect(verts): 
    print verts 

lasso = LassoSelector(ax, onselect) 

subplots_adjust(left=0.1, bottom=0.1) 
0

정확히 github 볼 수 jdoepfert가 원하는 것을 수행하는 좋은 도구가있다. 성능이 약간 느려졌지만 motion_notify_event으로 댓글을 달면 매력처럼 작동합니다.