Import Data in SpectroChemPy
This tutorial shows how to import data in SpectroChemPy (SCPy) .
First, let’s import spectrochempy as scp
in the current namespace, so that all spectrochempy commands will be called as scp.method(<method parameters>)
.
[1]:
import spectrochempy as scp
|
SpectroChemPy's API - v.0.8.2.dev7 ©Copyright 2014-2025 - A.Travert & C.Fernandez @ LCS |
Generic read command
To read a file containing spectrocopic data or similar, the read
method can be used. This method will try to guess the file format based on the file extension.
[2]:
X = scp.read("wodger.spg")
Running on GitHub Actions
MPL Configuration directory: /home/runner/.config/matplotlib
Stylelib directory: /home/runner/.config/matplotlib/stylelib
The above command will extract the data from the file wodger.spg
and store it in a NDDataset
object named X
. To display information about the dataset, simply type X
in a cell and run it.
[3]:
X
[3]:
NDDataset: [float64] a.u. (shape: (y:2, x:5549))[wodger]
Summary
Omnic filename: /home/runner/work/spectrochempy/spectrochempy/docs/sources/userguide/importexport/wodger.spg
/home/runner/work/spectrochempy/spectrochempy/docs/sources/userguide/importexport/wodger.spg.
2025-04-27 01:45:33+00:00> Sorted by date
Data
[ 1.983 1.984 ... 1.698 1.704]] a.u.
Dimension `x`
Dimension `y`
[ vz0468.spa, Wed Jul 06 21:20:38 2016 (GMT+02:00) 2016-07-06 19:23:14+00:00]]
In this case, the data were in an OMNIC file format, and the read
method guessed it correctly using the file name extension. The read
method can also read other file formats, such as OPUS, JCAMP-DX, CSV, MATLAB, TOPSPIN, etc. or even a directory.
Using a specific reader
Instead of using the generic read method, you can also use a specific reader, such as read_omnic
, read_opus
, read_csv
, read_jcamp
, etc. These methods are more specific and will only read the file format they are. For example, read_omnic
will only read OMNIC files.
The following table lists the available file readers in SCPy along with the corresponding file formats and extensions they support:
Reader |
File Formats |
Extensions |
---|---|---|
read_omnic,read_spa,read_spg,read_srs |
Thermo Scientific/Nicolet OMNIC files |
.spa, .spg, .srs |
read_opus |
Bruker OPUS files |
.0, .1, .000, … |
read_csv |
Comma-Separated Values (CSV) files |
.csv |
read_jcamp, read_dx |
JCAMP-DX spectral data files |
.dx, .jdx |
read_matlab,read_mat |
MATLAB files |
.mat, .dso |
read_topspin |
Bruker TopSpin NMR files |
fid, ser, 1r, 1i, 2rr… |
read_labspec |
LABSPEC6 spectral data files |
.txt |
read_wire,read_wdf |
Renishaw Wire files |
.wdf |
read_scp |
SpectroChemPy-specific files |
.scp |
read_soc,read_ddr,read_hdr,read_sdr |
Surface Optics Corporation files |
.ddr, .hdr, .sdr |
read_galactic |
Galactic spectral files |
.spc |
read_quadera |
Pfeiffer Vacuum QUADERA mass spectrometer files |
.txt |
read |
Generic reader (automatically detects format) |
|
read_dir |
Reads all supported files in a directory |
|
read_zip |
Reads files from a ZIP archive |
.zip |
read_carroucell |
Reads files from a carrousel experiment directory |
The read_dir
function scans a directory and reads all supported files, returning a list of NDDataset
objects.
Other reader functions return either a single NDDataset
or multiple NDDataset
objects, depending on the file type and content.
Further details on specific cases are provided below. See the section Reading directories.
Using relative or absolute pathnames
In the above examples, the file wodger.spg
was read from the current working directory.
If the file is located in another directory, the full path to the file can be provided. For example:
X = scp.read('/users/Brian/s/Life/wodger.spg')
or, for Windows:
X = scp.read(r'C:\users\Brian\s\Life\wodger.spg')
Notes:
The path separator is a backslash
\
on Windows, but in many contexts, backslash is also used as an escape character to represent non-printable characters. To avoid problems, either it has to be escaped itself, a double backslash\\
, or one can also use raw string literals to represent Windows paths. These are string literals that have anr
prepended to them. In raw string literals, the\\
represents a literal backslash:r'C:\users\Brian'
.In python, the slash
/
is used as the path separator in all systems (Windows, Linux, OSX, …). So it can be used in all cases. For exemple:X = scp.read('C:/users/Brian/s/Life/wodger.spg')
The use of relative pathnames is a good practice. SpectroChemPy readers use relative paths. If the given path is not absolute, then SpectroChemPy will search relative to the current directory or to a directory specified using the
directory
keywords.For example:
X = scp.read('wodger.spg', directory='C:/users/Brian/s/Life') X = scp.read('Life/wodger.spg', directory='C:\\users\\Brian\\s')
The
os
orpathlib
modules can be used to work with pathnames. See the section Good practice:Use of os or pathlib packages.The
preferences.datadir
variable can be used to set a default directory where to look for data. See the section Another default search directory: datadir.
Good practices
Use relative paths
As path are system dependent, it is a good practice to use relative pathnames in scripts and notebooks.
If, for instance, Brian has a project organised in a folder (s
) with a directory dedicated to input data (Life
) and a notebook for preprocessing (welease.ipynb
) as illustrate below:
C:\users
| +-- Brian
| | +-- s
| | | +-- Life
| | | | +-- wodger.spg
| | | +-- welease.ipynb
Then running this project in John’s Linux computer (e.g. in /home/john/s_copy
) will certainly result in execution errors if absolute paths are used in the notebook:
OSError: Can't find this filename C:\users\Brian\s\life\wodger.spg
Fortunately, SpectroChemPy readers use relative paths. If the given path is not absolute, then SpectroChemPy will search in the current directory. Hence, the opening of the spg
file from scripts in welease.ipynb
can be made by the command:
X = scp.read('Life/wodger.spg')
or:
X = scp.read('wodger.spg', directory='Life')
Use os or pathlib packages
In python, working with pathnames is classically done with dedicated modules such as os
or pathlib
python modules. With os
we mention the following methods that can be particularly useful:
import os
os.getcwd() # returns the absolute path of the current working directory
# preferences.datadir
os.path.expanduser("~") # returns the home directory of the user
os.path.join('path1','path2','path3', ...)
# intelligently concatenates path components
# using the system separator (`/` or `\\` )
Using Pathlib
is even simpler:
from pathlib import Path
Path.cwd() # returns the absolute path of the current working directory
Path.home() # returns the home directory of the user
Path('path1') / 'path2' / 'path3' / '...' # intelligently concatenates path
components
The interested readers will find more details on the use of these modules here:
Another default search directory: datadir
Spectrochempy also comes with the definition of a second default directory path where to look at the data: the datadir
directory. It is defined in the variable preferences.datadir
which is imported at the same time as spectrochempy. By default, datadir
points in the ‘$HOME/.spectrochempy/tesdata’ directory.:
[4]:
DATADIR = scp.preferences.datadir
DATADIR
[4]:
PosixPath('/home/runner/.spectrochempy/testdata')
DATADIR is already a pathlib object and so can be used easily
[5]:
scp.read_omnic(DATADIR / "wodger.spg")
[5]:
NDDataset: [float64] a.u. (shape: (y:2, x:5549))[wodger]
Summary
Omnic filename: /home/runner/.spectrochempy/testdata/wodger.spg
2025-04-27 01:45:33+00:00> Sorted by date
Data
[ 1.983 1.984 ... 1.698 1.704]] a.u.
Dimension `x`
Dimension `y`
[ vz0468.spa, Wed Jul 06 21:20:38 2016 (GMT+02:00) 2016-07-06 19:23:14+00:00]]
It can be set to another pathname permanently (i.e., even after computer restart) by a new assignment:
scp.preferences.datadir = 'C:/users/Brian/s/Life'
This will change the default value in the SCPy preference file located in the hidden folder .spectrochempy/
at the root of the user home directory.
Finally, by default, the import functions used in Spectrochempy will search the data files using this order of precedence:
try absolute path
try in current working directory
try in
datadir
if none of these works: generate an OSError (file or directory not found)
Reading directories
The read_dir
function is designed to read an entire directory, create NDDatasets for each file, and finally merge all compatible datasets. Let’s see an example:
Here is a list of the files presents in
DATADIR/irdata/subdir/
[6]:
folder = DATADIR / "irdata" / "subdir"
[str(item.relative_to(DATADIR)) for item in folder.glob("*.*")]
[6]:
['irdata/subdir/7_CZ0-100_Pd_102.SPA',
'irdata/subdir/TGAIR-unreadable.srs',
'irdata/subdir/7_CZ0-100_Pd_101.SPA',
'irdata/subdir/7_CZ0-100_Pd_104.SPA',
'irdata/subdir/7_CZ0-100_Pd_103.SPA']
Now read all files in the
DATADIR/irdata/subdir/
directory (i.e.,, four.spa
files and one.srs
file). Any file in unknown format will be ignored silently:
[7]:
scp.read_dir(folder)
[7]:
List (len=2, type=NDDataset)
0: NDDataset: [float64] a.u. (shape: (y:335, x:1868))[dd_6.6_19039_538]
Summary
( dd_6.6_19039_538 )
2025-04-27 01:45:33+00:00> Merged from several files
Data
[-0.009306 -0.002252 ... 0.0001051 0.000107]
...
[ 0.02474 0.02814 ... 0.002962 0.002967]
[ 0.02663 0.02899 ... 0.002907 0.002916]] a.u.
Dimension `x`
Dimension `y`
Ë
ÁØsúË
t/ä
/ä
/ä
±½@
ö»Îö¿¹·j»D»t4»*
»Ý©S»£°»ýóɺ-êÒº¿p»¢»
»[ýéºùH|»
»Íu»ä䩺LÊкsöþºvÐmºÎG4ºC঺ÔͺÕ
º¹¶:»ñ&Rº*
Ò:Ý¿9WÅEºÓo
ºB'ƺP|_º)ïQ9O̺Üìº-ºÁrï¹ç
±ºð¹¯ºqHºIKº Verknüpftes Spektrum bei 0,519 Min.
Ë
ÁØsúË
t/ä
/ä
/ä
îÂ@
y¼»¾¯^¹¸:¸4êº=x»ØÃ1»¼-øºÿɺÓź[L»×
»£Êp»Õ@»¤(»ë𢹱w 95ºÍ9ÔºÓ೺OuºÔ
ܹºm¼BºâÞå7ÛÍ9Mº,ºJq:ò49 jZºLÛº¬ëºÃi¹;ý:ì) º)vº¡ê¹xÕ½·?³º©ëÁºÀ
ºó(
¹ ...
Verknüpftes Spektrum bei 86,756 Min.
Ë
ÁØsúË
t/ä
/ä
/ä
ã!@
¡Ê
é;òÙ;\
<â½Ä;²;ÿÐæ;¤ññ;°Í¹;¡´;ÛYÎ;?å;Þ¦ò;²ø§;hAe;°TÉ;ó÷Ì;dK;úºY;ÛýÀ;j8;ïkª;#G;¸Û;Öþ;
Verknüpftes Spektrum bei 87,016 Min.
Ë
ÁØsúË
t/ä
/ä
/ä
0+@
+1Ú<9}í<
1: NDDataset: [float64] a.u. (shape: (y:4, x:5549))[7_CZ0-100 Pd_104]
Summary
( 7_CZ0-100 Pd_104 )
2025-04-27 01:45:33+00:00> Merged from several files
Data
[ 1.552 1.553 ... 2.161 2.109]
[ 1.461 1.46 ... 2.087 2.088]
[ 1.448 1.447 ... 2.071 2.065]] a.u.
Dimension `x`
Dimension `y`
[ /home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_101.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_102.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_103.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_104.SPA]]
The above command have read all files in the DATADIR/irdata/subdir/
directory and merged them into two groups of compatible NDDatasets:
a first
NDDataset
object (id: 0, shape [335,1868]) comes from the single.srs
file.a second
NDDataset
object (id: 1, shape [335,1868]) comes from the merging of four.spa
files.
Merging compatible NDDataset is the default behavior of read_dir
(or equivalently read
). If you want to read the files separately, you can use the merge=False
keyword:
[8]:
scp.read_dir(folder, merge=False)
[8]:
List (len=5, type=NDDataset)
recursive
: ifTrue
, the function will scan the directory recursively and read all supported files in all subdirectories.pattern
: a string or a list of strings that can be used to filter the files to be read. Only files whose name matches the pattern will be read.
0: NDDataset: [float64] a.u. (shape: (y:1, x:5549))[7_CZ0-100 Pd_101]
Summary
# Filename: 7_CZ0-100_Pd_101.SPA
2025-04-27 01:45:33+00:00> Data processing history from Omnic :
------------------------------------
Acquisition échantillon
<br/> Background acquis le Ven Nov 30 08:03:45 2018 (GMT+01:00) <br/> Format Final : Absorbance <br/> Résolution: 4,000 de 649,9207 à 5999,7134 <br/> Roue de validation: 0 <br/> Roue porte écran atténuation: Vide <br/> Numéro Série du banc:ALK1100494</div></div></div></details></div>
<div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[ 1.544 1.543 … 2.1 2.091]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:1, x:5549)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 5549</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 6000 5999 … 650.9 649.9] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> acquisition timestamp (GMT)</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[1.544e+09] s</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [[ 2018-11-30 07:10:57+00:00]<br/> [ /home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_101.SPA]]</div></details></div></details></div></div> <div class=’scp-output section’><div class=’scp-output’><details><summary>1: NDDataset: [float64] a.u. (shape: (y:1, x:5549))[7_CZ0-100 Pd_102]</summary><div class=”scp-output section”><details><summary>Summary</summary> <div class=”scp-output section”><div class=”attr-name”> name</div><div>:</div><div class=”attr-value”> 7_CZ0-100 Pd_102</div></div> <div class=”scp-output section”><div class=”attr-name”> author</div><div>:</div><div class=”attr-value”> runner@fv-az2211-104</div></div> <div class=”scp-output section”><div class=”attr-name”> created</div><div>:</div><div class=”attr-value”> 2025-04-27 01:45:33+00:00</div></div> <div class=”scp-output section”><div class=”attr-name”> description</div><div>:</div><div class=”attr-value”> <div># Omnic name: 7_CZ0-100 Pd_102<br/> # Filename: 7_CZ0-100_Pd_102.SPA</div></div></div> <div class=”scp-output section”><div class=”attr-name”> history</div><div>:</div><div class=”attr-value”> <div>2025-04-27 01:45:33+00:00> Imported from spa file(s)<br/> 2025-04-27 01:45:33+00:00> Data processing history from Omnic :<br/> ————————————<br/> Acquisition échantillon
<br/> Background acquis le Ven Nov 30 08:12:56 2018 (GMT+01:00) <br/> Format Final : Absorbance <br/> Résolution: 4,000 de 649,9207 à 5999,7134 <br/> Roue de validation: 0 <br/> Roue porte écran atténuation: Vide <br/> Numéro Série du banc:ALK1100494</div></div></div></details></div>
<div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[ 1.552 1.553 … 2.161 2.109]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:1, x:5549)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 5549</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 6000 5999 … 650.9 649.9] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> acquisition timestamp (GMT)</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[1.544e+09] s</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [[ 2018-11-30 07:22:52+00:00]<br/> [ /home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_102.SPA]]</div></details></div></details></div></div> <div class=’scp-output section’><div class=’scp-output’><details><summary>2: NDDataset: [float64] a.u. (shape: (y:1, x:5549))[7_CZ0-100 Pd_103]</summary><div class=”scp-output section”><details><summary>Summary</summary> <div class=”scp-output section”><div class=”attr-name”> name</div><div>:</div><div class=”attr-value”> 7_CZ0-100 Pd_103</div></div> <div class=”scp-output section”><div class=”attr-name”> author</div><div>:</div><div class=”attr-value”> runner@fv-az2211-104</div></div> <div class=”scp-output section”><div class=”attr-name”> created</div><div>:</div><div class=”attr-value”> 2025-04-27 01:45:33+00:00</div></div> <div class=”scp-output section”><div class=”attr-name”> description</div><div>:</div><div class=”attr-value”> <div># Omnic name: 7_CZ0-100 Pd_103<br/> # Filename: 7_CZ0-100_Pd_103.SPA</div></div></div> <div class=”scp-output section”><div class=”attr-name”> history</div><div>:</div><div class=”attr-value”> <div>2025-04-27 01:45:33+00:00> Imported from spa file(s)<br/> 2025-04-27 01:45:33+00:00> Data processing history from Omnic :<br/> ————————————<br/> Acquisition échantillon
<br/> Background acquis le Ven Nov 30 08:24:51 2018 (GMT+01:00) <br/> Format Final : Absorbance <br/> Résolution: 4,000 de 649,9207 à 5999,7134 <br/> Roue de validation: 0 <br/> Roue porte écran atténuation: Vide <br/> Numéro Série du banc:ALK1100494</div></div></div></details></div>
<div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[ 1.461 1.46 … 2.087 2.088]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:1, x:5549)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 5549</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 6000 5999 … 650.9 649.9] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> acquisition timestamp (GMT)</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[1.544e+09] s</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [[ 2018-11-30 07:34:49+00:00]<br/> [ /home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_103.SPA]]</div></details></div></details></div></div> <div class=’scp-output section’><div class=’scp-output’><details><summary>3: NDDataset: [float64] a.u. (shape: (y:1, x:5549))[7_CZ0-100 Pd_104]</summary><div class=”scp-output section”><details><summary>Summary</summary> <div class=”scp-output section”><div class=”attr-name”> name</div><div>:</div><div class=”attr-value”> 7_CZ0-100 Pd_104</div></div> <div class=”scp-output section”><div class=”attr-name”> author</div><div>:</div><div class=”attr-value”> runner@fv-az2211-104</div></div> <div class=”scp-output section”><div class=”attr-name”> created</div><div>:</div><div class=”attr-value”> 2025-04-27 01:45:33+00:00</div></div> <div class=”scp-output section”><div class=”attr-name”> description</div><div>:</div><div class=”attr-value”> <div># Omnic name: 7_CZ0-100 Pd_104<br/> # Filename: 7_CZ0-100_Pd_104.SPA</div></div></div> <div class=”scp-output section”><div class=”attr-name”> history</div><div>:</div><div class=”attr-value”> <div>2025-04-27 01:45:33+00:00> Imported from spa file(s)<br/> 2025-04-27 01:45:33+00:00> Data processing history from Omnic :<br/> ————————————<br/> Acquisition échantillon
<br/> Background acquis le Ven Nov 30 08:36:47 2018 (GMT+01:00) <br/> Format Final : Absorbance <br/> Résolution: 4,000 de 649,9207 à 5999,7134 <br/> Roue de validation: 0 <br/> Roue porte écran atténuation: Vide <br/> Numéro Série du banc:ALK1100494</div></div></div></details></div>
<div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[ 1.448 1.447 … 2.071 2.065]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:1, x:5549)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 5549</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 6000 5999 … 650.9 649.9] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> acquisition timestamp (GMT)</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[1.544e+09] s</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [[ 2018-11-30 07:46:44+00:00]<br/> [ /home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_104.SPA]]</div></details></div></details></div></div> <div class=’scp-output section’><div class=’scp-output’><details><summary>4: NDDataset: [float64] a.u. (shape: (y:335, x:1868))[dd_6.6_19039_538]</summary><div class=”scp-output section”><details><summary>Summary</summary> <div class=”scp-output section”><div class=”attr-name”> name</div><div>:</div><div class=”attr-value”> dd_6.6_19039_538</div></div> <div class=”scp-output section”><div class=”attr-name”> author</div><div>:</div><div class=”attr-value”> runner@fv-az2211-104</div></div> <div class=”scp-output section”><div class=”attr-name”> created</div><div>:</div><div class=”attr-value”> 2025-04-27 01:45:33+00:00</div></div> <div class=”scp-output section”><div class=”attr-name”> description</div><div>:</div><div class=”attr-value”> <div>Dataset from omnic srs file.</div></div></div></details></div> <div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[-0.007524 -0.0003661 … 8.291e-05 9.239e-05]<br/> [-0.009306 -0.002252 … 0.0001051 0.000107]<br/> …<br/> [ 0.02474 0.02814 … 0.002962 0.002967]<br/> [ 0.02663 0.02899 … 0.002907 0.002916]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:335, x:1868)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1868</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 4000 3998 … 401.1 399.2] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 335</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> Time</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 0.26 0.52 … 86.76 87.02] min</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [ Verknüpftes Spektrum bei 0,260 Min.<br/> Ë<br/> ÁØsúË<br/> t/ä<br/> /ä<br/> /ä<br/><br/><br/><br/> ±½@<br/> ö»Îö¿¹·j»D»t4»*<br/> »Ý©S»£°»ýóɺ-êÒº¿p»¢»<br/><br/> »[ýéºùH|»<br/> »Íu»ä䩺LÊкsöþºvÐmºÎG4ºC঺ÔͺÕ<br/> º¹¶:»ñ&Rº*<br/> Ò:Ý¿9WÅEºÓo<br/> ºB’ƺP|_º)ïQ9O̺Üìº-ºÁrï¹ç<br/> ±ºð¹¯ºqHºIKº Verknüpftes Spektrum bei 0,519 Min.<br/> Ë<br/> ÁØsúË<br/> t/ä<br/> /ä<br/> /ä<br/><br/><br/><br/> îÂ@<br/> y¼»¾¯^¹¸:¸4êº=x»ØÃ1»¼-øºÿɺÓź[L»×<br/><br/> »£Êp»Õ@»¤(»ë𢹱w 95ºÍ9ÔºÓ೺OuºÔ<br/> ܹºm¼BºâÞå7ÛÍ9Mº,ºJq:ò49 jZºLÛº¬ëºÃi¹;ý:ì) º)vº¡ê¹xÕ½·?³º©ëÁºÀ<br/> ºó(<br/> ¹ …<br/> Verknüpftes Spektrum bei 86,756 Min.<br/> Ë<br/> ÁØsúË<br/> t/ä<br/> /ä<br/> /ä<br/><br/><br/><br/> ã!@<br/> ¡Ê<Læ<ä<#n<<g<³U<èx”<sw<¿`<Z=<§;6G<åO/<ñÈ÷;*ß<<br/> r<lf<br/> <«><<br/> é;òÙ;<br/> <â½Ä;²;ÿÐæ;¤ññ;°Í¹;¡´;ÛYÎ;?å;Þ¦ò;²ø§;hAe;°TÉ;ó÷Ì;dK;úºY;ÛýÀ;j8;ïkª;#G;¸Û;Öþ;<br/> Verknüpftes Spektrum bei 87,016 Min.<br/> Ë<br/> ÁØsúË<br/> t/ä<br/> /ä<br/> /ä<br/><br/><br/><br/> 0+@<br/> +1Ú<9}í<<I0<·¦<ú2<¬Çe<Nï<|î;32_<VK-<Gú;<br/> B <µ*<;µÖ;ÓÆ”<ss<«<7<br/> <½²ò;ç<àP<ãâ;4Å;vüö;ÑMà;·S;M;HÃà;¾cö;M¶ü;C;Ö[#;3Ó;*Ûæ;6;ýH;R±Ã;ÍN;í;j7;oÚ;ú;]</div></details></div></details></div></div> </details></div>
As expected the result is a list of 5 NDDataset objects, one for each file in the directory.
Additional options for reading directories
The read_dir
/read
function has additional options to control the behavior of the reading process:
Let’s see an example with the recursive
option:
First we list files in all directories under DATADIR/irdata/subdir/
:
[9]:
[str(item.relative_to(DATADIR)) for item in folder.glob("**/*.*")]
[9]:
['irdata/subdir/7_CZ0-100_Pd_102.SPA',
'irdata/subdir/TGAIR-unreadable.srs',
'irdata/subdir/7_CZ0-100_Pd_101.SPA',
'irdata/subdir/7_CZ0-100_Pd_104.SPA',
'irdata/subdir/7_CZ0-100_Pd_103.SPA',
'irdata/subdir/1-20/7_CZ0-100_Pd_3.SPA',
'irdata/subdir/1-20/7_CZ0-100_Pd_5.SPA',
'irdata/subdir/1-20/7_CZ0-100_Pd_4.SPA',
'irdata/subdir/20-50/7_CZ0-100_Pd_21.SPA']
the ìrdata/subdir/directory contains two subdirectory
1-20and
20-50with two additional
.spa` files.
Now we read all files (a total of 9) in the DATADIR/irdata/subdir/
directory and its subdirectories:
[10]:
scp.read_dir(folder, recursive=True, merge=False)
[10]:
List (len=9, type=NDDataset)
0: NDDataset: [float64] a.u. (shape: (y:1, x:5549))[7_CZ0-100 Pd_3]
Summary
# Filename: 7_CZ0-100_Pd_3.SPA
2025-04-27 01:45:33+00:00> Data processing history from Omnic :
------------------------------------
Acquisition échantillon
<br/> Background acquis le Jeu Nov 29 17:13:06 2018 (GMT+01:00) <br/> Format Final : Absorbance <br/> Résolution: 4,000 de 649,9207 à 5999,7134 <br/> Roue de validation: 0 <br/> Roue porte écran atténuation: Vide <br/> Numéro Série du banc:ALK1100494</div></div></div></details></div>
<div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[ 1.245 1.245 … 1.311 1.307]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:1, x:5549)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 5549</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 6000 5999 … 650.9 649.9] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> acquisition timestamp (GMT)</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[1.544e+09] s</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [[ 2018-11-29 16:23:05+00:00]<br/> [ /home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_3.SPA]]</div></details></div></details></div></div> <div class=’scp-output section’><div class=’scp-output’><details><summary>1: NDDataset: [float64] a.u. (shape: (y:1, x:5549))[7_CZ0-100 Pd_4]</summary><div class=”scp-output section”><details><summary>Summary</summary> <div class=”scp-output section”><div class=”attr-name”> name</div><div>:</div><div class=”attr-value”> 7_CZ0-100 Pd_4</div></div> <div class=”scp-output section”><div class=”attr-name”> author</div><div>:</div><div class=”attr-value”> runner@fv-az2211-104</div></div> <div class=”scp-output section”><div class=”attr-name”> created</div><div>:</div><div class=”attr-value”> 2025-04-27 01:45:33+00:00</div></div> <div class=”scp-output section”><div class=”attr-name”> description</div><div>:</div><div class=”attr-value”> <div># Omnic name: 7_CZ0-100 Pd_4<br/> # Filename: 7_CZ0-100_Pd_4.SPA</div></div></div> <div class=”scp-output section”><div class=”attr-name”> history</div><div>:</div><div class=”attr-value”> <div>2025-04-27 01:45:33+00:00> Imported from spa file(s)<br/> 2025-04-27 01:45:33+00:00> Data processing history from Omnic :<br/> ————————————<br/> Acquisition échantillon
<br/> Background acquis le Jeu Nov 29 17:25:03 2018 (GMT+01:00) <br/> Format Final : Absorbance <br/> Résolution: 4,000 de 649,9207 à 5999,7134 <br/> Roue de validation: 0 <br/> Roue porte écran atténuation: Vide <br/> Numéro Série du banc:ALK1100494</div></div></div></details></div>
<div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[ 1.245 1.245 … 1.302 1.299]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:1, x:5549)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 5549</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 6000 5999 … 650.9 649.9] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> acquisition timestamp (GMT)</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[1.544e+09] s</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [[ 2018-11-29 16:35:00+00:00]<br/> [ /home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_4.SPA]]</div></details></div></details></div></div> <div class=’scp-output section’><div class=’scp-output’><details><summary>2: NDDataset: [float64] a.u. (shape: (y:1, x:5549))[7_CZ0-100 Pd_5]</summary><div class=”scp-output section”><details><summary>Summary</summary> <div class=”scp-output section”><div class=”attr-name”> name</div><div>:</div><div class=”attr-value”> 7_CZ0-100 Pd_5</div></div> <div class=”scp-output section”><div class=”attr-name”> author</div><div>:</div><div class=”attr-value”> runner@fv-az2211-104</div></div> <div class=”scp-output section”><div class=”attr-name”> created</div><div>:</div><div class=”attr-value”> 2025-04-27 01:45:33+00:00</div></div> <div class=”scp-output section”><div class=”attr-name”> description</div><div>:</div><div class=”attr-value”> <div># Omnic name: 7_CZ0-100 Pd_5<br/> # Filename: 7_CZ0-100_Pd_5.SPA</div></div></div> <div class=”scp-output section”><div class=”attr-name”> history</div><div>:</div><div class=”attr-value”> <div>2025-04-27 01:45:33+00:00> Imported from spa file(s)<br/> 2025-04-27 01:45:33+00:00> Data processing history from Omnic :<br/> ————————————<br/> Acquisition échantillon
<br/> Background acquis le Jeu Nov 29 17:36:59 2018 (GMT+01:00) <br/> Format Final : Absorbance <br/> Résolution: 4,000 de 649,9207 à 5999,7134 <br/> Roue de validation: 0 <br/> Roue porte écran atténuation: Vide <br/> Numéro Série du banc:ALK1100494</div></div></div></details></div>
<div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[ 1.236 1.235 … 1.3 1.296]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:1, x:5549)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 5549</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 6000 5999 … 650.9 649.9] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> acquisition timestamp (GMT)</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[1.544e+09] s</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [[ 2018-11-29 16:46:56+00:00]<br/> [ /home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_5.SPA]]</div></details></div></details></div></div> <div class=’scp-output section’><div class=’scp-output’><details><summary>3: NDDataset: [float64] a.u. (shape: (y:1, x:5549))[7_CZ0-100 Pd_21]</summary><div class=”scp-output section”><details><summary>Summary</summary> <div class=”scp-output section”><div class=”attr-name”> name</div><div>:</div><div class=”attr-value”> 7_CZ0-100 Pd_21</div></div> <div class=”scp-output section”><div class=”attr-name”> author</div><div>:</div><div class=”attr-value”> runner@fv-az2211-104</div></div> <div class=”scp-output section”><div class=”attr-name”> created</div><div>:</div><div class=”attr-value”> 2025-04-27 01:45:33+00:00</div></div> <div class=”scp-output section”><div class=”attr-name”> description</div><div>:</div><div class=”attr-value”> <div># Omnic name: 7_CZ0-100 Pd_21<br/> # Filename: 7_CZ0-100_Pd_21.SPA</div></div></div> <div class=”scp-output section”><div class=”attr-name”> history</div><div>:</div><div class=”attr-value”> <div>2025-04-27 01:45:33+00:00> Imported from spa file(s)<br/> 2025-04-27 01:45:33+00:00> Data processing history from Omnic :<br/> ————————————<br/> Acquisition échantillon
<br/> Background acquis le Jeu Nov 29 20:48:01 2018 (GMT+01:00) <br/> Format Final : Absorbance <br/> Résolution: 4,000 de 649,9207 à 5999,7134 <br/> Roue de validation: 0 <br/> Roue porte écran atténuation: Vide <br/> Numéro Série du banc:ALK1100494</div></div></div></details></div>
<div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[ 1.234 1.233 … 1.291 1.288]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:1, x:5549)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 5549</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 6000 5999 … 650.9 649.9] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> acquisition timestamp (GMT)</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[1.544e+09] s</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [[ 2018-11-29 19:58:01+00:00]<br/> [ /home/runner/.spectrochempy/testdata/irdata/subdir/20-50/7_CZ0-100_Pd_21.SPA]]</div></details></div></details></div></div> <div class=’scp-output section’><div class=’scp-output’><details><summary>4: NDDataset: [float64] a.u. (shape: (y:1, x:5549))[7_CZ0-100 Pd_101]</summary><div class=”scp-output section”><details><summary>Summary</summary> <div class=”scp-output section”><div class=”attr-name”> name</div><div>:</div><div class=”attr-value”> 7_CZ0-100 Pd_101</div></div> <div class=”scp-output section”><div class=”attr-name”> author</div><div>:</div><div class=”attr-value”> runner@fv-az2211-104</div></div> <div class=”scp-output section”><div class=”attr-name”> created</div><div>:</div><div class=”attr-value”> 2025-04-27 01:45:33+00:00</div></div> <div class=”scp-output section”><div class=”attr-name”> description</div><div>:</div><div class=”attr-value”> <div># Omnic name: 7_CZ0-100 Pd_101<br/> # Filename: 7_CZ0-100_Pd_101.SPA</div></div></div> <div class=”scp-output section”><div class=”attr-name”> history</div><div>:</div><div class=”attr-value”> <div>2025-04-27 01:45:33+00:00> Imported from spa file(s)<br/> 2025-04-27 01:45:33+00:00> Data processing history from Omnic :<br/> ————————————<br/> Acquisition échantillon
<br/> Background acquis le Ven Nov 30 08:03:45 2018 (GMT+01:00) <br/> Format Final : Absorbance <br/> Résolution: 4,000 de 649,9207 à 5999,7134 <br/> Roue de validation: 0 <br/> Roue porte écran atténuation: Vide <br/> Numéro Série du banc:ALK1100494</div></div></div></details></div>
<div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[ 1.544 1.543 … 2.1 2.091]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:1, x:5549)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 5549</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 6000 5999 … 650.9 649.9] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> acquisition timestamp (GMT)</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[1.544e+09] s</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [[ 2018-11-30 07:10:57+00:00]<br/> [ /home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_101.SPA]]</div></details></div></details></div></div> <div class=’scp-output section’><div class=’scp-output’><details><summary>5: NDDataset: [float64] a.u. (shape: (y:1, x:5549))[7_CZ0-100 Pd_102]</summary><div class=”scp-output section”><details><summary>Summary</summary> <div class=”scp-output section”><div class=”attr-name”> name</div><div>:</div><div class=”attr-value”> 7_CZ0-100 Pd_102</div></div> <div class=”scp-output section”><div class=”attr-name”> author</div><div>:</div><div class=”attr-value”> runner@fv-az2211-104</div></div> <div class=”scp-output section”><div class=”attr-name”> created</div><div>:</div><div class=”attr-value”> 2025-04-27 01:45:33+00:00</div></div> <div class=”scp-output section”><div class=”attr-name”> description</div><div>:</div><div class=”attr-value”> <div># Omnic name: 7_CZ0-100 Pd_102<br/> # Filename: 7_CZ0-100_Pd_102.SPA</div></div></div> <div class=”scp-output section”><div class=”attr-name”> history</div><div>:</div><div class=”attr-value”> <div>2025-04-27 01:45:33+00:00> Imported from spa file(s)<br/> 2025-04-27 01:45:33+00:00> Data processing history from Omnic :<br/> ————————————<br/> Acquisition échantillon
<br/> Background acquis le Ven Nov 30 08:12:56 2018 (GMT+01:00) <br/> Format Final : Absorbance <br/> Résolution: 4,000 de 649,9207 à 5999,7134 <br/> Roue de validation: 0 <br/> Roue porte écran atténuation: Vide <br/> Numéro Série du banc:ALK1100494</div></div></div></details></div>
<div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[ 1.552 1.553 … 2.161 2.109]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:1, x:5549)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 5549</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 6000 5999 … 650.9 649.9] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> acquisition timestamp (GMT)</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[1.544e+09] s</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [[ 2018-11-30 07:22:52+00:00]<br/> [ /home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_102.SPA]]</div></details></div></details></div></div> <div class=’scp-output section’><div class=’scp-output’><details><summary>6: NDDataset: [float64] a.u. (shape: (y:1, x:5549))[7_CZ0-100 Pd_103]</summary><div class=”scp-output section”><details><summary>Summary</summary> <div class=”scp-output section”><div class=”attr-name”> name</div><div>:</div><div class=”attr-value”> 7_CZ0-100 Pd_103</div></div> <div class=”scp-output section”><div class=”attr-name”> author</div><div>:</div><div class=”attr-value”> runner@fv-az2211-104</div></div> <div class=”scp-output section”><div class=”attr-name”> created</div><div>:</div><div class=”attr-value”> 2025-04-27 01:45:33+00:00</div></div> <div class=”scp-output section”><div class=”attr-name”> description</div><div>:</div><div class=”attr-value”> <div># Omnic name: 7_CZ0-100 Pd_103<br/> # Filename: 7_CZ0-100_Pd_103.SPA</div></div></div> <div class=”scp-output section”><div class=”attr-name”> history</div><div>:</div><div class=”attr-value”> <div>2025-04-27 01:45:33+00:00> Imported from spa file(s)<br/> 2025-04-27 01:45:33+00:00> Data processing history from Omnic :<br/> ————————————<br/> Acquisition échantillon
<br/> Background acquis le Ven Nov 30 08:24:51 2018 (GMT+01:00) <br/> Format Final : Absorbance <br/> Résolution: 4,000 de 649,9207 à 5999,7134 <br/> Roue de validation: 0 <br/> Roue porte écran atténuation: Vide <br/> Numéro Série du banc:ALK1100494</div></div></div></details></div>
<div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[ 1.461 1.46 … 2.087 2.088]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:1, x:5549)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 5549</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 6000 5999 … 650.9 649.9] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> acquisition timestamp (GMT)</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[1.544e+09] s</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [[ 2018-11-30 07:34:49+00:00]<br/> [ /home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_103.SPA]]</div></details></div></details></div></div> <div class=’scp-output section’><div class=’scp-output’><details><summary>7: NDDataset: [float64] a.u. (shape: (y:1, x:5549))[7_CZ0-100 Pd_104]</summary><div class=”scp-output section”><details><summary>Summary</summary> <div class=”scp-output section”><div class=”attr-name”> name</div><div>:</div><div class=”attr-value”> 7_CZ0-100 Pd_104</div></div> <div class=”scp-output section”><div class=”attr-name”> author</div><div>:</div><div class=”attr-value”> runner@fv-az2211-104</div></div> <div class=”scp-output section”><div class=”attr-name”> created</div><div>:</div><div class=”attr-value”> 2025-04-27 01:45:33+00:00</div></div> <div class=”scp-output section”><div class=”attr-name”> description</div><div>:</div><div class=”attr-value”> <div># Omnic name: 7_CZ0-100 Pd_104<br/> # Filename: 7_CZ0-100_Pd_104.SPA</div></div></div> <div class=”scp-output section”><div class=”attr-name”> history</div><div>:</div><div class=”attr-value”> <div>2025-04-27 01:45:33+00:00> Imported from spa file(s)<br/> 2025-04-27 01:45:33+00:00> Data processing history from Omnic :<br/> ————————————<br/> Acquisition échantillon
<br/> Background acquis le Ven Nov 30 08:36:47 2018 (GMT+01:00) <br/> Format Final : Absorbance <br/> Résolution: 4,000 de 649,9207 à 5999,7134 <br/> Roue de validation: 0 <br/> Roue porte écran atténuation: Vide <br/> Numéro Série du banc:ALK1100494</div></div></div></details></div>
<div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[ 1.448 1.447 … 2.071 2.065]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:1, x:5549)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 5549</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 6000 5999 … 650.9 649.9] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> acquisition timestamp (GMT)</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[1.544e+09] s</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [[ 2018-11-30 07:46:44+00:00]<br/> [ /home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_104.SPA]]</div></details></div></details></div></div> <div class=’scp-output section’><div class=’scp-output’><details><summary>8: NDDataset: [float64] a.u. (shape: (y:335, x:1868))[dd_6.6_19039_538]</summary><div class=”scp-output section”><details><summary>Summary</summary> <div class=”scp-output section”><div class=”attr-name”> name</div><div>:</div><div class=”attr-value”> dd_6.6_19039_538</div></div> <div class=”scp-output section”><div class=”attr-name”> author</div><div>:</div><div class=”attr-value”> runner@fv-az2211-104</div></div> <div class=”scp-output section”><div class=”attr-name”> created</div><div>:</div><div class=”attr-value”> 2025-04-27 01:45:34+00:00</div></div> <div class=”scp-output section”><div class=”attr-name”> description</div><div>:</div><div class=”attr-value”> <div>Dataset from omnic srs file.</div></div></div></details></div> <div class=”scp-output section”><details><summary> Data </summary> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> absorbance</div></div> <div class=”scp-output section”><div class=”attr-name”> values</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’numeric’> [[-0.007524 -0.0003661 … 8.291e-05 9.239e-05]<br/> [-0.009306 -0.002252 … 0.0001051 0.000107]<br/> …<br/> [ 0.02474 0.02814 … 0.002962 0.002967]<br/> [ 0.02663 0.02899 … 0.002907 0.002916]] a.u.</div> <div class=”scp-output section”><div class=”attr-name”> shape</div><div>:</div><div class=”attr-value”> (y:335, x:1868)</div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `x`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 1868</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> wavenumbers</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 4000 3998 … 401.1 399.2] cm⁻¹</div></div></div></details></div> <div class=”scp-output section”><details><summary> Dimension `y`</summary> <div class=”scp-output section”><div class=”attr-name”> size</div><div>:</div><div class=”attr-value”> 335</div></div> <div class=”scp-output section”><div class=”attr-name”> title</div><div>:</div><div class=”attr-value”> Time</div></div> <div class=”scp-output section”><div class=”attr-name”> coordinates</div><div>:</div><div class=”attr-value”> <div class=’numeric’>[ 0.26 0.52 … 86.76 87.02] min</div></div></div> <div class=”scp-output section”><div class=”attr-name”> labels</div><div>:</div><div class=”attr-value”> … </div></div> <div class=’label’> [ Verknüpftes Spektrum bei 0,260 Min.<br/> Ë<br/> ÁØsúË<br/> t/ä<br/> /ä<br/> /ä<br/><br/><br/><br/> ±½@<br/> ö»Îö¿¹·j»D»t4»*<br/> »Ý©S»£°»ýóɺ-êÒº¿p»¢»<br/><br/> »[ýéºùH|»<br/> »Íu»ä䩺LÊкsöþºvÐmºÎG4ºC঺ÔͺÕ<br/> º¹¶:»ñ&Rº*<br/> Ò:Ý¿9WÅEºÓo<br/> ºB’ƺP|_º)ïQ9O̺Üìº-ºÁrï¹ç<br/> ±ºð¹¯ºqHºIKº Verknüpftes Spektrum bei 0,519 Min.<br/> Ë<br/> ÁØsúË<br/> t/ä<br/> /ä<br/> /ä<br/><br/><br/><br/> îÂ@<br/> y¼»¾¯^¹¸:¸4êº=x»ØÃ1»¼-øºÿɺÓź[L»×<br/><br/> »£Êp»Õ@»¤(»ë𢹱w 95ºÍ9ÔºÓ೺OuºÔ<br/> ܹºm¼BºâÞå7ÛÍ9Mº,ºJq:ò49 jZºLÛº¬ëºÃi¹;ý:ì) º)vº¡ê¹xÕ½·?³º©ëÁºÀ<br/> ºó(<br/> ¹ …<br/> Verknüpftes Spektrum bei 86,756 Min.<br/> Ë<br/> ÁØsúË<br/> t/ä<br/> /ä<br/> /ä<br/><br/><br/><br/> ã!@<br/> ¡Ê<Læ<ä<#n<<g<³U<èx”<sw<¿`<Z=<§;6G<åO/<ñÈ÷;*ß<<br/> r<lf<br/> <«><<br/> é;òÙ;<br/> <â½Ä;²;ÿÐæ;¤ññ;°Í¹;¡´;ÛYÎ;?å;Þ¦ò;²ø§;hAe;°TÉ;ó÷Ì;dK;úºY;ÛýÀ;j8;ïkª;#G;¸Û;Öþ;<br/> Verknüpftes Spektrum bei 87,016 Min.<br/> Ë<br/> ÁØsúË<br/> t/ä<br/> /ä<br/> /ä<br/><br/><br/><br/> 0+@<br/> +1Ú<9}í<<I0<·¦<ú2<¬Çe<Nï<|î;32_<VK-<Gú;<br/> B <µ*<;µÖ;ÓÆ”<ss<«<7<br/> <½²ò;ç<àP<ãâ;4Å;vüö;ÑMà;·S;M;HÃà;¾cö;M¶ü;C;Ö[#;3Ó;*Ûæ;6;ýH;R±Ã;ÍN;í;j7;oÚ;ú;]</div></details></div></details></div></div> </details></div>
and we allow merging them:
[11]:
scp.read_dir(folder, recursive=True)
[11]:
List (len=2, type=NDDataset)
0: NDDataset: [float64] a.u. (shape: (y:335, x:1868))[dd_6.6_19039_538]
Summary
( dd_6.6_19039_538 )
2025-04-27 01:45:34+00:00> Merged from several files
Data
[-0.009306 -0.002252 ... 0.0001051 0.000107]
...
[ 0.02474 0.02814 ... 0.002962 0.002967]
[ 0.02663 0.02899 ... 0.002907 0.002916]] a.u.
Dimension `x`
Dimension `y`
Ë
ÁØsúË
t/ä
/ä
/ä
±½@
ö»Îö¿¹·j»D»t4»*
»Ý©S»£°»ýóɺ-êÒº¿p»¢»
»[ýéºùH|»
»Íu»ä䩺LÊкsöþºvÐmºÎG4ºC঺ÔͺÕ
º¹¶:»ñ&Rº*
Ò:Ý¿9WÅEºÓo
ºB'ƺP|_º)ïQ9O̺Üìº-ºÁrï¹ç
±ºð¹¯ºqHºIKº Verknüpftes Spektrum bei 0,519 Min.
Ë
ÁØsúË
t/ä
/ä
/ä
îÂ@
y¼»¾¯^¹¸:¸4êº=x»ØÃ1»¼-øºÿɺÓź[L»×
»£Êp»Õ@»¤(»ë𢹱w 95ºÍ9ÔºÓ೺OuºÔ
ܹºm¼BºâÞå7ÛÍ9Mº,ºJq:ò49 jZºLÛº¬ëºÃi¹;ý:ì) º)vº¡ê¹xÕ½·?³º©ëÁºÀ
ºó(
¹ ...
Verknüpftes Spektrum bei 86,756 Min.
Ë
ÁØsúË
t/ä
/ä
/ä
ã!@
¡Ê
é;òÙ;\
<â½Ä;²;ÿÐæ;¤ññ;°Í¹;¡´;ÛYÎ;?å;Þ¦ò;²ø§;hAe;°TÉ;ó÷Ì;dK;úºY;ÛýÀ;j8;ïkª;#G;¸Û;Öþ;
Verknüpftes Spektrum bei 87,016 Min.
Ë
ÁØsúË
t/ä
/ä
/ä
0+@
+1Ú<9}í<
1: NDDataset: [float64] a.u. (shape: (y:8, x:5549))[7_CZ0-100 Pd_104]
Summary
( 7_CZ0-100 Pd_104 )
2025-04-27 01:45:34+00:00> Merged from several files
Data
[ 1.245 1.245 ... 1.302 1.299]
...
[ 1.461 1.46 ... 2.087 2.088]
[ 1.448 1.447 ... 2.071 2.065]] a.u.
Dimension `x`
Dimension `y`
[ /home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_3.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_4.SPA ...
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_103.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_104.SPA]]
As the 8 .spa
files are compatible, they are merged into a single NDDataset
object. The .srs
file is read separately.
Specific reader can equivalently read folder recursively:
[12]:
scp.read_omnic(folder, recursive=True)
[12]:
List (len=2, type=NDDataset)
0: NDDataset: [float64] a.u. (shape: (y:335, x:1868))[dd_6.6_19039_538]
Summary
( dd_6.6_19039_538 )
2025-04-27 01:45:34+00:00> Merged from several files
Data
[-0.009306 -0.002252 ... 0.0001051 0.000107]
...
[ 0.02474 0.02814 ... 0.002962 0.002967]
[ 0.02663 0.02899 ... 0.002907 0.002916]] a.u.
Dimension `x`
Dimension `y`
Ë
ÁØsúË
t/ä
/ä
/ä
±½@
ö»Îö¿¹·j»D»t4»*
»Ý©S»£°»ýóɺ-êÒº¿p»¢»
»[ýéºùH|»
»Íu»ä䩺LÊкsöþºvÐmºÎG4ºC঺ÔͺÕ
º¹¶:»ñ&Rº*
Ò:Ý¿9WÅEºÓo
ºB'ƺP|_º)ïQ9O̺Üìº-ºÁrï¹ç
±ºð¹¯ºqHºIKº Verknüpftes Spektrum bei 0,519 Min.
Ë
ÁØsúË
t/ä
/ä
/ä
îÂ@
y¼»¾¯^¹¸:¸4êº=x»ØÃ1»¼-øºÿɺÓź[L»×
»£Êp»Õ@»¤(»ë𢹱w 95ºÍ9ÔºÓ೺OuºÔ
ܹºm¼BºâÞå7ÛÍ9Mº,ºJq:ò49 jZºLÛº¬ëºÃi¹;ý:ì) º)vº¡ê¹xÕ½·?³º©ëÁºÀ
ºó(
¹ ...
Verknüpftes Spektrum bei 86,756 Min.
Ë
ÁØsúË
t/ä
/ä
/ä
ã!@
¡Ê
é;òÙ;\
<â½Ä;²;ÿÐæ;¤ññ;°Í¹;¡´;ÛYÎ;?å;Þ¦ò;²ø§;hAe;°TÉ;ó÷Ì;dK;úºY;ÛýÀ;j8;ïkª;#G;¸Û;Öþ;
Verknüpftes Spektrum bei 87,016 Min.
Ë
ÁØsúË
t/ä
/ä
/ä
0+@
+1Ú<9}í<
1: NDDataset: [float64] a.u. (shape: (y:8, x:5549))[7_CZ0-100 Pd_104]
Summary
( 7_CZ0-100 Pd_104 )
2025-04-27 01:45:34+00:00> Merged from several files
Data
[ 1.245 1.245 ... 1.302 1.299]
...
[ 1.461 1.46 ... 2.087 2.088]
[ 1.448 1.447 ... 2.071 2.065]] a.u.
Dimension `x`
Dimension `y`
[ /home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_3.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_4.SPA ...
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_103.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_104.SPA]]
Let’s see an example with the pattern
option:
We read all files in the DATADIR/irdata/subdir/
directory and its subdirectories, but only those with the .spa
extension and whose name contains the string 4
:
[13]:
scp.read_dir(folder, recursive=True, pattern="*4*")
[13]:
NDDataset: [float64] a.u. (shape: (y:2, x:5549))[7_CZ0-100 Pd_104]
Summary
( 7_CZ0-100 Pd_4, 7_CZ0-100 Pd_104 )
2025-04-27 01:45:34+00:00> Merged from several files
Data
[ 1.448 1.447 ... 2.071 2.065]] a.u.
Dimension `x`
Dimension `y`
[ /home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_4.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_104.SPA]]
The above pattern “*4*” match only two files which are then merged and returned as a single NDDataset
object.
This pattern
option is obviously interesting to select only a type of extension:
[14]:
scp.read_dir(folder, recursive=True, pattern="*.spa")
[14]:
NDDataset: [float64] a.u. (shape: (y:8, x:5549))[7_CZ0-100 Pd_104]
Summary
( 7_CZ0-100 Pd_3, 7_CZ0-100 Pd_4, 7_CZ0-100 Pd_5, 7_CZ0-100 Pd_21, 7_CZ0-100 Pd_101, 7_CZ0-100 Pd_102, 7_CZ0-100 Pd_103, 7_CZ0-100 Pd_104 )
2025-04-27 01:45:34+00:00> Merged from several files
Data
[ 1.245 1.245 ... 1.302 1.299]
...
[ 1.461 1.46 ... 2.087 2.088]
[ 1.448 1.447 ... 2.071 2.065]] a.u.
Dimension `x`
Dimension `y`
[ /home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_3.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_4.SPA ...
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_103.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_104.SPA]]
[15]:
scp.read(folder, recursive=True, pattern="*.spa") # equivalent
[15]:
NDDataset: [float64] a.u. (shape: (y:8, x:5549))[7_CZ0-100 Pd_104]
Summary
( 7_CZ0-100 Pd_3, 7_CZ0-100 Pd_4, 7_CZ0-100 Pd_5, 7_CZ0-100 Pd_21, 7_CZ0-100 Pd_101, 7_CZ0-100 Pd_102, 7_CZ0-100 Pd_103, 7_CZ0-100 Pd_104 )
2025-04-27 01:45:34+00:00> Merged from several files
Data
[ 1.245 1.245 ... 1.302 1.299]
...
[ 1.461 1.46 ... 2.087 2.088]
[ 1.448 1.447 ... 2.071 2.065]] a.u.
Dimension `x`
Dimension `y`
[ /home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_3.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_4.SPA ...
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_103.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_104.SPA]]
[16]:
scp.read_omnic(folder, recursive=True, pattern="*4.spa") # equivalent
[16]:
NDDataset: [float64] a.u. (shape: (y:2, x:5549))[7_CZ0-100 Pd_104]
Summary
( 7_CZ0-100 Pd_4, 7_CZ0-100 Pd_104 )
2025-04-27 01:45:34+00:00> Merged from several files
Data
[ 1.448 1.447 ... 2.071 2.065]] a.u.
Dimension `x`
Dimension `y`
[ /home/runner/.spectrochempy/testdata/irdata/subdir/1-20/7_CZ0-100_Pd_4.SPA
/home/runner/.spectrochempy/testdata/irdata/subdir/7_CZ0-100_Pd_104.SPA]]
This way the “.srs” file is ignored.
Reading files from a ZIP archive
The read_zip
function is designed to read files from a ZIP archive. It can be used to read a single file or all files in the archive. As usual, by default all files are merged. The merge
keyword can be used to read the files separately.
[17]:
scp.read(
"https://eigenvector.com/wp-content/uploads/2019/06/corn.mat_.zip", merge=False
)
The mat file contains an array of strings named 'information' which will not be converted to NDDataset
[17]:
List (len=7, type=NDDataset)
0: NDDataset: [float64] unitless (shape: (y:3, x:700))[m5nbs]
Summary
2025-04-27 01:45:35+00:00> Imported by spectrochempy.
Data
[ 0.1374 0.1354 ... 0.09898 0.09999]
[ 0.1437 0.1416 ... 0.1037 0.1048]]
Dimension `x`
Dimension `y`
1: NDDataset: [float64] unitless (shape: (y:4, x:700))[mp5nbs]
Summary
2025-04-27 01:45:35+00:00> Imported by spectrochempy.
Data
[ 0.06031 0.05819 ... 0.02807 0.02892]
[ 0.06189 0.05965 ... 0.03215 0.03299]
[ 0.06115 0.05901 ... 0.03013 0.03099]]
Dimension `x`
Dimension `y`
2: NDDataset: [float64] unitless (shape: (y:4, x:700))[mp6nbs]
Summary
2025-04-27 01:45:35+00:00> Imported by spectrochempy.
Data
[ 0.05388 0.05223 ... 0.02187 0.02277]
[ 0.05238 0.05069 ... 0.02207 0.02295]
[ 0.05311 0.05144 ... 0.02195 0.02284]]
Dimension `x`
Dimension `y`
3: NDDataset: [float64] unitless (shape: (y:80, x:4))[propvals]
Summary
2025-04-27 01:45:35+00:00> Imported by spectrochempy.
Data
[ 10.41 3.72 8.658 64.85]
...
[ 10.59 3.176 8.132 65.21]
[ 10.98 3.328 8.428 64.85]]
Dimension `x`
Dimension `y`
4: NDDataset: [float64] unitless (shape: (y:80, x:700))[m5spec]
Summary
2025-04-27 01:45:35+00:00> Imported by spectrochempy.
Data
[ 0.0465 0.04635 ... 0.7275 0.727]
...
[ 0.05944 0.05932 ... 0.7362 0.7357]
[ 0.05009 0.04993 ... 0.7289 0.7282]]
Dimension `x`
Dimension `y`
5: NDDataset: [float64] unitless (shape: (y:80, x:700))[mp5spec]
Summary
2025-04-27 01:45:35+00:00> Imported by spectrochempy.
Data
[-0.01419 -0.01425 ... 0.6924 0.6919]
...
[0.005116 0.00504 ... 0.6979 0.6976]
[-0.003701 -0.003818 ... 0.7128 0.7121]]
Dimension `x`
Dimension `y`
6: NDDataset: [float64] unitless (shape: (y:80, x:700))[mp6spec]
Summary
2025-04-27 01:45:35+00:00> Imported by spectrochempy.
Data
[-0.02192 -0.02206 ... 0.6826 0.6822]
...
[-0.006796 -0.006888 ... 0.6899 0.6891]
[-0.01526 -0.01538 ... 0.7028 0.7021]]