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%| | 3.07k/42.3M [00:00<23:09, 30.4kB/s]
0%| | 84.0k/42.3M [00:00<01:47, 394kB/s]
1%|▏ | 225k/42.3M [00:00<01:03, 666kB/s]
1%|▌ | 612k/42.3M [00:00<00:24, 1.70MB/s]
3%|█▏ | 1.30M/42.3M [00:00<00:12, 3.33MB/s]
6%|██▏ | 2.51M/42.3M [00:00<00:06, 6.06MB/s]
11%|████ | 4.71M/42.3M [00:00<00:03, 11.0MB/s]
21%|███████▋ | 8.77M/42.3M [00:00<00:01, 20.0MB/s]
28%|██████████▌ | 12.0M/42.3M [00:01<00:01, 21.2MB/s]
35%|█████████████ | 15.0M/42.3M [00:01<00:01, 23.4MB/s]
42%|███████████████▌ | 17.8M/42.3M [00:01<00:00, 24.8MB/s]
51%|██████████████████▉ | 21.6M/42.3M [00:01<00:00, 28.7MB/s]
59%|█████████████████████▉ | 25.0M/42.3M [00:01<00:00, 30.2MB/s]
66%|████████████████████████▌ | 28.1M/42.3M [00:01<00:00, 30.3MB/s]
74%|███████████████████████████▎ | 31.3M/42.3M [00:01<00:00, 30.8MB/s]
82%|██████████████████████████████▏ | 34.5M/42.3M [00:01<00:00, 31.4MB/s]
90%|█████████████████████████████████▏ | 38.0M/42.3M [00:01<00:00, 32.2MB/s]
97%|████████████████████████████████████ | 41.2M/42.3M [00:01<00:00, 32.3MB/s]
0%| | 0.00/42.3M [00:00<?, ?B/s]
100%|██████████████████████████████████████| 42.3M/42.3M [00:00<00:00, 221GB/s]
0%| | 0.00/66.1M [00:00<?, ?B/s]
0%| | 35.8k/66.1M [00:00<03:56, 280kB/s]
0%| | 110k/66.1M [00:00<02:45, 398kB/s]
0%|▏ | 236k/66.1M [00:00<02:03, 535kB/s]
1%|▎ | 479k/66.1M [00:00<01:17, 850kB/s]
1%|▍ | 676k/66.1M [00:00<01:11, 916kB/s]
1%|▌ | 904k/66.1M [00:01<01:04, 1.01MB/s]
2%|▋ | 1.12M/66.1M [00:01<01:02, 1.05MB/s]
2%|▋ | 1.30M/66.1M [00:01<01:04, 1.01MB/s]
2%|▊ | 1.54M/66.1M [00:01<00:59, 1.09MB/s]
3%|▉ | 1.76M/66.1M [00:01<00:58, 1.10MB/s]
3%|█ | 1.98M/66.1M [00:02<00:56, 1.13MB/s]
3%|█▏ | 2.20M/66.1M [00:02<00:57, 1.12MB/s]
4%|█▎ | 2.38M/66.1M [00:02<00:59, 1.06MB/s]
4%|█▍ | 2.67M/66.1M [00:02<00:52, 1.21MB/s]
4%|█▌ | 2.87M/66.1M [00:02<00:54, 1.15MB/s]
5%|█▋ | 3.05M/66.1M [00:02<00:58, 1.08MB/s]
5%|█▊ | 3.16M/66.1M [00:03<00:57, 1.09MB/s]
5%|█▉ | 3.38M/66.1M [00:03<00:47, 1.32MB/s]
5%|█▉ | 3.52M/66.1M [00:03<00:56, 1.11MB/s]
6%|██ | 3.72M/66.1M [00:03<00:58, 1.07MB/s]
6%|██▏ | 3.95M/66.1M [00:03<00:46, 1.33MB/s]
6%|██▎ | 4.11M/66.1M [00:03<00:53, 1.15MB/s]
6%|██▎ | 4.24M/66.1M [00:03<00:53, 1.16MB/s]
7%|██▌ | 4.50M/66.1M [00:04<00:41, 1.48MB/s]
7%|██▋ | 4.75M/66.1M [00:04<00:43, 1.41MB/s]
8%|██▊ | 5.07M/66.1M [00:04<00:40, 1.52MB/s]
8%|██▉ | 5.30M/66.1M [00:04<00:43, 1.41MB/s]
8%|███ | 5.53M/66.1M [00:04<00:45, 1.33MB/s]
9%|███▏ | 5.74M/66.1M [00:05<00:47, 1.26MB/s]
9%|███▎ | 5.99M/66.1M [00:05<00:47, 1.27MB/s]
9%|███▌ | 6.27M/66.1M [00:05<00:45, 1.32MB/s]
10%|███▋ | 6.51M/66.1M [00:05<00:45, 1.31MB/s]
10%|███▊ | 6.81M/66.1M [00:05<00:43, 1.37MB/s]
11%|███▉ | 7.04M/66.1M [00:05<00:44, 1.32MB/s]
11%|████▏ | 7.38M/66.1M [00:06<00:40, 1.46MB/s]
12%|████▎ | 7.61M/66.1M [00:06<00:42, 1.38MB/s]
12%|████▍ | 7.84M/66.1M [00:06<00:44, 1.32MB/s]
12%|████▌ | 8.12M/66.1M [00:06<00:42, 1.36MB/s]
13%|████▋ | 8.38M/66.1M [00:06<00:42, 1.36MB/s]
13%|████▊ | 8.62M/66.1M [00:07<00:43, 1.33MB/s]
13%|████▉ | 8.88M/66.1M [00:07<00:42, 1.33MB/s]
14%|█████ | 9.08M/66.1M [00:07<00:46, 1.23MB/s]
14%|█████▏ | 9.33M/66.1M [00:07<00:45, 1.24MB/s]
14%|█████▎ | 9.54M/66.1M [00:07<00:47, 1.20MB/s]
15%|█████▌ | 9.66M/66.1M [00:08<01:12, 781kB/s]
15%|█████▋ | 9.83M/66.1M [00:08<01:09, 814kB/s]
15%|█████▊ | 10.0M/66.1M [00:08<01:03, 888kB/s]
15%|█████▉ | 10.2M/66.1M [00:08<01:00, 924kB/s]
16%|█████▉ | 10.4M/66.1M [00:09<01:00, 928kB/s]
16%|██████ | 10.7M/66.1M [00:09<00:55, 998kB/s]
17%|██████▏ | 11.0M/66.1M [00:09<00:45, 1.20MB/s]
17%|██████▎ | 11.2M/66.1M [00:09<00:44, 1.22MB/s]
17%|██████▍ | 11.4M/66.1M [00:09<00:46, 1.17MB/s]
18%|██████▌ | 11.6M/66.1M [00:10<00:47, 1.15MB/s]
18%|██████▋ | 11.9M/66.1M [00:10<00:43, 1.26MB/s]
18%|██████▊ | 12.2M/66.1M [00:10<00:43, 1.24MB/s]
19%|██████▉ | 12.4M/66.1M [00:10<00:45, 1.17MB/s]
19%|███████ | 12.6M/66.1M [00:10<00:44, 1.20MB/s]
19%|███████▏ | 12.9M/66.1M [00:11<00:42, 1.25MB/s]
20%|███████▍ | 13.2M/66.1M [00:11<00:36, 1.43MB/s]
20%|███████▌ | 13.5M/66.1M [00:11<00:32, 1.61MB/s]
21%|███████▋ | 13.6M/66.1M [00:11<00:38, 1.37MB/s]
21%|███████▊ | 13.9M/66.1M [00:11<00:36, 1.44MB/s]
21%|███████▉ | 14.2M/66.1M [00:11<00:37, 1.39MB/s]
22%|████████ | 14.3M/66.1M [00:11<00:37, 1.40MB/s]
22%|████████▏ | 14.5M/66.1M [00:12<00:40, 1.28MB/s]
22%|████████▎ | 14.8M/66.1M [00:12<00:40, 1.28MB/s]
23%|████████▍ | 15.1M/66.1M [00:12<00:36, 1.39MB/s]
23%|████████▌ | 15.3M/66.1M [00:12<00:36, 1.38MB/s]
24%|████████▋ | 15.6M/66.1M [00:12<00:36, 1.40MB/s]
24%|████████▊ | 15.8M/66.1M [00:13<00:39, 1.28MB/s]
24%|████████▉ | 16.0M/66.1M [00:13<00:41, 1.20MB/s]
25%|█████████ | 16.2M/66.1M [00:13<00:41, 1.20MB/s]
25%|█████████▏ | 16.5M/66.1M [00:13<00:41, 1.20MB/s]
25%|█████████▍ | 16.8M/66.1M [00:13<00:37, 1.32MB/s]
26%|█████████▌ | 17.0M/66.1M [00:14<00:36, 1.33MB/s]
26%|█████████▋ | 17.3M/66.1M [00:14<00:37, 1.29MB/s]
26%|█████████▊ | 17.5M/66.1M [00:14<00:38, 1.26MB/s]
27%|█████████▉ | 17.8M/66.1M [00:14<00:37, 1.29MB/s]
27%|██████████ | 18.0M/66.1M [00:14<00:38, 1.25MB/s]
28%|██████████▏ | 18.2M/66.1M [00:15<00:38, 1.23MB/s]
28%|██████████▎ | 18.4M/66.1M [00:15<00:39, 1.20MB/s]
28%|██████████▍ | 18.7M/66.1M [00:15<00:37, 1.27MB/s]
29%|██████████▌ | 19.0M/66.1M [00:15<00:36, 1.30MB/s]
29%|██████████▊ | 19.3M/66.1M [00:15<00:33, 1.39MB/s]
30%|██████████▉ | 19.5M/66.1M [00:16<00:35, 1.33MB/s]
30%|███████████ | 19.8M/66.1M [00:16<00:33, 1.37MB/s]
30%|███████████▏ | 20.0M/66.1M [00:16<00:35, 1.31MB/s]
31%|███████████▎ | 20.3M/66.1M [00:16<00:33, 1.38MB/s]
31%|███████████▌ | 20.6M/66.1M [00:16<00:33, 1.35MB/s]
32%|███████████▋ | 20.8M/66.1M [00:16<00:33, 1.35MB/s]
32%|███████████▊ | 21.1M/66.1M [00:17<00:33, 1.33MB/s]
32%|███████████▉ | 21.3M/66.1M [00:17<00:36, 1.23MB/s]
33%|████████████ | 21.5M/66.1M [00:17<00:36, 1.22MB/s]
33%|████████████ | 21.7M/66.1M [00:17<00:34, 1.29MB/s]
33%|████████████▏ | 21.9M/66.1M [00:17<00:35, 1.23MB/s]
33%|████████████▎ | 22.1M/66.1M [00:18<00:37, 1.16MB/s]
34%|████████████▍ | 22.3M/66.1M [00:18<00:39, 1.12MB/s]
34%|████████████▌ | 22.4M/66.1M [00:18<00:41, 1.06MB/s]
34%|████████████▋ | 22.8M/66.1M [00:18<00:34, 1.25MB/s]
35%|████████████▉ | 23.0M/66.1M [00:18<00:33, 1.28MB/s]
35%|█████████████ | 23.3M/66.1M [00:18<00:29, 1.46MB/s]
35%|█████████████ | 23.4M/66.1M [00:19<00:34, 1.25MB/s]
36%|█████████████▏ | 23.6M/66.1M [00:19<00:35, 1.19MB/s]
36%|█████████████▍ | 24.1M/66.1M [00:19<00:26, 1.57MB/s]
37%|█████████████▋ | 24.5M/66.1M [00:19<00:24, 1.69MB/s]
37%|█████████████▊ | 24.8M/66.1M [00:19<00:24, 1.69MB/s]
38%|██████████████ | 25.1M/66.1M [00:20<00:25, 1.62MB/s]
38%|██████████████▏ | 25.4M/66.1M [00:20<00:25, 1.62MB/s]
39%|██████████████▎ | 25.6M/66.1M [00:20<00:26, 1.53MB/s]
39%|██████████████▌ | 25.9M/66.1M [00:20<00:26, 1.50MB/s]
40%|██████████████▋ | 26.2M/66.1M [00:20<00:25, 1.54MB/s]
40%|██████████████▊ | 26.4M/66.1M [00:21<00:27, 1.43MB/s]
41%|███████████████ | 26.8M/66.1M [00:21<00:24, 1.59MB/s]
41%|███████████████▏ | 27.1M/66.1M [00:21<00:26, 1.49MB/s]
41%|███████████████▎ | 27.3M/66.1M [00:21<00:23, 1.65MB/s]
43%|███████████████▊ | 28.2M/66.1M [00:21<00:12, 3.15MB/s]
44%|████████████████▍ | 29.4M/66.1M [00:21<00:07, 5.16MB/s]
48%|█████████████████▌ | 31.5M/66.1M [00:21<00:03, 8.96MB/s]
53%|███████████████████▋ | 35.2M/66.1M [00:21<00:01, 16.4MB/s]
58%|█████████████████████▍ | 38.4M/66.1M [00:22<00:01, 20.5MB/s]
63%|███████████████████████▎ | 41.7M/66.1M [00:22<00:01, 24.0MB/s]
68%|█████████████████████████ | 44.7M/66.1M [00:22<00:00, 25.8MB/s]
73%|██████████████████████████▊ | 48.0M/66.1M [00:22<00:00, 27.7MB/s]
79%|█████████████████████████████ | 51.9M/66.1M [00:22<00:00, 31.2MB/s]
84%|███████████████████████████████▏ | 55.7M/66.1M [00:22<00:00, 33.2MB/s]
90%|█████████████████████████████████▏ | 59.3M/66.1M [00:22<00:00, 34.0MB/s]
95%|███████████████████████████████████▏ | 62.9M/66.1M [00:22<00:00, 34.7MB/s]
0%| | 0.00/66.1M [00:00<?, ?B/s]
100%|██████████████████████████████████████| 66.1M/66.1M [00:00<00:00, 276GB/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 34.358 seconds)