SMQTK v0.8.0 Release Notes

This minor release represents the merger of a public release that added a Girder-based implementation of the DataElement interface. We also optimized the use of the PostgreSQL DescriptorIndex implementation to use named cursors for large queries.

Updates / New Features since v0.7.0

Data Structures

  • Revise GirderDataElement to use girder_client python module and added the the use of girder authentication token values in lieu of username/password for communication authorization.
  • Add the optional use of named cursors in PostgreSQL implementation of the DescriptorIndex interface. Assists with large selects such that the server only sends batches of results at a time instead of the whole result pool.
  • Added PostgreSQL implementation of the KeyValueStore interface.


  • Initial SMQTK Girder plugin to support image descriptor processing via girder-worker.
  • Initial SMQTK Girder plugin implementing a resource and UI for SMQTK nearest neighbors and IQR.

Fixes since v0.7.0

Data Structures

  • Added locking to PostgreSQL DescriptorElement table creation to fix race condition when multiple elements tried to create the same table at the same time.
  • Fix unconditional import of optional girder_client dependency.


  • Pinned Pillow version requirement to 4.0.0 due to a large-image conversion issue that appeared in 4.1.x. This issue may have been resolved in newer versions of Pillow.


  • Various fixes to IQR model generation process due to changes made to algorithm input parameters (i.e. taking DataElement instances instead of filepaths).
  • Fixes to follow symlinks when compiling input image file list.


  • Fix missing abstract function override in KeyValueStore test stub.
  • Fix test girder_client.HttpError import issue.