-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathCHANGELOG
264 lines (264 loc) · 10.8 KB
/
CHANGELOG
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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
4.2.0
- feat: new model "power_layer_clifford_2009"
- ref: migrate from pkg_resources to importlib.resources
4.1.1
- fix: incorrect reversion of insertion in sys.path when registering a model
4.1.0
- ref: move to "src"-rooted source tree
- ref: move iterative `sneddon_spher` model to separate package which
makes nanite a pure Python package
4.0.0
- BREAKING CHANGE: Due to the new imputation of nan-valued features,
rating inference might change slightly. For the "zef18" dataset,
inference was off by about 0.1 on average.
- fix: bad data caused TypeError in numpy.polynomial (#25)
- enh: impute nan-valued feature data if corresponding response was 0
- enh: allow empty-valued groups in rating HDF5 file
- enh: when encountering inf values in a training set, replace them
with twice the maxium of that feature
3.7.3
- setup: wrong package setup
3.7.2
- setup: wrong package setup
3.7.1
- setup: wrong package setup
3.7.0
- feat: subtract linear slope from indentation curve (#22)
- ref: return normalization reference type for details from POC and preproc
- setup: bump scipy to 1.10.0 due to memory leak vulnerability
3.6.0
- tests: make tests less strict and some cleanup
- setup: drop support for Python 3.8 and 3.9
- setup: bump h5py from 2.8.0 to 3.9.0
- build: migrate to pyproject.toml
- ci: use cibuildwheel for releases
3.5.4
- setup: drop support for Python 3.7
3.5.3
- setup: bump numpy to 1.22.0
3.5.2
- build: add wheels for Python up to 3.11
- ref: fix DeprecationWarnings
- docs: make docs build on Windows
- docs: update GH actions badge
- tests: loosen np.allclose calls
3.5.1
- docs: minor update
3.5.0
- feat: allow to specify geometric correction factor k during fit
(tip position is multiplied by k and contact point is modified
directly before and after fit)
3.4.0
- feat: allow to load fitting models from external Python files
- enh: add method to deregister NaniteFitModels
3.3.1
- docs: added some clarifications in the model docs
- enh: check for leading/trailing spaces in models
- enh: add more checks during loading models
3.3.0
- feat: introduce new NaniteFitModel class
- ref: deprecated get_anc_parms in favor of compute_anc_parms
- docs: add more information on how to write own model functions
3.2.1
- enh: more sensible default parameters for POC estimation fits
3.2.0
- feat: allow specifying the minimizer method for fitting (#21)
- feat: new contact point estimation with linear fit for baseline
and polynomial fit for indentation part
- feat: new contact point estimation with Fréchet distance between
curve and direct path in normalized coordinates
- tests: rename experimental test data files according to
afmformats scheme (#20)
3.1.4
- docs: preprocessing methods not correctly rendered
3.1.3
- fix: make sure that AFM metadata contain the spring constant and
raise a MissingMetaDataError if this is not the case
- ref: deprecate `IndentationPreprocessor` class in favor of a more
flat submodule (#17)
3.1.2
- docs: add POC table to docs
3.1.1
- fix: do not modify preprocessing options when applying them (create
a copy of the dictionary)
- ref: remove `Indentation.reset` in favor of `AFMData.reset_data`
3.1.0
- feat: new contact point estimation method "fit_constant_polynomial"
which applies a piece-wise constant and polynomial fit
- feat: contact point estimation methods now return detailed
information about the procedure (currently plottable data to
understand the process)
- fix: spatial smoothing not working in some cases (#15)
- enh: add `steps_optional` in preprocessing to allow fine-grained
control about order of application
- ref: remove "...smoothed" column data (which was never used anyway);
instead, apply smoothing directly to AFMData subclass
- ref: rename `require_steps` to `steps_required` in preprocessing
decorator
- setup: bump afmformats from 0.16.0 to 0.16.4
3.0.0
- BREAKING CHANGE: The contact point estimation method "scheme_2020"
has been removed, although it has been the default for some time.
It turns out that it does not perform so well and there are other
more stable methods (to be implemented). Furthermore, some of the
contact point estimation methods were improved so that basically
many tests had to be updated. This will not break your analysis,
it just means your contact points will change.
- feat: implement options for preprocessing methods
- feat: the "correct_tip_offset" preprocessing method now
accepts the "method" argument (see new poc submodule)
- fix: contact point estimation with gradient-based method
"poc_gradient_zero_crossing" did not really work
- enh: improve contact point estimation with "fit_constant_line"
- enh: speed-up contact point estimation with "deviation_from_baseline"
- ref: CLI profiles now use JSON format by default
(old format still supported)
- ref: move contact point estimation to new 'poc' submodule
2.0.1
- enh: implement 'require_steps' in preprocessing to make sure
that steps are executed in the correct order
- enh: add several helper functions for preprocessing
2.0.0
- BREAKING CHANGE: segment in FitProperties is now an integer
- setup: bump afmformats from 0.15.0 to 0.16.0
- docs: update doc strings for the "sneddon_spher_approx" model
- docs: remove duplcate docs for model functions
1.7.8
- ref: introduce preprocessing_step decorator for managing
preprocessing steps
- ref: explicitly request "force-distance" data from afmformats
(can be lifted by ``setting nanite.read.DEFAULT_MODALITY`` to ``None``)
- setup: bump afmformats from 0.14.3 to 0.15.0 (initial support for
loading creep-compliance data)
1.7.7
- docs: fix build
1.7.6
- setup: bump afmformats from 0.14.1 to 0.14.3 (adjust tests, speed)
1.7.5
- ref: migrate `QMap` and `Group` code to afmformats 0.14.1
- ref: `Indentation` is now a subclass for `afmformats.AFMForceDistance`
- ref: `QMap` is now a subclass for `afmformats.AFMQMap`
- ref: `Group` is now a subclass for `afmformats.AFMGroup`
1.7.4
- enh: allow passing metadata to the IndentationGroup initializer
- setup: bump afmformats from 0.10.2 to 0.13.2
- ref: deprecate get_data_paths in favor of afmformats.find_data
1.7.3
- build: move windows pipeline to GH Actions
- ref: better warning traceback for deprecated weight_cp method
- ref: DeprecationWarning: np.int from numpy 1.20
1.7.2
- build: use oldest-supported-numpy in pyproject.toml
1.7.1
- build: migrate to GitHub Actions
1.7.0
- enh: simplified writing new model functions by introducing default
modeling and residual wrappers
- ref: improve code readability
1.6.3
- tests: fix fails due to tifffile upgrade
- setup: lift historic pinning of lmfit==0.9.5
1.6.2
- tests: improve coverage
- enh: add sanity checks for models during registration (#5)
1.6.1
- enh: if the contact point estimate is not possible, use a fit
with a partially constant and linear function
1.6.0
- enh: improve contact point estimation by computing the gradient
first; resolves issues with tilted baselines (#6)
(This may affect fitting results slightly, hence the new minor
release)
1.5.5
- setup: make tkinter optional for frozen applications
1.5.4
- setup: bump scikit-learn from 0.18.0 to 0.23.0 (different
model results due to bugfixes, enhancements, or random
sampling procedures; the tests have been updated accordingly)
- setup: bump afmformats from 0.10.0 to 0.10.2
1.5.3
- setup: new builds for Python 3.8
1.5.2
- enh: be more verbose when tip position cannot be computed
- setup: bump afmformats from 0.7.0 to 0.10.0
1.5.1
- setup: bump afmformats from 0.6.0 to 0.7.0 (metadata fixes)
1.5.0
- feat: IndentationGroup.get_enum returns a curve from an enum value
- setup: bump afmformats from 0.5.0 to 0.6.0 (hdf5 export, improved tab
export)
1.4.1
- enh: set parameter `baseline` to "vary" for all models
- fix: make sure that `model_key` is set before `params_initial`
when fitting with kwargs (otherwise, `params_initial` might reset)
1.4.0
- feat: add function `Indentation.get_rating_parameters`
- feat: compute additional ancillary parameter "Maximum indentation"
- feat: new functions `model.get_parm_unit` and updated
`model.get_parm_name` to work with ancillary parameters as well
1.3.0
- feat: allow to define ancillary parameters for models and use them
during fitting by default
- feat: `Indentation.get_initial_fit_parameters` now automatically
computes common and model-related ancillary parameters if no
initial parameters are present
- enh: allow to set the `model_key` in more functions of `Indentation`
- ref: use `idnt` to represent Indentation instances
- fix: preprocessing steps not stored in `Indentation.preprocessing`
- setup: bump afmformats from 0.4.1 to 0.5.0
1.2.4
- enh: update boundaries and default values for model parameters
1.2.3
- fix: FitProperties did not detect changes in "params_initial"
1.2.2
- setup: bump afmformats version from 0.3.0 to 0.4.1
1.2.1
- enh: skip computation of tip position if it is already in the
dataset and cannot be computed e.g. due to missing spring constant
- fix: typo in get_data_paths_enum
- setup: bump afmformats version from 0.2.0 to 0.3.0
1.2.0
- tests: np.asscalar is deprecated
- ref: migrate to afmformats (#1)
- docs: minor improvements
1.1.2
- fix: add ``__version__`` property
- tests: use time.perf_counter for timing tests
- docs: improved LaTeX rendering
1.1.1
- setup: migrate to PEP 517 (pyproject.toml)
- docs: minor update
1.1.0
- feat: add contact point to available features in qmap visualization
- fix: avoid two invalid operations when computing features
1.0.1
- fix: invalid operation when loading data with a callback function
1.0.0
- docs: minor update
0.9.3
- enh: store nanite and h5py library versions in rating container
- enh: update hyperparameters of rating regressors
- ref: deprecation in h5py: replace dataset.value by dataset[...]
0.9.2
- ref: renamed the mode `model_hertz_parabolic` to
`model_hertz_paraboloidal` to be consistent
- docs: updat code reference and other minor improvements
0.9.1
- fix: `preprocessing` keyword not working in `Indentation.fit_model`
- docs: add another scripting example and minor improvements
- tests: increase coverage
0.9.0
- ref: remove legacy "discrete" feature type
- ref: renamed kwargs for `Indetation.rate_quality`
- ref: new method `nanite.load_group` for loading experimental data
- ref: new class read.data.IndentationData for managing data
- ref: replace dataset.IndentationDataSet with group.IndentationGroup
to avoid ambiguities
- fix: add missing "zef18" training set
- fix: sample weight computation failed when a rating level was missing
- enh: add `nanite-generate-training-set` command line program
- tests: reduce warnings and increase coverage
- cleanup: old docs in nanite.rate.io
- docs: major update using helper extensions
0.8.0
- initial release