{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Dataset osztály\n", "\n", "A `Dataset` osztály az alapját képezi az összes kiértékelési módszernek: minden általános műveletet amit interferogramokon végezhetünk ez az osztály valósítja meg. Az itt bemutatott funkciók minden módszer esetén használhatóak (az `SPPMethod` kivételével, mivel annak az elemein használhatóak). Ehhez most szintetikus adatokat fogok használni." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import pysprint as ps\n", "\n", "x = np.linspace(500, 1000, 2000)\n", "y = np.cos(x ** 2 - 6 * x ** 3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A `Dataset` alap konstruktora így néz ki:\n", "```python\n", "Dataset(x, y, ref=None, sam=None, meta=None, errors=\"raise\", parent=None, callback=None)\n", "```\n", "`x`, `y` : Értelemszerűen az interferogram `x` és `y` értékei `np.ndarray`-ként.\n", "\n", "`ref`, `sam` : A referencia- és tárgykar spektruma `np.ndarray`-ként (csak `y` értékek).\n", "\n", "`meta` : A további metaadatok az interferogramról. Itt bármilyen dictionaryt beállíthatunk.\n", "\n", "`errors` : Ha `raise`, akkor különböző hosszúságú `x` és `y` értékekre hibát ad. Ha `force`, akkor levágja a hosszabb adatsort, hogy egyező hosszúságú legyen az `x` és `y`.\n", "\n", "`parent` és `callback` : A felhasználó szempontjából lényegtelen argumentumok.\n", "\n", "A másik konstruktor a fájlból való beolvasáshoz van, ez a `parse_raw`. Ennek a szignatúrája a következő:\n", "```python\n", "Dataset.parse_raw(\n", " filename,\n", " ref=None,\n", " sam=None,\n", " skiprows=0,\n", " decimal=\".\",\n", " sep=None,\n", " delimiter=None,\n", " comment=None,\n", " usecols=None,\n", " names=None,\n", " swapaxes=False,\n", " na_values=None,\n", " skip_blank_lines=True,\n", " keep_default_na=False,\n", " meta_len=1,\n", " errors=\"raise\",\n", " parent=None,\n", " callback=None\n", " )\n", "```\n", "Itt a hosszúsága miatt nem írom le a paraméterek jelentését, minden elolvasható a `help(ps.Dataset.parse_raw)` paranccsal. Most egyszerűen `np.ndarray`-ként adom meg az adatokat. Ekkor a kiíratásnál néhány fontos adatot láthatunk." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " Dataset\n", " | \n", "|
\n", " Parameters\n", " | \n", "|
Datapoints | \n", "2000 | \n", "
Predicted domain | \n", "wavelength | \n", "
Range min | \n", "500.00000 nm | \n", "
Range max | \n", "1000.00000 nm | \n", "
Normalized | \n", "True | \n", "
Delay value | \n", "Not given | \n", "
SPP position(s) | \n", "Not given | \n", "
\n", " Metadata\n", " | \n", "|
fontos_adat_amit_be_akarok_allitani | \n", "20 | \n", "
---|
\n", " | x | \n", "y | \n", "
---|---|---|
0 | \n", "3.767303 | \n", "-0.866605 | \n", "
1 | \n", "3.765419 | \n", "-0.151222 | \n", "
2 | \n", "3.763538 | \n", "-0.084169 | \n", "
3 | \n", "3.761658 | \n", "-0.634701 | \n", "
4 | \n", "3.759780 | \n", "-0.999558 | \n", "
... | \n", "... | \n", "... | \n", "
1961 | \n", "1.901727 | \n", "0.574217 | \n", "
1962 | \n", "1.901247 | \n", "-0.833038 | \n", "
1963 | \n", "1.900767 | \n", "0.858355 | \n", "
1964 | \n", "1.900287 | \n", "0.986823 | \n", "
1965 | \n", "1.899808 | \n", "0.527666 | \n", "
1966 rows × 2 columns
\n", "