Skip to content
CHANGELOG.txt 15.3 KiB
Newer Older
Marco De Donno's avatar
Marco De Donno committed
Pre-release
-----------

Marco De Donno's avatar
Marco De Donno committed
Develop
~~~~~~~

Bugfix:

* Change the field used for pairing from 9.255 to 9.225.

Marco De Donno's avatar
Marco De Donno committed
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.

Marco De Donno's avatar
Marco De Donno committed
Commits since latest release:

.. git_changelog::
    :rev-list: latest..

v0.23 (2017-04-04)
~~~~~~~~~~~~~~~~~~

Marco De Donno's avatar
Marco De Donno committed
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.
Marco De Donno's avatar
Marco De Donno committed
* 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.
Marco De Donno's avatar
Marco De Donno committed

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.
Marco De Donno's avatar
Marco De Donno committed
* 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).
Marco De Donno's avatar
Marco De Donno committed

v0.22 (2017-01-26)
Marco De Donno's avatar
Marco De Donno committed
~~~~~~~~~~~~~~~~~~

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.
Marco De Donno's avatar
Marco De Donno committed
* Add :func:`NIST.fingerprint.functions.AnnotationList.remove()` function.
Marco De Donno's avatar
Marco De Donno committed
* 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.
Marco De Donno's avatar
Marco De Donno committed
* 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.
Marco De Donno's avatar
Marco De Donno committed
* 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.
Marco De Donno's avatar
Marco De Donno committed
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.
Marco De Donno's avatar
Marco De Donno committed


v0.21 (2016-12-25)
~~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed

Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* First Sphinx documentation.
Marco De Donno's avatar
Marco De Donno committed
* 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.
Marco De Donno's avatar
Marco De Donno committed
* 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).
Marco De Donno's avatar
Marco De Donno committed

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).
Marco De Donno's avatar
Marco De Donno committed
Patch:

Marco De Donno's avatar
Marco De Donno committed
* :func:`NIST.traditional.functions.bindump()` was returning the first byte at the end of the string
Marco De Donno's avatar
Marco De Donno committed

Marco De Donno's avatar
Marco De Donno committed
v0.20 (2016-12-18)
~~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* 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.
Marco De Donno's avatar
Marco De Donno committed
* Add the :func:`NIST.traditional.NIST.merge()` function. 
* Add support for the Type14 in various functions.
Marco De Donno's avatar
Marco De Donno committed

Remove:

* Remove deprecated functions.
Marco De Donno's avatar
Marco De Donno committed

Change:

Marco De Donno's avatar
Marco De Donno committed
* The :func:`NIST.MDD.NIST_MDD.add_Type09()` overload his super() function to set the pairing information.
* Change default standard value to '0300'.
Marco De Donno's avatar
Marco De Donno committed
* Store the result of the self.get_ntype() if multiple calls have to be done in the same function (performance issues).
Marco De Donno's avatar
Marco De Donno committed
v0.19 (2016-12-01)
~~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* 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.
Marco De Donno's avatar
Marco De Donno committed

Change:

* Change the format of the Minutiae and Core stored in the NIST object (from list to Minutia() and Core() object).

Marco De Donno's avatar
Marco De Donno committed
v0.18 (2016-11-22)
~~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* 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.
Marco De Donno's avatar
Marco De Donno committed

Change:

Marco De Donno's avatar
Marco De Donno committed
* Split the :func:`NIST.fingerprint.NISTf.crop()` function in :func:`~NIST.fingerprint.NISTf.crop_latent()` and :func:`~NIST.fingerprint.NISTf.crop_print()` functions.
Marco De Donno's avatar
Marco De Donno committed
* Delete all empty IDC and ntypes in the clean() function.
Marco De Donno's avatar
Marco De Donno committed
* 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.
Marco De Donno's avatar
Marco De Donno committed
Patch:

* Monkey-patch of the x.001 field (not in agreement with the NIST standard).

Marco De Donno's avatar
Marco De Donno committed
v0.17 (2016-09-20)
~~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* 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.
Marco De Donno's avatar
Marco De Donno committed

Change:

* Auto-increment of the Minutia id if not provided.
* Annotate all the cores if multiple cores are stored in the NIST object.
Marco De Donno's avatar
Marco De Donno committed
* 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.

Marco De Donno's avatar
Marco De Donno committed
v0.16 (2016-08-17)
~~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* Add the :func:`NIST.fingerprint.NISTf.crop_latent()`.
* Add support for uncompressed (RAW) Type-04 images, and adapt the 'changeResolution()' function.
Marco De Donno's avatar
Marco De Donno committed
* 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.

Marco De Donno's avatar
Marco De Donno committed
v0.15 (2016-08-14)
~~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
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.
Marco De Donno's avatar
Marco De Donno committed

Change:

* Change the name of the main class in the Morpho module.
* Use of the Python3 division module.

Marco De Donno's avatar
Marco De Donno committed
Patch:

* Bug-fix in some docstrings.

