Note
Go to the end to download the full example code.
EELS curve fitting#
Performs curve fitting to an EELS spectrum, plots the result and saves it as png file.

0%| | 0.00/42.3M [00:00<?, ?B/s]
0%| | 14.3k/42.3M [00:00<05:33, 127kB/s]
0%| | 38.9k/42.3M [00:00<03:56, 179kB/s]
0%| | 106k/42.3M [00:00<01:54, 368kB/s]
1%|▏ | 217k/42.3M [00:00<01:09, 605kB/s]
1%|▍ | 472k/42.3M [00:00<00:35, 1.19MB/s]
2%|▉ | 979k/42.3M [00:00<00:17, 2.30MB/s]
5%|█▋ | 1.96M/42.3M [00:00<00:09, 4.35MB/s]
9%|███▍ | 3.92M/42.3M [00:00<00:04, 8.43MB/s]
18%|██████▋ | 7.70M/42.3M [00:01<00:02, 16.0MB/s]
27%|█████████▉ | 11.3M/42.3M [00:01<00:01, 20.7MB/s]
34%|████████████▋ | 14.4M/42.3M [00:01<00:01, 22.6MB/s]
42%|███████████████▋ | 17.9M/42.3M [00:01<00:00, 24.9MB/s]
51%|██████████████████▊ | 21.6M/42.3M [00:01<00:00, 27.0MB/s]
58%|█████████████████████▌ | 24.7M/42.3M [00:01<00:00, 27.1MB/s]
65%|████████████████████████ | 27.5M/42.3M [00:01<00:00, 26.4MB/s]
74%|███████████████████████████▍ | 31.3M/42.3M [00:01<00:00, 28.4MB/s]
82%|██████████████████████████████▏ | 34.5M/42.3M [00:01<00:00, 28.2MB/s]
89%|████████████████████████████████▉ | 37.6M/42.3M [00:02<00:00, 27.8MB/s]
97%|███████████████████████████████████▉ | 41.1M/42.3M [00:02<00:00, 28.6MB/s]
0%| | 0.00/42.3M [00:00<?, ?B/s]
100%|██████████████████████████████████████| 42.3M/42.3M [00:00<00:00, 272GB/s]
0%| | 0.00/66.1M [00:00<?, ?B/s]
0%| | 15.4k/66.1M [00:00<08:16, 133kB/s]
0%| | 48.1k/66.1M [00:00<04:56, 223kB/s]
0%| | 117k/66.1M [00:00<02:47, 395kB/s]
0%|▏ | 241k/66.1M [00:00<01:38, 667kB/s]
1%|▎ | 519k/66.1M [00:00<00:50, 1.31MB/s]
2%|▌ | 1.06M/66.1M [00:00<00:26, 2.47MB/s]
3%|█▏ | 2.15M/66.1M [00:00<00:13, 4.79MB/s]
7%|██▍ | 4.33M/66.1M [00:00<00:06, 9.33MB/s]
12%|████▎ | 7.68M/66.1M [00:01<00:03, 15.5MB/s]
17%|██████▏ | 11.0M/66.1M [00:01<00:02, 19.5MB/s]
22%|████████ | 14.4M/66.1M [00:01<00:02, 22.6MB/s]
27%|█████████▉ | 17.8M/66.1M [00:01<00:01, 24.6MB/s]
32%|███████████▊ | 21.0M/66.1M [00:01<00:01, 25.7MB/s]
37%|█████████████▊ | 24.6M/66.1M [00:01<00:01, 27.4MB/s]
43%|███████████████▊ | 28.2M/66.1M [00:01<00:01, 28.6MB/s]
48%|█████████████████▋ | 31.6M/66.1M [00:01<00:01, 29.1MB/s]
53%|███████████████████▋ | 35.2M/66.1M [00:01<00:01, 29.8MB/s]
59%|█████████████████████▋ | 38.8M/66.1M [00:02<00:00, 30.2MB/s]
64%|███████████████████████▌ | 42.2M/66.1M [00:02<00:00, 30.1MB/s]
70%|█████████████████████████▊ | 46.0M/66.1M [00:02<00:00, 31.1MB/s]
75%|███████████████████████████▌ | 49.3M/66.1M [00:02<00:00, 30.4MB/s]
80%|█████████████████████████████▌ | 52.7M/66.1M [00:02<00:00, 31.4MB/s]
85%|███████████████████████████████▎ | 55.9M/66.1M [00:02<00:00, 30.2MB/s]
89%|████████████████████████████████▉ | 58.9M/66.1M [00:02<00:00, 29.3MB/s]
94%|██████████████████████████████████▊ | 62.2M/66.1M [00:02<00:00, 28.7MB/s]
99%|████████████████████████████████████▌| 65.2M/66.1M [00:02<00:00, 28.0MB/s]
0%| | 0.00/66.1M [00:00<?, ?B/s]
100%|██████████████████████████████████████| 66.1M/66.1M [00:00<00:00, 417GB/s]
import hyperspy.api as hs
s = hs.load("coreloss_spectrum.msa", signal_type="EELS")
low_loss = hs.load("lowloss_spectrum.msa", signal_type="EELS")
s.add_elements(("Mn", "O"))
s.set_microscope_parameters(
beam_energy=300, convergence_angle=24.6, collection_angle=13.6
)
m = s.create_model(low_loss=low_loss)
m.enable_fine_structure()
m.multifit(kind="smart")
m.plot()
# one can also use the Dirac GOS by specifying the GOS parameter
m = s.create_model(low_loss=low_loss, GOS="dirac")
m.enable_fine_structure()
m.multifit(kind="smart")
m.plot()
Total running time of the script: (0 minutes 14.257 seconds)