.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "tutorial-read/eg_04_read_calibration_json.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_tutorial-read_eg_04_read_calibration_json.py: Calibration data JSON ^^^^^^^^^^^^^^^^^^^^^ The preferred format for calibration data is JSON file. Howeer, they are not always as easy to handwrite, so it is possible to use txt/ASCII calibration files too. .. GENERATED FROM PYTHON SOURCE LINES 9-15 .. code-block:: default from pathlib import Path import json import plotly from resistics.time import ChanMetadata from resistics.calibrate import SensorCalibrationJSON .. GENERATED FROM PYTHON SOURCE LINES 16-18 Define the calibration data path. This is dependent on where the data is stored. .. GENERATED FROM PYTHON SOURCE LINES 18-20 .. code-block:: default cal_data_path = Path("..", "..", "data", "calibration", "example.json") .. GENERATED FROM PYTHON SOURCE LINES 21-22 Inspect the contents of the calibration file .. GENERATED FROM PYTHON SOURCE LINES 22-26 .. code-block:: default with cal_data_path.open("r") as f: file_contents = json.load(f) print(json.dumps(file_contents, indent=4, sort_keys=True)) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none { "file_info": { "created_on_local": "2021-07-04T17:20:47.042892", "created_on_utc": "2021-07-04T16:20:47.042892", "version": "1.0.0a3" }, "file_path": "calibration_ascii\\example.txt", "frequency": [ 0.00011, 0.0011, 0.011, 0.021, 0.03177, 0.048062, 0.072711, 0.11, 0.13249, 0.15959, 0.19222, 0.23153, 0.27888, 0.3359, 0.40459, 0.48733, 0.58698, 0.70702, 0.8516, 1.0257, 1.2355, 1.4881, 1.7925, 2.159, 2.6005, 3.1323, 3.7728, 4.5443, 5.4736, 6.5929, 7.9411, 9.5649, 11.521, 13.877, 16.715, 20.132, 24.249, 29.208, 35.181, 42.375, 51.041, 61.478, 74.05, 89.192, 107.43, 129.4, 155.86, 187.73, 226.12, 272.36, 328.06, 395.14, 475.95, 573.28, 690.5, 831.71, 1001.8 ], "magnitude": [ 0.01, 0.1, 1.0, 1.903, 2.903, 4.339, 6.565, 9.935, 12.02, 14.2, 17.24, 20.82, 24.53, 29.38, 34.21, 40.3, 47.34, 53.8, 61.1, 68.05, 75.0, 80.45, 85.4, 89.25, 92.2, 94.4, 96.2, 97.3, 98.1, 98.65, 99.05, 99.35, 99.75, 99.75, 99.8, 99.95, 99.95, 99.95, 100.0, 100.0, 100.2, 100.0, 100.0, 100.0, 99.8, 99.8, 99.7, 99.6, 99.3, 98.8, 98.0, 96.0, 92.7, 87.55, 80.8, 74.5, 70.7 ], "magnitude_unit": "mV/nT", "n_samples": 57, "phase": [ 1.5707963267948966, 1.5707963267948966, 1.5533430342749532, 1.546065011294137, 1.5428361521779475, 1.526971109277319, 1.505398839722669, 1.4724295701524963, 1.4491817845159316, 1.4238046971919343, 1.402913106045562, 1.3795780539463978, 1.3431181258722362, 1.2771446801468507, 1.2277693156079312, 1.1700861838295185, 1.0909355022515757, 1.0088177609452424, 0.9242216521010773, 0.827041719350033, 0.7294952674560699, 0.6388428661074844, 0.5498136209632537, 0.46968555500419407, 0.3926641751136843, 0.32766811376941546, 0.270246781378802, 0.21961477977844648, 0.17517869702267086, 0.13625436404469332, 0.10112263153129945, 0.06969099703213358, 0.04107981460419053, 0.013366778609323771, -0.01522921945412692, -0.04212177616763115, -0.07138396640656808, -0.10302329508672128, -0.1383801750736224, -0.1780235837034216, -0.21912608758788807, -0.2792875869041326, -0.3439869422755624, -0.42004839107747527, -0.5115036438819781, -0.6197664173831864, -0.7506312046977213, -0.9091245540713263, -1.1008838789879434, -1.3337282544965068, -1.616262153809349, -1.9645426060448175, -2.384294291149454, -2.8906143071530086, 2.784672821556953, 2.030865117620602, 0.8973959414979245 ], "sensor": "lemi120", "serial": 710, "static_gain": 1.0 } .. GENERATED FROM PYTHON SOURCE LINES 27-30 Read the data using the appropriate calibration data reader. As calibration data can be dependent on certain sensor parameters, channel metadata needs to be passed to the method. .. GENERATED FROM PYTHON SOURCE LINES 30-33 .. code-block:: default chan_metadata = ChanMetadata(name="Hx", chan_type="magnetic", data_files=[]) cal_data = SensorCalibrationJSON().read_calibration_data(cal_data_path, chan_metadata) .. GENERATED FROM PYTHON SOURCE LINES 34-35 Plot the calibration data. .. GENERATED FROM PYTHON SOURCE LINES 35-38 .. code-block:: default fig = cal_data.plot(color="maroon") fig.update_layout(height=700) plotly.io.show(fig) .. raw:: html :file: images/sphx_glr_eg_04_read_calibration_json_001.html .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.263 seconds) .. _sphx_glr_download_tutorial-read_eg_04_read_calibration_json.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: eg_04_read_calibration_json.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: eg_04_read_calibration_json.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_