Marco De Donno's avatar
Marco De Donno committed
v0.14 (2016-07-11)
~~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed

Marco De Donno's avatar
Marco De Donno committed
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()
Marco De Donno's avatar
Marco De Donno committed

Marco De Donno's avatar
Marco De Donno committed
Change:

* Change the format of the NIST object representation (non prittable character, ...).
* Move deprecated functions.

Marco De Donno's avatar
Marco De Donno committed
v0.13 (2016-07-06)
~~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed

Marco De Donno's avatar
Marco De Donno committed
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:

Marco De Donno's avatar
Marco De Donno committed
* 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 !).
Marco De Donno's avatar
Marco De Donno committed
* Move the version of the standard in a class attribute (changeable on the fly).
Marco De Donno's avatar
Marco De Donno committed

Patch:

* Bug around : if the 1.003 field is malformed (an IDC is missing), the missing value is replaced with a 1.
* Misc patches.
Marco De Donno's avatar
Marco De Donno committed

Marco De Donno's avatar
Marco De Donno committed
v0.12 (2016-06-29)
~~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed

Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* First version of the function to work with fingerprints (get_print() to get the PIL or WSQ image) from 4.999 WSQ encoded image.
Marco De Donno's avatar
Marco De Donno committed
* Update the names of the imports.
Marco De Donno's avatar
Marco De Donno committed
* Patch the get_minutiae() function (order of values).
Marco De Donno's avatar
Marco De Donno committed
* Deprecation of the get_image() function.
Marco De Donno's avatar
Marco De Donno committed

Marco De Donno's avatar
Marco De Donno committed
v0.11 (2016-06-26)
~~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed

Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* Add the versioneer module to manage the version name in the setup file produced. 
Marco De Donno's avatar
Marco De Donno committed

Change:

Marco De Donno's avatar
Marco De Donno committed
* 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.

Marco De Donno's avatar
Marco De Donno committed
v0.10 (2016-06-25)
~~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed

Marco De Donno's avatar
Marco De Donno committed
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:

Marco De Donno's avatar
Marco De Donno committed
* Update from distutils.core to setuptools
* Checker for the minutiae field (all minutiae have to be on the image).
* Code cleaning.
Marco De Donno's avatar
Marco De Donno committed

Marco De Donno's avatar
Marco De Donno committed
v0.9 (2016-06-19)
~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed

Marco De Donno's avatar
Marco De Donno committed
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:

Marco De Donno's avatar
Marco De Donno committed
* Change in the structure of the package, and addition of the __init__ file to load the NIST package
* Rewriting of the doctest.py module.
Marco De Donno's avatar
Marco De Donno committed
* get_fields() and set_fields() to get and set multiple fields at once
Marco De Donno's avatar
Marco De Donno committed
* Documentation of all fields (name and abbreviation) 

Marco De Donno's avatar
Marco De Donno committed
v0.8 (2016-06-18)
~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* Function to delete a ntype, idc or field
Marco De Donno's avatar
Marco De Donno committed
* Type-04 dumper

Change:

Marco De Donno's avatar
Marco De Donno committed
* Updater for the File Content field (1.003) based on the content of the NIST object
* Field 4.005 checker (conformation to the standard)
Marco De Donno's avatar
Marco De Donno committed

Patch:

Marco De Donno's avatar
Marco De Donno committed
* 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

Marco De Donno's avatar
Marco De Donno committed
v0.7 (2016-06-17)
~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* 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
Marco De Donno's avatar
Marco De Donno committed
* Functions for image format transform (PIL <-> RAW)

Change:

* Warning for unsupported Type
Marco De Donno's avatar
Marco De Donno committed
v0.6 (2016-06-17)
~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* Parser between the 9.012 field and the minutiae table
* Function to return the minutiae table

Marco De Donno's avatar
Marco De Donno committed
v0.5 (2016-06-16)
~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* 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

Marco De Donno's avatar
Marco De Donno committed
v0.4 (2016-06-16)
~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* __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

Marco De Donno's avatar
Marco De Donno committed
Change:

* Set an IDC for Type-01, even if the standard says nothing about it. For simplification of the code later

Marco De Donno's avatar
Marco De Donno committed
v0.3 (2016-06-12)
~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* 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
Marco De Donno's avatar
Marco De Donno committed

Change:

Marco De Donno's avatar
Marco De Donno committed
* Move the Logger class to the misc library.

Marco De Donno's avatar
Marco De Donno committed
v0.2 (2016-06-12)
~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed
Add:

Marco De Donno's avatar
Marco De Donno committed
* Function to process the File Content (field 1.003)
* LABEL of some fields
* Debug information
* Binary onscreen dumper

Marco De Donno's avatar
Marco De Donno committed
v0.1 (2016-06-11)
~~~~~~~~~~~~~~~~~
Marco De Donno's avatar
Marco De Donno committed

* First version of the parser for Type-01, Type-02, Type-09 and Type-13
* Initial commit