Araçlar ImagePy Açık eklentileri destekleyen UI arabirimli Python açık kaynaklı görüntü işleme çerçevesi

AI Technology Review Press ImagePy, python açık kaynaklı bir görüntü işleme çerçevesidir ve UI arayüzü açık eklentileri destekler. Github'da: https://github.com/Image-Py/imagepy, sadece bu görüntü işleme yazılımına ayrıntılı bir giriş değil, aynı zamanda bazı kullanım örnekleri de var.Lei Feng AI Technology Review bu açık kaynaklı görüntüyü daha sonra ayrıntılı olarak tanıtacak Çerçeve işleniyor.

ImagePy, imagej ve diğer eklentilere dayalı bir görüntü işleme çerçevesidir. Scipy.ndimage, scikit-image, opencv, simpleitk, mayavi ve herhangi bir numpy tabanlı kitaplık ile birleştirilebilir. Adresi:

Giriş

ImagePy, python ile yazılmış açık kaynaklı bir görüntü işleme çerçevesidir. UI arayüzü, görüntü veri yapısı ve tablo veri yapısı sırasıyla wxpython, numpy ve pandalara dayanmaktadır. Ek olarak, scipy.ndimage, scikit-image, simpleitk, opencv ve diğer görüntü işleme kitaplıkları arasında kolayca iletişim kurabilen numpy ve pandas tabanlı tüm eklentileri destekler.

Genel bakış, fare ölçümü, geometrik dönüşüm, filtreleme, bölümleme, sayma vb.

IJ stilini tercih ediyorsanız, lütfen "Windows- > Windows Stili "değiştirilecek

ImagePy:

  • Kullanıcı dostu bir arayüze sahiptir;

  • Görüntü verilerini çeşitli formatlarda okuyabilir / kaydedebilir;

  • ROI ayarı, çizim, ölçüm ve diğer fare işlemlerini destekleyin;

  • Görüntü filtreleme, morfolojik işlemler ve diğer geleneksel işlemleri gerçekleştirebilir;

  • Görüntü bölütleme, alan sayma, geometrik ölçüm ve yoğunluk analizi yapabilir;

  • Görüntüden çıkarılan parametreler üzerinde ilgili veri analizi, filtreleme, istatistiksel analiz vb. Gerçekleştirebilir.

Bu projenin uzun vadeli hedefi, ImageJ ve SPSS'nin bir konsorsiyumu haline gelmektir.

adres:

https://academic.oup.com/bioinformatics/article-abstract/34/18/3238/4989871?redirectedFrom=fulltext

Kurulum:

