Skip navigation

Tudományos Python

Python + numerikus számítási csomagok

A Python egy interpretált, általános célú programozási szkriptnyelv. Több évtizedes fejlődési múltra tekint vissza. Előnye, hogy megköveteli a programozótól az olvasható programkód készítést, valamint a nyelvi szerkezetei is közel állnak az emberi nyelvhez. Elsajátítása így viszonylag egyszerű.

A nyelv erejét a hozzá telepíthető rengetegféle funkciót ellátó csomag jelenti még. Különösen erős a numerikus számításokhoz tartozó funkciók elérhetősége. Emiatt ingyenes és nyílt forráskódú alternatívája tud lenni például a Matlab-nak is. A nyelvhez és a csomagokhoz számos angol nyelvű dokumentáció elérhető.

Néhány népszerű, tudományos számításokhoz és képfeldolgozáshoz kapcsolódó csomag

  • Numpy ("Numerical Python"). A nyelv kiterjesztése többdimenziós mátrixok hatékony kezelésével. A többi csomag alapját képzi. Célszerű a hatékony adatelérésre kidolgozott MKL (Intel Math Kernel Library) csomaggal együttes változatát használni!
  • SciPy ("Scientific Python"). Numpy csomagra épülő, numerikus számítási algoritmusokat tartalmazó csomag.
  • MatPlotLib. Numpy csomagra épülő, diagramrajzoló és vizualizációs csomag.
  • Scikit-image. SciPy kiterjesztése további képfeldolgozó műveletekkel.
  • Mahotas. Számítógépes látás algoritmusok.
  • Pillow. Számos képformátum betöltése és képek feldolgozása.
  • Pandas. Adatmanipulációhoz és elemzéshez, magasszintű hozzáférést biztosít táblázatba rendezett adatokhoz. Numpy csomagra épül, de célszerű a SciPy és MatPlotLib csomagok telepítése is.

Több, a képfeldolgozás területén használatos komplex C++ függvénykönyvtár is rendelkezik Python felülettel

  • OpenCV. Képfeldolgozó és számítógépes látás algoritmusok.
  • SimpleITK. Az Insight Toolkit (ITK) egyszerűsített interfésze. Az ITK de-facto szabványnak számít a 3D orvosi képek szegmentálási és regisztrációs algoritmusainál.
  • VTK ("Visualization Toolkit"). Inkább 3D számítógépes grafikai csomag, de feladatai közé tartozik a képek vizualizációja és egyszerűbb feldolgozása is.
  • Open3D. 3D pontfelhők reprezentációja és feldolgozása.

Gépi tanulási csomagok, amelyek képfeldolgozásban is hasznosak

  • Scikit-learn. A Python alapértelmezett gépi tanulási csomagja.
  • Tensorflow + Keras. A Google gépi tanulási csomagja magasszintű API felülettel.

További hasznos Python csomagok

  • IPython ("Interactive Python"). Python parancssori képességeinek nagyfokú bővítése. Matlab-szerű prototípus készítés érhető el a segítségével.
  • PyQt. Komplex, interaktív felhasználói felület készítéshez a népszerű Qt csomagra épülve.
  • Jupyter Notebook. Weboldalba ágyazható munkafüzet, amely Python kódok futtatására és eredményeinek megjelenítésére is képes.

Számos képfeldolgozó és modellező program a Python nyelven keresztül teszi lehetővé a funkcióinak bővítését.

  • GIMP ("GNU Image Manipulation"). Ingyenes képmanipulációs program, a PhotoShop alternatívája.
  • Blender. Ingyenes 3D modellező és animációs program.
  • 3D Slicer. 3D orvosi képmegjelenítő és feldolgozó szoftver.