-
Notifications
You must be signed in to change notification settings - Fork 4
/
CHANGELOG.txt
432 lines (295 loc) · 15.4 KB
/
CHANGELOG.txt
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
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
Pre-release
-----------
Develop
~~~~~~~
Bugfix:
* Change the field used for pairing from 9.255 to 9.225.
Add:
* Add the :func:`NIST.fingerprint.functions.diptych` function.
* Add the functions to process the LQMetic data generated with ULW.
* Add the `tool` directory (AN-FieldDefinition parser (and other scripts in the future)).
Remove:
* Remove the deprecated functions in the NIST class.
Change:
* Split the main NIST object into the NIST_core and NIST_traditional parts.
* Move the MDD, Morpho and ULWLQMetric NIST classes to the plugin module.
* Misc refactoring.
Patch:
* Remove the duplicates minutiae in the NIST_Morpho class.
Commits since latest release:
.. git_changelog::
:rev-list: latest..
v0.23.1 (2017-04-06)
~~~~~~~~~~~~~~~~~~~~
Major bugfix:
* Revert the commit 728a91bfa26101f229a0c60bacb9723cfe3d2f91
v0.23 (2017-04-04)
~~~~~~~~~~~~~~~~~~
Add:
* Add support for loading dict objects in NIST.
* Add support for tuple in the :func:`NIST.MDD.NIST_MDD.set_pairing()` function.
* Add the :func:`NIST.fingerprint.NISTf.get_latent_hull()` function.
* Add the :func:`NIST.fingerprint.functions.Point` and :func:`NIST.fingerprint.functions.Delta` objects.
* Overload the '>>' operator for the :func:`NIST.fingerprint.functions.Annotation` object.
* Add the function to sort :func:`NIST.fingerprint.functions.AnnotationsList` object based on the distance to a particular point.
* Add the :func:`NIST.MDD.NIST_MDD.unpair()` function.
* Add the :func:`NIST.fingerprint.NISTf.get_delta()` function, and the annotation of the deltas in the :func:`NIST.fingerprint.NISTf.annotate()` function.
* Add the :func:`NIST.Morpho.NIST_Morpho.process_imageenh()` and :func:`NIST.Morpho.NIST_Morpho.get_delta()` functions.
* Add support for WSQ as input for the :func:`NIST.fingerprint.functions.changeFormatImage()` function.
* Add the :func:`NIST.ULWLQMetric.NISTULWLQMetric.get_minutiae_by_LQM()`, :func:`NIST.ULWLQMetric.NISTULWLQMetric.get_LQMetric_map()` functions.
* Add the LQMetric Quality Map if available.
* Add support for WSQ in the Fingerprint module.
* Add support for bifurcations and undetermined minutiae type.
* Add support for the Core annotations in the Morho_NIST() class.
* Add the :func:`NIST.fingerprint.NISTf.export_latent_diptych()` function.
Change:
* Overload of the set_minutiae in the NIST_MDD class (to set the pairing information).
* The :func:`NIST.fingerprint.NISTf.get_latent_triptych()` function returns the convex hull by default.
* Set the resolution in the latent and print exported images.
* Move the processing of the field 9.331 into the NISTf module.
* Use the builtin super() function instead of the future.super() function.
* Add **options to the :func:`NIST.MDD.NIST_MDD.get_minutiae()` function.
* Remove the change of the NIST standard version (field 1.003) in the cleaning function.
* Move the processing of the 1.011 and 1.012 filds in the Fingerprint module.
* Made the WSQ module optional (raise an exception if not loaded AND used).
v0.22 (2017-01-26)
~~~~~~~~~~~~~~~~~~
Add:
* Add :func:`NIST.traditional.NIST.to_dict()` function.
* Add :func:`NIST.traditional.NIST.get_all_tagid()` function.
* Add :func:`NIST.traditional.NIST.to_json()` and :func:`NIST.traditional.NIST.from_json()` functions.
* Add :func:`NIST.fingerprint.functions.AnnotationList.remove()` function.
* Add :func:`NIST.fingerprint.functions.changeFormatImage()` function.
* Add :func:`NIST.fingerprint.NISTf.get_tenprint_annotated()` function.
* Add :func:`NIST.fingerprint.NISTf.get_image_annotated()` function.
* Add auto funcitons (:func:`NIST.fingerprint.NISTf.export_auto()`, :func:`NIST.fingerprint.NISTf.export_auto_annotated()` and :func:`NIST.fingerprint.NISTf.crop_auto()`).
* Add :func:`NIST.MDD.NIST_MDD.get_minutiae_paired_count()` function.
* Add :func:`NIST.Morpho.NIST_Morpho.get_jar()` and :func:`NIST.Morpho.NIST_Morpho.get_cfv()` functions.
* Add :func:`NIST.Morpho.NIST_Morpho.get_minutiae()` to process the 9.184 field.
* Add support for unicode data in the :func:`~NIST.traditional.NIST.load_auto()` function.
* Add support for Type-13 NIST object as reference in the :func:`NIST.fingerprint.functions.tetraptych()` function.
Remove:
* Remove the :func:`NIST.fingerprint.NISTf.has_field()` function.
Change:
* The input data of the :func:`~NIST.fingerprint.functions.lstTo012()` function have to be an AnnotationList or list object.
* The :func:`~NIST.fingerprint.NISTf.checkMinutiae()` returns the checks for all IDC if multiple IDC are stored in the NIST object.
* The :func:`~NIST.traditional.NIST.__str__()` function do not raise an exception if the NIST object is not initialized ("NIST object not initialized..." string instead).
* Recode of the :func:`NIST.traditional.functions.tagSplitter()` function: The common tests are done inside the function, instead of outside.
* Recode of the :func:`NIST.fingerprint.NISTf.set_cores()` function.
* Recode of the :func:`NIST.MDD.NIST_MDD.set_pairing()` function.
Patch:
* :func:`NIST.fingerprint.NISTf.get_minutia_by_id()`: Error if the `format` parameter is passed to `None`.
* :func:`NIST.traditional.NIST.load()` function: If the tagid is 999, the tag was not updated correctly (error possible if the length of the tag differs).
* The width and the height variables were inverted int he :func:`NIST.fingerprint.NISTf.get_tenprint()` function.
* Critical bug in the pairing information update :func:`NIST.MDD.NIST_MDD.set_pairing()` function.
v0.21 (2016-12-25)
~~~~~~~~~~~~~~~~~~
Add:
* First Sphinx documentation.
* Add the :func:`NIST.traditional.NIST.get()` function.
* Add support for keyword arguments for the `Annotation` object.
* Add the parameter in the :func:`NIST.fingerprint.functions.AnnotationList.from_list()` class to select the type of `Annotation` stored (`Annotation`, `Minutia` or `Core`).
* Add :func:`NIST.fingerprint.NISTf.migrate_Type04_to_Type14()` function.
* Add :func:`NIST.MDD.NIST_MDD.migrate_Type13_to_type14()` function.
* Add :func:`NIST.traditional.NIST.get_field_multi_idc()` and :func:`NIST.traditional.NIST.get_fields_multi_idc()` functions.
* Add :func:`NIST.fingerprint.NISTf.get_tenprint()` function.
* Add :func:`NIST.fingerprint.NISTf.get_tenprintcard()` function (European format).
Change:
* Migrate the :func:`NIST.MDD.NIST_MDD.get_pairing()` function to return :func:`~NIST.fingerprint.functions.AnnotationList`.
* Change the location to store the default annotation format (NIST.fingerprint.functions.Annotation.defaultformat).
Patch:
* :func:`NIST.traditional.functions.bindump()` was returning the first byte at the end of the string
v0.20 (2016-12-18)
~~~~~~~~~~~~~~~~~~
Add:
* Add the :func:`~NIST.fingerprint.NISTf.init_latent()`, :func:`~NIST.fingerprint.NISTf.init_print()` and :func:`~NIST.fingerprint.NISTf.init_new()` functions in the NISTf() class.
* Add options in various functions to allow func( params ) calls.
* Add the :func:`NIST.traditional.NIST.merge()` function.
* Add support for the Type14 in various functions.
Remove:
* Remove deprecated functions.
Change:
* The :func:`NIST.MDD.NIST_MDD.add_Type09()` overload his super() function to set the pairing information.
* Change default standard value to '0300'.
* Store the result of the self.get_ntype() if multiple calls have to be done in the same function (performance issues).
v0.19 (2016-12-01)
~~~~~~~~~~~~~~~~~~
Add:
* Add the :func:`~NIST.fingerprint.functions.Annotation`, :func:`~NIST.fingerprint.functions.Minutia` and :func:`~NIST.fingerprint.functions.Core` classes.
* Add the :func:`~NIST.fingerprint.functions.AnnotationList` class.
Change:
* Change the format of the Minutiae and Core stored in the NIST object (from list to Minutia() and Core() object).
v0.18 (2016-11-22)
~~~~~~~~~~~~~~~~~~
Add:
* Add the :func:`~NIST.fingerprint.NISTf.add_type14()` function with default values.
* Add the NIST_MDD class to process NIST objects with pairing information (user-defined field 9.255), and add function to annotate the pairing information (:func:`NIST.MDD.NIST_MDD.annotate()`, :func:`NIST.MDD.NIST_MDD.get_latent_annotated()` and :func:`NIST.MDD.NIST_MDD.get_print_annotated()`).
* Add support for PNG format.
Change:
* Split the :func:`NIST.fingerprint.NISTf.crop()` function in :func:`~NIST.fingerprint.NISTf.crop_latent()` and :func:`~NIST.fingerprint.NISTf.crop_print()` functions.
* Delete all empty IDC and ntypes in the clean() function.
* Optimization of the :func:`~NIST.fingerprint.NISTf.get_latent_annotated()`, :func:`~NIST.fingerprint.NISTf.get_print_annotated()` and :func:`~NIST.fingerprint.NISTf.get_annotated()` functions.
Delete:
* Remove the minutiae_filter() function.
Patch:
* Monkey-patch of the x.001 field (not in agreement with the NIST standard).
v0.17 (2016-09-20)
~~~~~~~~~~~~~~~~~~
Add:
* Add the :func:`NIST.fingerprint.NISTf.set_cores()` function.
* Add support for Type04 in the :func:`NIST.fingerprint.NISTf.set_resolution()` function.
* Add the :func:`NIST.traditional.NIST.update()` function.
Change:
* Auto-increment of the Minutia id if not provided.
* Annotate all the cores if multiple cores are stored in the NIST object.
* Automatic selection of the correct diptych with the :func:`NIST.fingerprint.NISTf.get_diptych()` function.
* Change the `NIST.traditional.NIST.data` variable to `MDmisc.RecursiveDefaultDict.defDict()`.
* Clean the NIST object before printing.
* Check the IDC field (x.002) for each ntype in the clean() function.
* Patch the fields 1.011 and 1.012 according to the NIST standard.
v0.16 (2016-08-17)
~~~~~~~~~~~~~~~~~~
Add:
* Add the :func:`NIST.fingerprint.NISTf.crop_latent()`.
* Add support for uncompressed (RAW) Type-04 images, and adapt the 'changeResolution()' function.
* Add the function :func:`NIST.fingerprint.NISTf.get_image()`, with automatic determination of the main type (latent or print image).
* Add the :func:`NIST.fingerprint.NISTf.export_latent()` and :func:`NIST.fingerprint.NISTf.export_print()`, and the annotated equivalent functions.
* Add support to crop Type13 and Type04 images.
v0.15 (2016-08-14)
~~~~~~~~~~~~~~~~~~
Add:
* Add the first attempt for NIST object with M1 annotation format.
* Add misc functions.
* Add the identifier field for the NIST object.
* Add some information in the head of the string-representation of the NIST object.
* Add support for the JPEG2K format for latent images.
* Add the formatter function to print formatted binary fields.
Change:
* Change the name of the main class in the Morpho module.
* Use of the Python3 division module.
Patch:
* Bug-fix in some docstrings.
v0.14 (2016-07-11)
~~~~~~~~~~~~~~~~~~
Add:
* Add functions related to the image processing (get the latent annotated, quality map, ...).
* Add functions to set values for latent and print (set_width(), set_height(), ...).
* Add function to change the main class of the NIST object.
* Add support for passing tuple in the set_field() function instead of a tag-string.
* Add the functions get_diptych() and get_tetraptych()
Change:
* Change the format of the NIST object representation (non prittable character, ...).
* Move deprecated functions.
v0.13 (2016-07-06)
~~~~~~~~~~~~~~~~~~
Add:
* Add the function get_minutiae_all() to get the minutiae from all fingers in one list of lists.
* Add the function to add the case name (field 2.007) for Morpho NIST objects.
Change:
* Extend the NIST-fingerprint library to work with the ULWLQMetric module (added in the default installer).
* Move deprecated methods in the NISTf_deprecated. Need to import this class instead of NISTf if you want to use deprecated functions with the old code (not recommended !).
* Move the version of the standard in a class attribute (changeable on the fly).
Patch:
* Bug around : if the 1.003 field is malformed (an IDC is missing), the missing value is replaced with a 1.
* Misc patches.
v0.12 (2016-06-29)
~~~~~~~~~~~~~~~~~~
Add:
* First version of the function to work with fingerprints (get_print() to get the PIL or WSQ image) from 4.999 WSQ encoded image.
* Update the names of the imports.
* Patch the get_minutiae() function (order of values).
* Deprecation of the get_image() function.
v0.11 (2016-06-26)
~~~~~~~~~~~~~~~~~~
Add:
* Add the versioneer module to manage the version name in the setup file produced.
Change:
* Modification of the structure of the module: separation of the traditional module from the fingerprint functions.
* Change the parameter 'minutiae' in NIST.fingerprint.NISTf.add_Type09() to optional.
* Misc optimizations.
v0.10 (2016-06-25)
~~~~~~~~~~~~~~~~~~
Add:
* Add function returning the number of minutiae present in the NIST object (field 9.010).
* Add function to add default empty records (Type-01, Type-02, Type-09 and Type-13).
Change:
* Update from distutils.core to setuptools
* Checker for the minutiae field (all minutiae have to be on the image).
* Code cleaning.
v0.9 (2016-06-19)
~~~~~~~~~~~~~~~~~
Add:
* Type-14, Type-10, Type-15, Type-16, Type-17, Type-18, Type-19, Type-20, Type-21, Type-98 and Type-99 parser
Change:
* Change in the structure of the package, and addition of the __init__ file to load the NIST package
* Rewriting of the doctest.py module.
* get_fields() and set_fields() to get and set multiple fields at once
* Documentation of all fields (name and abbreviation)
v0.8 (2016-06-18)
~~~~~~~~~~~~~~~~~
Add:
* Function to delete a ntype, idc or field
* Type-04 dumper
Change:
* Updater for the File Content field (1.003) based on the content of the NIST object
* Field 4.005 checker (conformation to the standard)
Patch:
* Patch the type for the Type-04 data
* Bug fix for the unsupported Type (allowing to skip the record)
* Bug fix for the data in 999 tagid
* Bug fix for the order of the excepted ntype
v0.7 (2016-06-17)
~~~~~~~~~~~~~~~~~
Add:
* Type-04 parser
* get_caseName, get_center
* 'Grayscale Compression Algorithm' field decoder
* Get and set the latent friction ridge image (Type-13) in PIL and RAW format
* Functions for image format transform (PIL <-> RAW)
Change:
* Warning for unsupported Type
v0.6 (2016-06-17)
~~~~~~~~~~~~~~~~~
Add:
* Parser between the 9.012 field and the minutiae table
* Function to return the minutiae table
v0.5 (2016-06-16)
~~~~~~~~~~~~~~~~~
Add:
* Autoloader (to detect the type (NIST object or URI to file) and load it in memory
* @deprecated decorator for sort deprecation (backward compatibility)
* Function to check and return the IDC (if unique) of a ntype
* Function to get the content of a field via the field-tag
* tagSplitter function
v0.4 (2016-06-16)
~~~~~~~~~~~~~~~~~
Add:
* __str__ and __repr__ functions
* Function to write the NIST object to disk
* Function do dump the content of the NIST object in binary (ready to write to disk)
* Function to check some errors possible in the content of the NIST object
* Function to return the tag from a ntype and a tagid
* Function to clean the self.data (deletion of empty fields)
* Add some fields in the LABEL variable
Change:
* Set an IDC for Type-01, even if the standard says nothing about it. For simplification of the code later
v0.3 (2016-06-12)
~~~~~~~~~~~~~~~~~
Add:
* Function to dump the content of the NIST object in a string variable
* Add the leveler function
* Function to get the abbreviation and description of fields
* Functions to get the list of ntype and idc's
Change:
* Move the Logger class to the misc library.
v0.2 (2016-06-12)
~~~~~~~~~~~~~~~~~
Add:
* Function to process the File Content (field 1.003)
* LABEL of some fields
* Debug information
* Binary onscreen dumper
v0.1 (2016-06-11)
~~~~~~~~~~~~~~~~~
* First version of the parser for Type-01, Type-02, Type-09 and Type-13
* Initial commit