SMQTK v0.5.0 Release Notes

This is a minor release that provides minor updates and fixes as well as a new Classifier implementation, new parameters for some existing algorithms and added scripts that were the result of a recent hackathon.

The new classifier implementation, the IndexLabelClassifier, was created for the situation where the resultant vector from DescriptorGenerator is actually classification probabilities. An example where this may be the case is when a CNN model and configuration for the Caffe implementation yields a class probability (or Softmax) layer.

The specific scripts added from the hackathon are related to classifying entities based on associated image content.

Updates / New Features since v0.4.0


  • Added classifier that applies a list of text labels from file to vector from descriptor as if it were the classification confidence values.

Descriptor Generators

  • Added input_scale pass-through option in the Caffe wrapper implementation.
  • Added default descriptor factory to yield in-memory descriptors unless otherwise instructed.

Descriptor Index

  • Added warning logging message when PostgreSQL implementation file fails to import the required python module.


  • Tweaked some default parameters in

LSH Functors

  • Added descriptor normalization option to ITQ functor class.


  • Added new output features to classifier model validation script: confusion matrix and ROC/PR confidence interval.
  • Moved async batch computation scripts for descriptors, hash codes and classifications to bin/.
  • Added script to transform a descriptor index (or part of one) into the file format that libSVM likes:
  • Added script to distort a given image in multiple configurable ways including cropping and brightness/contrast transformations.
  • Added custom scripts resulting from MEMEX April 2016 hackathon.
  • Changed MEMEX update script to collect source ES entries based on crawl time instead of insertion time.


  • Added async functionality to kernel building functions

Fixes since v0.4.0


  • Removed SMQTK_FIRST_PASS_COMPLETE stuff in root CMakeLists.txt


  • Changed so that all specified data elements are added to the configured data set at the same time instead of many additions.