summaryrefslogtreecommitdiff
path: root/python-pyxrd.spec
blob: bc840102740073c32544357462898c1204a465e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
%global _empty_manifest_terminate_build 0
Name:		python-PyXRD
Version:	0.8.4
Release:	1
Summary:	PyXRD is a python implementation of the matrix algorithm developed for the X-ray diffraction analysis of disordered lamellar structures
License:	BSD
URL:		http://github.org/mathijs-dumon/PyXRD
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/82/df/03984961d2af47c41f9d199230f0645f7131ca148e061f9870bf5606edfa/PyXRD-0.8.4.linux-x86_64.tar.gz
BuildArch:	noarch

Requires:	python3-setuptools
Requires:	python3-numpy
Requires:	python3-scipy
Requires:	python3-matplotlib
Requires:	python3-Pyro4
Requires:	python3-deap
Requires:	python3-cairocffi
Requires:	python3-pygobject

%description
PyXRD is a python implementation of the matrix algorithm for computer modeling
of X-ray diffraction (XRD) patterns of disordered lamellar structures.
It's goals are to:
 - provide an easy user-interface for end-users
 - provide basic tools for displaying and manipulating XRD patterns
 - produce high-quality (publication-grade) figures
 - make modelling of XRD patterns for mixed-layer clay minerals 'easy'
 - be free and open-source (open box instead of closed box model)
PyXRD was written with the multi-specimen full-profile fitting method in mind. 
A direct result is the ability to 'share' parameters among similar phases.
This allows for instance to have an air-dry and a glycolated illite-smectite 
share their coherent scattering domain size, but still have different basal 
spacings and interlayer compositions for the smectite component. Or play with
the di/tri-octahedral composition of a chlorite with ease.
Other features are (incomplete list):
 - Import/export several common XRD formats (.RD, .RAW, .CPI, ASCII)
 - Simple background subtraction/addition (linear or custom patterns)
 - Smoothing patterns and adding noise to patterns
 - Peak finding and annotating (markers)
 - Peak stripping and peak area calculation tools
 - Custom line colors, line widths, pattern positions, ...
 - Goniometer settings (wavelengths, geometry settings, ...)
 - Specimen settings (sample length, absorption, ...)
 - Automatic parameter refinement using several algorithms, e.g.:
    - L BFGS B
    - Brute Force
    - Covariation Matrix Adapation Evolutionary Strategy (CMA-ES; using DEAP 1.0)
    - Multiple Particle Swarm Optimization (MPSO; using DEAP 1.0)
    - Particle-swarm CMA-ES (PS-CMA-ES; using DEAP 1.0)
 - Scripting support

%package -n python3-PyXRD
Summary:	PyXRD is a python implementation of the matrix algorithm developed for the X-ray diffraction analysis of disordered lamellar structures
Provides:	python-PyXRD
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-PyXRD
PyXRD is a python implementation of the matrix algorithm for computer modeling
of X-ray diffraction (XRD) patterns of disordered lamellar structures.
It's goals are to:
 - provide an easy user-interface for end-users
 - provide basic tools for displaying and manipulating XRD patterns
 - produce high-quality (publication-grade) figures
 - make modelling of XRD patterns for mixed-layer clay minerals 'easy'
 - be free and open-source (open box instead of closed box model)
PyXRD was written with the multi-specimen full-profile fitting method in mind. 
A direct result is the ability to 'share' parameters among similar phases.
This allows for instance to have an air-dry and a glycolated illite-smectite 
share their coherent scattering domain size, but still have different basal 
spacings and interlayer compositions for the smectite component. Or play with
the di/tri-octahedral composition of a chlorite with ease.
Other features are (incomplete list):
 - Import/export several common XRD formats (.RD, .RAW, .CPI, ASCII)
 - Simple background subtraction/addition (linear or custom patterns)
 - Smoothing patterns and adding noise to patterns
 - Peak finding and annotating (markers)
 - Peak stripping and peak area calculation tools
 - Custom line colors, line widths, pattern positions, ...
 - Goniometer settings (wavelengths, geometry settings, ...)
 - Specimen settings (sample length, absorption, ...)
 - Automatic parameter refinement using several algorithms, e.g.:
    - L BFGS B
    - Brute Force
    - Covariation Matrix Adapation Evolutionary Strategy (CMA-ES; using DEAP 1.0)
    - Multiple Particle Swarm Optimization (MPSO; using DEAP 1.0)
    - Particle-swarm CMA-ES (PS-CMA-ES; using DEAP 1.0)
 - Scripting support

%package help
Summary:	Development documents and examples for PyXRD
Provides:	python3-PyXRD-doc
%description help
PyXRD is a python implementation of the matrix algorithm for computer modeling
of X-ray diffraction (XRD) patterns of disordered lamellar structures.
It's goals are to:
 - provide an easy user-interface for end-users
 - provide basic tools for displaying and manipulating XRD patterns
 - produce high-quality (publication-grade) figures
 - make modelling of XRD patterns for mixed-layer clay minerals 'easy'
 - be free and open-source (open box instead of closed box model)
PyXRD was written with the multi-specimen full-profile fitting method in mind. 
A direct result is the ability to 'share' parameters among similar phases.
This allows for instance to have an air-dry and a glycolated illite-smectite 
share their coherent scattering domain size, but still have different basal 
spacings and interlayer compositions for the smectite component. Or play with
the di/tri-octahedral composition of a chlorite with ease.
Other features are (incomplete list):
 - Import/export several common XRD formats (.RD, .RAW, .CPI, ASCII)
 - Simple background subtraction/addition (linear or custom patterns)
 - Smoothing patterns and adding noise to patterns
 - Peak finding and annotating (markers)
 - Peak stripping and peak area calculation tools
 - Custom line colors, line widths, pattern positions, ...
 - Goniometer settings (wavelengths, geometry settings, ...)
 - Specimen settings (sample length, absorption, ...)
 - Automatic parameter refinement using several algorithms, e.g.:
    - L BFGS B
    - Brute Force
    - Covariation Matrix Adapation Evolutionary Strategy (CMA-ES; using DEAP 1.0)
    - Multiple Particle Swarm Optimization (MPSO; using DEAP 1.0)
    - Particle-swarm CMA-ES (PS-CMA-ES; using DEAP 1.0)
 - Scripting support

%prep
%autosetup -n PyXRD-0.8.4

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-PyXRD -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.4-1
- Package Spec generated