A Python egy interpreteres programnyelv.
- 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 ("Visualzation 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.
- Blender. Ingyenes 3D modellező és animációs program.
- 3D Slicer. 3D orvosi képmegjelenítő és foldolgozó szoftver.
Keressünk elérhető bináris csomagot a Interneten!
Nyelvről: https://hu.wikipedia.org/wiki/Python_(programoz%C3%A1si_nyelv)
Telepítése :
A letöltött (https://www.python.org/downloads/) instal futtatásával vagy a zip állomány megfelelő könyvtárba kicsomagolásával történik.
A disztribúciók
Ezek kibővítik a funkcionalitást és kezelést segítő funkciókat tartalmaznak:
Anaconda, miniconda, ...
3.7 2017-05-08
3.6 2016-12-23
3.5 2015-09-13
3.4 2014-03-17
3.3 2012-09-29
3.2 2011-02-20
3.1 2009-06-26
3.0 2008-12-03
Speciális python nyelvek:
Jython (http://www.jython.org/)
PyPy (http://pypy.org/)
CPython (http://python.org/)
IronPython (http://ironpython.net/)
- 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.
- 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.
- 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.
Telepítése :
A letöltött (https://www.python.org/downloads/) instal futtatásával vagy a zip állomány megfelelő könyvtárba kicsomagolásával történik.
A disztribúciók
Ezek kibővítik a funkcionalitást és kezelést segítő funkciókat tartalmaznak:
Anaconda, miniconda, ...
python verziok (3)
3.7 2017-05-08
3.6 2016-12-23
3.5 2015-09-13
3.4 2014-03-17
3.3 2012-09-29
3.2 2011-02-20
3.1 2009-06-26
3.0 2008-12-03
Speciális python nyelvek:
Jython (http://www.jython.org/)
PyPy (http://pypy.org/)
CPython (http://python.org/)
IronPython (http://ironpython.net/)
Pár népszerű python 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.- 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.
- 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.
- 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 komplex C++ függvénykönyvtár is rendelkezik Python használat támogatással.
- 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 ("Visualzation 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.
Több 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 foldolgozó szoftver.
Modulok csomagok telepítése Windows rendszeren
Csomagok telepítésére a Python pip segédprogramja használható. Ez egy központi (interneten levő) repozitóriumban ellenőrzi a csomag elérhetőségét, és a telepített Python verzióhoz legalkalmasabb csomagot telepíti.
Problémát okozhat viszont, hogy néhány csomag csak forráskód szinten érhető el itt, ezeket pedig megpróbálja lefordítani, és ha a fordítási környezet beállítása nem megfelelő, akkor hibaüzenetet kapunk. Az ehhez szükséges fordítási környezet konfigurációja nem feltétlenül egyszerű, ezért ekkor inkább töltsünk le egy bináris csomagot, és telepítsük azt helyette (lásd a whl telepítés részben).
pip használat
Nyissunk parancssort és lépjünk be a Python mappába. A Python-t nem kell elindítani!Telepítés indítása például az ipython csomag esetén:
Scripts\pip.exe install ipython
Egy csomag eltávolítása az uninstall opcióval megy:
Scripts\pip.exe uninstall ipython
A whl (wheel) kiterjesztésű csomagok az adott rendszerre binárisan elérhető csomagokat jelentik. Ezeket akkor célszerű használni, ha a pip nem ilyet talál és fordítani próbál, rendszerint sikertelenül.
PIP telepítés
A pip ellenőrzi a függőségeket is, és azokat próbálja telepíteni először. Előfordulhat, hogy a telepítés egy másik, függő csomag miatt lesz sikertelen, így figyeljük a hibaüzenetet és a megfelelő csomagot telepítsük bináris csomagból!pip használat
Nyissunk parancssort és lépjünk be a Python mappába. A Python-t nem kell elindítani!Telepítés indítása például az ipython csomag esetén:
Scripts\pip.exe install ipython
Egy csomag eltávolítása az uninstall opcióval megy:
Scripts\pip.exe uninstall ipython
Whl telepítés
A whl (wheel) kiterjesztésű csomagok az adott rendszerre binárisan elérhető csomagokat jelentik. Ezeket akkor célszerű használni, ha a pip nem ilyet talál és fordítani próbál, rendszerint sikertelenül.
Keressünk elérhető bináris csomagot a Interneten!
Figyeljünk arra, hogy a Python verziószám és a 32 vagy 64 bitesség egyezzen a telepített verzióval!
Windows esetén indulhatunk az alábbi oldalról: Unofficial Windows Binaries for Python Extension Packages.
Telepítés: Scripts\pip.exe install "Elérési útvonal\csomag.whl"
A szükséges csomagok közül jelenleg a numpy+mkl, a SciPy és az OpenCV igényel whl telepítést.
A python.exe -vel indítható el a conzol alkalmazás.
Modulok telepítés:
python -m pip install -U pip ///// ezt csak egyszer
python -m ensurepip --default-pip //// ezt csak egyszer
python -m pip install matplotlib // plotter modul telepítése
python -m pip install numpy // ...
--- A telepített modulok a szimbólumtáblázatba kerülnek be
A telepítés helyességéről a python konzolablakból meghívással :
-- 1. Használatba vétel hibamentes
>>> import matplotlib
-- 2. Modul listában (szimbólumtáblázatba) benne van-e a help szerint:
>>>help('modules')
--- 3. Modullista kilistázása pyton programból:
>>>import sys as s
>>>s.modules.keys()
Érdekességek/próbáld ki a konzol ablakban:
import antigravity
import this
import __hello__
A py program állomány meghívása:
Szovegszerkesztővel megírt és .py kiterjesztéssel elmentet file futtatása:
c:\Miniconda3\python.exe c:\kl\_oktatas\python\mintak\alap_web_json_fenykep.py
Minta :
py program konzolban:
>>>import math
>>>b=math.e**(1*math.pi)
>>>print ('{0:.2f}+ {1:.2f}'.format(b.real, b.imag) )
py állományban (pelda01.py):
import math
b=math.e**(1*math.pi)
print ('{0:.2f}+ {1:.2f}'.format(b.real, b.imag) )
Használat:
c:\Miniconda3\python.exe c:\kl\_oktatas\python\mintak\pelda01.py
Eredménye (mindkettőnek):
23.14+ 0.00
Python nyelvtani elemek (konzolban):
Értékadás:
>>> pi = 3.14159
>>> nev ='Lajos'
>>>szin_lista=['kek', 'zold', 'sarga','barna']
Kiíratás
>>> print(szin_lista[1])
zold
>>> print(nev[::-1])
sojaL
>>> print ('PI-nél nagyobb' if pi > 3.14159 else 'Pont PI érték')
Pont PI érték
Egy művelet, parancs egy sorba helyezkedik el és a sorvége jelzi a parancs végét.
Következő sorba az újabb parancs kerül.
Az utasításblokkokat behúzások határolják, a belső parancs(-ok) kezdete elé pár space vagy TAB karakter kerül.
A kis/nagybetű lényeges a változónevekben az azonosításban.
A karakterláncok összetett adatok (szekvenciák kategóriába tartozik)
ezért speciális műveletei is vannak és egy módosítható adattípust képeznek.
--- Többsoros értékadás 1.
>>> hosszu_szoveg = "Ez egy nagyon hosszú sor\n ami több sorba tagol sövegsort\n\
... tartalmaz és ilyen módon \n hasonlit a C/C++.\n \n --még nincs vége itt sem\
... fontos,hogy a white space-ek\n a sor elején lényegesek.\n"
\ karaker különleges karakterek bevitelének levédésére szolgál
valamint lehetővé teszi, hogy egy parancsot, ami nem fér el egy sorban,
azt több sorba írjunk ekkor a összevonásra jelzett sorvégek utolsó karakterei ezek.
--- Többsoros értékadás 2.
a1 = """
... Ez egy nagyon hosszú sor\n ami több sorba tagol sövegsort\n
... tartalmaz és ilyen módon \n hasonlit a C/C++.\n \n --még nincs vége itt sem\
... fontos,hogy a white space-ek\n a sor elején lényegesek.\n
... """
A több soros szöveget ekkor háromszoros aposztroffal vagy háromszoros idézőjellel határolhatjuk
További összetett adattípusok:
A lista : szögletes zárójelbe zárt, vesszővel elválasztott elemek csoportja.
>>> nap = ['hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat', 'vasárnap', 1]
>>> print nap
['hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat', 'vasárnap', 1]
Listák jellemzői:
- A listát alkotó elemek különböző típusúak lehetnek
- A listák is szekvenciák, úgy mint a karakterláncok
- A listák módosítható adattípusok (meg lehet változtatni az elemeit)
Listák belső függvényei:
- len() hossz megadása
- del() törlés
- append() hozzáfűzés
- int() egésszé alakítás
- float() számmá alakítás
---- Modulok importálása
from math import *
Konzolos működés jellemzője:
Egy parancs sor melyet a parancs értelmező promt jel >>> után gépelünk be és ennek válasza a következő sorban jelenik meg majd újra megjelenik a parancs értelmező promt jel >>>.
py állomány futtatható és meghívható modulként is használható szerkezet (minta_modul01.py):
def main():
print('Py3')
##------------------------
if __name__ == "__main__":
main()
Telepítés: Scripts\pip.exe install "Elérési útvonal\csomag.whl"
A szükséges csomagok közül jelenleg a numpy+mkl, a SciPy és az OpenCV igényel whl telepítést.
A python.exe -vel indítható el a conzol alkalmazás.
Modulok telepítés:
python -m pip install -U pip ///// ezt csak egyszer
python -m ensurepip --default-pip //// ezt csak egyszer
python -m pip install matplotlib // plotter modul telepítése
python -m pip install numpy // ...
--- A telepített modulok a szimbólumtáblázatba kerülnek be
A telepítés helyességéről a python konzolablakból meghívással :
-- 1. Használatba vétel hibamentes
>>> import matplotlib
-- 2. Modul listában (szimbólumtáblázatba) benne van-e a help szerint:
>>>help('modules')
--- 3. Modullista kilistázása pyton programból:
>>>import sys as s
>>>s.modules.keys()
Érdekességek/próbáld ki a konzol ablakban:
import antigravity
import this
import __hello__
A py program állomány meghívása:
Szovegszerkesztővel megírt és .py kiterjesztéssel elmentet file futtatása:
c:\Miniconda3\python.exe c:\kl\_oktatas\python\mintak\alap_web_json_fenykep.py
Minta :
py program konzolban:
>>>import math
>>>b=math.e**(1*math.pi)
>>>print ('{0:.2f}+ {1:.2f}'.format(b.real, b.imag) )
py állományban (pelda01.py):
import math
b=math.e**(1*math.pi)
print ('{0:.2f}+ {1:.2f}'.format(b.real, b.imag) )
Használat:
c:\Miniconda3\python.exe c:\kl\_oktatas\python\mintak\pelda01.py
Eredménye (mindkettőnek):
23.14+ 0.00
Python nyelvtani elemek (konzolban):
Értékadás:
>>> pi = 3.14159
>>> nev ='Lajos'
>>>szin_lista=['kek', 'zold', 'sarga','barna']
Kiíratás
>>> print(szin_lista[1])
zold
>>> print(nev[::-1])
sojaL
>>> print ('PI-nél nagyobb' if pi > 3.14159 else 'Pont PI érték')
Pont PI érték
Egy művelet, parancs egy sorba helyezkedik el és a sorvége jelzi a parancs végét.
Következő sorba az újabb parancs kerül.
Az utasításblokkokat behúzások határolják, a belső parancs(-ok) kezdete elé pár space vagy TAB karakter kerül.
A kis/nagybetű lényeges a változónevekben az azonosításban.
A karakterláncok összetett adatok (szekvenciák kategóriába tartozik)
ezért speciális műveletei is vannak és egy módosítható adattípust képeznek.
--- Többsoros értékadás 1.
>>> hosszu_szoveg = "Ez egy nagyon hosszú sor\n ami több sorba tagol sövegsort\n\
... tartalmaz és ilyen módon \n hasonlit a C/C++.\n \n --még nincs vége itt sem\
... fontos,hogy a white space-ek\n a sor elején lényegesek.\n"
\ karaker különleges karakterek bevitelének levédésére szolgál
valamint lehetővé teszi, hogy egy parancsot, ami nem fér el egy sorban,
azt több sorba írjunk ekkor a összevonásra jelzett sorvégek utolsó karakterei ezek.
--- Többsoros értékadás 2.
a1 = """
... Ez egy nagyon hosszú sor\n ami több sorba tagol sövegsort\n
... tartalmaz és ilyen módon \n hasonlit a C/C++.\n \n --még nincs vége itt sem\
... fontos,hogy a white space-ek\n a sor elején lényegesek.\n
... """
A több soros szöveget ekkor háromszoros aposztroffal vagy háromszoros idézőjellel határolhatjuk
További összetett adattípusok:
A lista : szögletes zárójelbe zárt, vesszővel elválasztott elemek csoportja.
>>> nap = ['hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat', 'vasárnap', 1]
>>> print nap
['hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat', 'vasárnap', 1]
Listák jellemzői:
- A listát alkotó elemek különböző típusúak lehetnek
- A listák is szekvenciák, úgy mint a karakterláncok
- A listák módosítható adattípusok (meg lehet változtatni az elemeit)
Listák belső függvényei:
- len() hossz megadása
- del() törlés
- append() hozzáfűzés
- int() egésszé alakítás
- float() számmá alakítás
---- Modulok importálása
from math import *
Konzolos működés jellemzője:
Egy parancs sor melyet a parancs értelmező promt jel >>> után gépelünk be és ennek válasza a következő sorban jelenik meg majd újra megjelenik a parancs értelmező promt jel >>>.
py állomány futtatható és meghívható modulként is használható szerkezet (minta_modul01.py):
def main():
print('Py3')
##------------------------
if __name__ == "__main__":
main()
Egy futtató bat file meky anaconda alatti pythonnal futtat py állományt:
@CALL "c:\Users\User\anaconda3\condabin\conda.bat" activate C:\Users\User\anaconda3
python minta.py
Hol van a python és conda exe file:
(base) C:\Users\User>where conda
C:\Users\User\Anaconda3\Library\bin\conda.bat
C:\Users\User\Anaconda3\Scripts\conda.exe
C:\Users\User\anaconda3\condabin\conda.bat
C:\Windows\System32\ where python
C:\Users\User\Anaconda3\python.exe
C:\Users\User\AppData\Local\Programs\Python\Python39\python.exe
C:\Users\User\AppData\Local\Microsoft\WindowsApps\python.exe
Megjegyzések
Megjegyzés küldése