Desteklenen sistemler: windows, linux, python2.7 ve python3 ve üzeri mac sistemleri.

  • ImagePy wxpython tabanlı bir ui çerçevesidir, linux üzerinde pip ile kurulamaz. Linux sisteminizle eşleşen whl dosyasını indirmeniz gerekir.

  • ImagePy bazı yapılandırma bilgileri yazacağından, linux ve mac sistemlerinde izin sorunları olabilir, bu nedenle lütfen sudo komutuyla başlayın. Kurulum için pip kullanıyorsanız, kullanıcı parametreleri eklemek için lütfen aşağıdaki yöntemi izleyin: pipsinstall - kullanıcı hayali.

  • ImagePy'yi anaconda sanal ortamında kurarsanız, şu hatayla karşılaşabilirsiniz: Bu program ekran erişimi gerektirir. Çalıştırmak için lütfen python tarafından oluşturulmuş çerçeveyi kullanın ve bunu yalnızca ana monitörde oturum açtığınızda yapın.Bu sorunla karşılaşırsanız, lütfen pythonw-m yansıtma ile başlayın.

  • Temel operasyon:

    ImagePy çok zengin özelliklere sahiptir Burada size ImagePy'nin bu özelliklerini göstermek için belirli bir örnek kullanıyoruz. Madeni paraları bölmek için scikit-image kullanmanın resmi örneğini seçiyoruz, çünkü bu örnek basit ve kapsamlı.

    Resmi aç

    Menü açılır: dosya- > yerel örnekler- > ImagePy'de örnek görüntüyü açmak için bozuk para. ps: ImagePy bmp, jpg, png, gif, tif ve diğer yaygın olarak kullanılan dosya formatlarını destekler. ITK eklentisini kurarak, tıbbi görüntüleri dicom, nii ve diğer formatlarda da okuyabilir / kaydedebilirsiniz. Eğer opencv kuruluysa, videoları wmv, avi ve diğer formatlarda da okuyabilir / yazabilirsiniz.

    madeni para

    Filtreleme ve segmentasyon

    Görüntünün sobel gradyanını çıkarmak için bir kompozit filtre seçin, ardından işaretleyici olarak üst ve alt eşikleri kullanın ve son olarak gradyan haritasında su havzaları segmentasyonu gerçekleştirin. Filtreleme ve segmentasyon, görüntü işleme araç setindeki anahtar teknolojiler ve son ölçümün başarılı veya başarısız olmasının anahtarıdır. Ayrıca uyarlanabilir eşik ve su havzaları gibi bölümleme yöntemlerini de destekler.

    Yukarı ve Aşağı Havza Bölme

    Maske

    İkilileştirme

    Menü açılır: işlem- > ikili- > ikili doldurma delikleri

    Segmentasyondan sonra elde edilen maske görüntüsü nispeten temizdir, ancak yine de sayma ve ölçüme müdahale eden bazı delikler ve safsızlıklar vardır. ImagePy, korozyon, genişleme, açık döngü ve kapalı döngü gibi ikili işlemlerin yanı sıra kontur çıkarma, merkezi eksen çıkarma ve mesafe dönüştürme gibi ikili işlemleri destekler.

    Deliği doldurun

    Geometrik filtreleme

    Menü açılır: analiz- > bölge analizi- > geometri filtresi

    ImagePy alan, çevre, topoloji, kararlılık ve eksantriklik gibi parametrelere göre geometrik filtreleme gerçekleştirebilir. Filtrelemek için birden çok koşul da kullanabilirsiniz. Her sayı pozitif (veya negatif) olabilir; bu, kaydedilen nesnenin karşılık gelen parametresinin göreli değerden büyük (veya daha küçük) olduğu anlamına gelir. Kaydedilen nesne ön renk olarak ayarlanacak ve reddedilen nesne arka plan rengi olarak ayarlanacaktır. Bu demoda, hangi nesnelerin filtrelendiğini görmek için arka plan rengi 100 olarak ayarlanmıştır. Sonuçtan memnun kaldığınızda, arka plan rengini 0 olarak ayarlayın. Buna ek olarak, ImagePy ayrıca gri yoğunluk filtrelemeyi, renk filtrelemeyi, renk kümelemeyi ve diğer işlevleri destekler.

    Geometrik filtreleme

    Geometrik analiz

    Menü açılır: işlem- > bölge analizi- > Geometri analizi sayar, alanı hesaplar ve parametreleri analiz eder. Cov seçeneğini belirleyerek, ImagePy her alana kovaryans tarafından hesaplanan bir elips ile uyar. Burada alan, çevre, eksantriklik ve kararlılık gibi önceki adımlarda gösterilen parametreleri hesaplayın. Aslında, önceki adımın filtrelenmesi tam da bu adım için hazırlıktır.

    Geometrik analiz

    Sonuç tablosunu oluşturun (elipsi vurgulamak için arka plan siyahtır)

    Tabloyu bölgeye göre sıralayın

    Menü açılır: tablo- > istatistik > anahtara göre tablo sırala

    Alan olarak birincil anahtarı seçin ve alçalmayı seçin, tablo azalan alan sırasına göre sıralanacaktır. Tablo, görüntünün yanı sıra bir diğer önemli verilerdir. Bir anlamda, çoğu zaman görüntü hakkında ilgili bilgileri elde etmemiz ve ardından veriler üzerinde bir tablo biçiminde sonraki işlemleri gerçekleştirmemiz gerekir. ImagePy tablo G / Ç (xls, xlsx, csv), filtreleme, dilimleme, istatistiksel analiz, sıralama, vb. Destekler (metin rengini, ondalık kesinliği, satır stilini vb. Ayarlamak için sütun başlığına sağ tıklayın).

    masa

    grafik

    Menü açılır: tablo- > grafik- > geçmiş grafiği

    Bir grafik çizmek için genellikle tablo verileri kullanmamız gerekir. Burada belirli bir alanın ve onu çevreleyen sütunların histogramını çizdik. ImagePy's tablosu, histogramlar, pasta grafikler, histogramlar ve dağılım grafikleri (matplotlib'e göre) gibi yaygın grafikler çizmek için kullanılabilir. Grafik yakınlaştırma, taşıma ve diğer işlevlere sahiptir ve resim olarak kaydedilebilir.

    Histogram

    3D formu

    Menü açılır: kit3d- > görüntüleyici 3d > 2d yüzey

    Görüntünün yüzey rekonstrüksiyonu. Bu görüntü, rekonstrüksiyon sonuçlarını üç şekilde göstermektedir: sobel gradyan haritası, yüksek eşik ve düşük eşik. Up And Down Watershed'in nasıl çalıştığını gösterir:

    • Gradyanı hesaplayın;

    • Madeni paraları ve arka planı yüksek ve düşük eşiklerle işaretleyin;

    • Bir bölme çizgisi oluşturmak için dem çizelgesinde yükselen suyu simüle edin.

    ImagePy, görüntü 3d filtreleme, 3 boyutlu kontur oluşturma, 3 boyutlu topoloji analizi, 2d yüzey yeniden yapılandırma ve 3 boyutlu yüzey görselleştirmeyi tamamlayabilir. 3B görünüm serbestçe sürüklenip döndürülebilir ve sonuç bir .stl dosyası olarak kaydedilebilir.

    3 boyutlu görselleştirme

    Makro kayıt ve yürütme

    Menü açılır: pencere- > araç paketi geliştirmek

    Makro kaydedici, geliştirme aracı panelinde görüntülenir. Bir görüntü segmentasyonunu manuel olarak tamamladık. Bununla birlikte, bu şekilde aynı anda 10'dan fazla görüntüyü işlemek çok sıkıcıdır. Bu nedenle, bu problemlerle uğraşırken bu adımların oldukça tekrarlanabilir ve sağlam olduğunu varsayarsak, birkaç işlemi tek bir tıklama programında birleştirmek için bir makro kaydedebiliriz. Makro kaydedici, radyo kaydediciye benzer. Açıldıktan sonra operasyonun her adımını kaydedecektir. Kaydı durdurmak için duraklat düğmesine veya kaydı başlatmak için oynat düğmesine tıklayabiliriz. Makro çalışırken, kaydedilen komutlar sırayla yürütülür, böylece basitlik ve tekrarlanabilirliğe sahiptir.

    Makro, .mc dosyasına kaydedilir. Dosyayı ImagePy'nin altındaki durum çubuğuna sürükleyip bırakın, makro otomatik olarak çalışacaktır. .Mc dosyasını ImagePy dosya dizini altındaki menünün alt menüsüne de kopyalayabiliriz. ImagePy'yi başlatırken, makro dosyası ilgili konumda menü öğesi olarak ayrıştırılacaktır. Menüye tıklandığında, makro yürütülecektir.

    Makro kaydı

    İş akışı

    Bir makro, önceden tanımlanmış bir komut dizisidir. Makroya bir dizi sabit işlem kaydedilerek, iş verimliliği iyileştirilebilir. Ancak makrolar esneklikten yoksundur. Örneğin, bazen ana adımlar sabittir, ancak parametre ayarı manuel katılım gerektirir. Bu durumda, iş akışı bu sorunu çözebilir. ImagePy'deki iş akışı, iki seviyeye ayrılmış görsel bir akış şemasıdır: bölümler ve parçalar. Bu bölüm, iş akışındaki dikdörtgen alana karşılık gelir ve bu bölüm, dikdörtgen alandaki düğmedir ve aynı zamanda grafik açıklamaları olan bir komuttur. Sağdaki mesaj penceresi, ilgili işlev açıklamasını gösterecek ve fareyi üzerine getirecektir. Tüm sürecin belgelerini görüntülemek için sağ üst köşedeki "Ayrıntılı Belgeler" i tıklayın.

    İş akışı aslında MarkDown (bir biçimlendirme dili) ile yazılmıştır, ancak yazarken aşağıdaki özelliklere uymanız gerekir:

    Başlık =====

    ## Bölüm 1

    1. Section1bölüm1 için bazı yorumlar ...

    2. ...

    ## Bölüm 2

    ...

    iş akışı

    Eklentiyi filtrele

    Son bölümde, makroları ve iş akışlarını tanıttık.Mevcut işlevleri bağlamak için makroları ve iş akışlarını kullanmak uygundur. Ancak bazen yeni özellikler oluşturmamız gerekir. Bu bölümde ImagePy'ye yeni bir özellik eklemeye çalışacağız. ImagePy herhangi bir numpy tabanlı işleve kolayca erişebilir. Scikit-image'ın canny operatörünü örnek olarak alalım.

    Örnek kod aşağıdaki gibidir:

    skimage import özelliğinden

    imagepy.core.engine'dan import Filtresi

    sınıf Eklenti (Filtre):

    title = 'Canny'

    note =

    para = {'sigma': 1.0, 'low_threshold': 10, 'high_threshold': 20}

    view =

    def run (self, ips, snap, img, para = None):

    return feature.canny (snap, para , para ,

    para , mask = ips.get_msk) * 255

    Canny filtresi örneği

    Kendi filtrenizi oluşturmanın adımları:

  • İlgili kitaplığı, genellikle üçüncü taraf kitaplığı içe aktarın.

  • Filtre sınıfını devralın.

  • Başlık, menü adı ve parametre diyalogunun başlığı ve makro kayıt komutu olarak kullanılacaktır.

  • Notta, çerçeveye sizin için ne yapması gerektiğini, tür denetimi yapıp yapmayacağını, seçimi destekleyip desteklemeyeceğini, UNDO'yu destekleyip desteklemeyeceğini vb. Anlatın.

  • para, işlevin gerektirdiği parametreleri içeren bir parametre sözlüğüdür.

  • Görünümdeki her parametre için bir etkileşim yöntemi tanımlayın ve çerçeve bu bilgileri okuyarak parametre ayarı için otomatik olarak bir iletişim kutusu oluşturacaktır.

  • Çalıştır ana işlevi yazın. img, geçerli görüntüdür ve para, kullanıcının girdi parametresidir. Auto_snap notta ayarlanmışsa, snap img'nin bir kopyası olacaktır. Bu kopyayı işleyebilir ve sonucu img'de saklayabiliriz. İşlev belirtilen çıktıyı desteklemiyorsa, sonucu da döndürebiliriz ve çerçeve sonucu img'ye kopyalayıp görüntülememize yardımcı olur.

  • Dosyayı xxx_plg.py olarak kaydedin, ardından menü klasörüne kopyalayın ve ImagePy'yi yeniden başlatın. Bir menü öğesi olarak yüklenecektir.

  • Bu çerçeve bizim için ne yapıyor?

    Çerçeve, karmaşık görevleri resmi bir şekilde birleştirdi ve şunları gerçekleştirmemize yardımcı oldu:

    • Tip kontrolü. Mevcut görüntü türü yorumdaki gereksinimleri karşılamıyorsa, analiz sonlandırılır;

    • Parametrelere göre, girdinin geçerliliğini tespit etmek için otomatik olarak bir iletişim kutusu oluşturulur;

    • Gerçek zamanlı önizleme;

    • Otomatik ROI desteği;

    • Desteği geri çekin;

    • Paralelleştirme desteği;

    • Görüntü yığını desteği;

    • diğer.

    masa

    Daha önce de belirtildiği gibi, tablolar, resimlerin yanı sıra çok önemli bir veri türüdür. Benzer şekilde, ImagePy de tablo genişletmeyi destekler. Burada, önceki açıklamada kullanılan anahtar sıralamanın bir örneğini veriyoruz.

    Kod:

    imagepy.core.engine import Tablosundan

    pandaları pd olarak içe aktar

    sınıf Eklenti (Tablo):

    title = 'Anahtara Göre Tablo Sırala'

    para = {'major': None, 'minor': None, 'descend': False}

    görünüm =

    def run (self, tps, data, snap, para = None):

    Yazan =

    data.sort_values (= ,

    eksen = 0, artan = para değil , yerinde = Doğru)

    Tablo sıralama örneği

    Saat nasıl çalışır

    Filtre gibi, tabloda da başlık, not, para ve görünüm gibi parametreler bulunur. Eklenti çalışırken çerçeve, görünüme dayalı bir iletişim kutusu oluşturacaktır. Parayı seçtikten sonra, bunları işlenmek üzere geçerli tabloyla birlikte run işlevine geçirin. Tablo verileri, geçerli tablodaki tps'de saklanan bir pandas.DataFrame nesnesidir. Seçili tablonun satır ve sütun maskesini almak için tps.rowmsk, tps.colmsk gibi diğer bilgileri de tps'den alabilirsiniz.

    Diğer eklenti türleri

    Yukarıda bahsedilen filtreler ve tablolar en önemli iki eklentidir, ancak ImagePy ayrıca diğer bazı eklenti uzantı türlerini de destekler. Şu anda dokuz eklentiyi destekliyor, bunlar:

  • Filtre: esas olarak görüntü işleme için kullanılır;

  • basit: filtrelere benzer, ancak ROI işlemi, yanlış renk işlemi, alan ölçümü veya tüm görüntünün üç boyutlu analizi ve görselleştirilmesi gibi görüntünün genel özelliklerine odaklanır;

  • free: Görüntüden bağımsız işlem. Görüntüleri açmak, yazılımı kapatmak vb. İçin kullanılır;

  • araç: Grafik üzerinde etkileşim kurmak için fareyi kullanın ve araç çubuğunda boya fırçası gibi küçük simgeler görüntüleyin;

  • tablo: İstatistiksel analiz, sıralama, çizim vb. gibi tabloyu çalıştırın;

  • pencere öğesi: sağdaki gezinme çubuğu, makro kaydedici vb. gibi panelde görüntülenen pencere öğeleri;

  • markdown: markdown dili, tıklandığında, belgeyi görüntülemek için ayrı bir pencere açılır;

  • makrolar: seri sabit işlem süreci için kullanılan komut dizisi dosyası;

  • iş akışı: Etkileşimli bir rehberlik süreci oluşturmak için makroları ve işaretlemeyi birleştirin.

  • Motivasyon ve hedefler

    Python basit, zarif ve güçlü bir dildir ve bilimsel hesaplamayla ilgili çok zengin bir üçüncü taraf kitaplıkları kümesine sahiptir. Bir yandan, genel matris yapısına ve ilgili kurallara dayalı olarak, numpy tabanlı scipy, scikit-image ve scikit-learning gibi bilimsel hesaplama kitaplıkları, bilimsel araştırmaya büyük kolaylık sağlamıştır. Öte yandan, bilimsel hesaplama ve görüntü işleme yoluyla, biyoloji ve malzeme bilimi gibi bilimsel araştırmalarda giderek daha fazla sorun verimli ve doğru bir şekilde çözülebilir.

    Bununla birlikte, hala programlama becerilerinden yoksun birçok araştırmacı var. Bu nedenle, daha fazla araştırmacının numpy tabanlı bilimsel hesaplama kitaplıklarını kullanabilmesi çok önemlidir. ImagePy, programcı olmayan araştırmacıların bilgisayarları bilimsel hesaplamalar için kullanmalarını sağlar, böylece kullanıcı arayüzü ve etkileşim tasarımına, yalnızca algoritmanın kendisine dikkat etmeleri gerekmez ve sonuçta açık kaynaklı araçların yapımını ve hatta ticari ürünlerin kuluçkalanmasını hızlandırır. Aynı zamanda, bu araçlar, programlamada iyi olmayan daha fazla kişinin görüntü işleme ve istatistik gibi bilimsel bilgileri edinmesine, tanıtmasına ve yaygınlaştırmasına olanak sağlayabilir.

    kaynak:

    https://github.com/Image-Py/imagepy

    Tarihin en otantik Çince-İngilizce iki dilli belgesini görüntülemek için orijinal metni okumak için tıklayın Baidu derin öğrenme çerçevesi PaddlePaddle API tanıtımı

    Supreme x NBA x NIKE üçlü ortak adı resmi olarak açıldı! Teklif fiyatı sevindirici!
    önceki
    Taze gıda e-ticaret pazarının manipülasyonunun arkasında kim var?
    Sonraki
    Bu dört 235/55 R17 lastikten hangisini kullanmak en iyisidir?
    NIKE x CdG'nin en iyi alternatifi yakında satışta! Ve nasıl satın alacağını biliyor musun?
    Qin Hailu, Lan Zhenglong ve Şangay Film Festivali Risk Sermayesi'nin diğer "yıldız müdahalecileri" bir kabus mu yoksa fırsat mı?
    Bir gigabit yönlendirici satın alın, Dandelion yönlendirici X5'i seçiyorum
    Acele edin ve yurt içinde yapın, test sürüşü Mitsubishi Eclipse Cross 1.5T
    Ünlü mühendis, Wuyi Dağı'nda emekli oluyor ve 9 yıl içinde "konuşan çay" yetiştiriyor
    Bugünün promosyonuDünya rekoru, yeni nesil Land Rover Discovery'nin ilk çıkışına tanıklık ediyor
    Tanrıçanın çaresizlik içinde bir numarası var
    2017 Harbin Sağlık Sigortası Yönetimi İşletme Reformu sizin için düzenlendi!
    Değeri artırmak için 2018 Karry K60'ı birden fazla eklemeyle test sürüşü yapın
    Haberler AMiner yeni işlevi: teknoloji trend analizi-madencilik teknolojisi kaynağı, son popülerlik ve küresel popülerlik
    Ulusal hizmette ilk olan Hanxin ve Kore, 9 Plus şovunun sihirli becerilerinin tadını çıkarmak için Huawei ile koşuyor ve koşuyor
    To Top