2011-02-18 8 views
6

आईडीएल और मैटलैब से दूर जाने के प्रयास में, मैं खोज रहा हूं कि मुझे किस प्रकार के टूल्स को पायथन/एससीआई एट अल में लागू करने की आवश्यकता है। एक आम विशेषता चिकित्सा छवियों और ब्याज के रूपरेखा क्षेत्रों को प्रदर्शित करना है (उदा। आईडीएल में डीफ्रोई या, यह जीआईयू संस्करण, xroi है)। चाको और matplotlib में LassoSelection उपकरण के उदाहरण हैं जो करीब आते हैं लेकिन मेरी ज़रूरतों के लिए बिल्कुल सही नहीं है (मैं एक कर्सर खींचने के बजाय बहुभुज पर क्लिक-क्लिक-क्लिक करना चाहता हूं)।छवि विश्लेषण (पायथन में) के लिए क्षेत्र-ब्याज ड्राइंग टूल

क्या मौजूदा उपकरण हैं जो ऐसा कर सकते हैं या मुझे मौजूदा कक्षाओं को विस्तार और अनुकूलित करने की आवश्यकता होगी? किसी भी मामले में, सही दिशा में पॉइंटर्स सहायक होंगे।

उत्तर

2

मुझे लगता है कि आप इस उद्देश्य के लिए PyQTGraph का उपयोग करने में सक्षम हो सकते हैं, https://launchpad.net/pyqtgraph। मैंने इसे केवल थोड़ी देर के लिए उपयोग किया है, क्योंकि इसमें matplotlib की तुलना में कम सहज विकल्प हैं, लेकिन यह बहुत तेज़ है और इसमें रुचि रखने वाले आरओआई चयन के लिए कुछ अंतर्निहित विजेट हैं। आप शायद खुद को कस्टम बनाना प्लॉटिंग रूटीन जो PyQTGraph के साथ matplotlib को मर्ज करते हैं, हालांकि, प्रारूप अलग होने पर सिरदर्द का कारण बन सकता है, आदि। इससे अधिक बहीखाता हो सकती है, लेकिन आपकी समस्या हल हो सकती है।

+0

टिप के लिए धन्यवाद: मैंने देखा है लेकिन उदाहरण test_ * कुछ मामलों में थोड़ा नाजुक लग रहा है। इस पर भरोसा करने के लिए थोड़ा सावधान। मुझे लगता है कि मुझे सिर्फ matplotlib + pyQt के साथ होमग्राउन मार्ग जाना होगा। – DrSAR

+0

मैं मार्च 2011 से अपनी टिप्पणी पर पुनर्विचार करना शुरू कर रहा हूं: अब मैं अपने ऑपरेशन में पिक्टग्राफ को शामिल करने की कोशिश कर रहा हूं। यह 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

मेरे minimalistic संस्करण:

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 पर टिप्पणी करते हैं तो यह एक आकर्षण की तरह काम करता है।

संबंधित मुद्दे