SMQTK v0.2 Release Notes¶
This is a minor release if SMQTK that provides both new functionality and fixes over the previous version v0.1.
The highlights of this release are new and updated interface classes, an updated plugin system, new HBase and PostgreSQL DataElement implementations, and a new wrapper for Caffe CNN descriptor extraction.
Additional one-off scripts were added for reference as well as a more generally usable utility for listing out available plugins for the running system and environment.
Additional notes about the release are provided below.
Updates / New Features since v0.1¶
SmqtkRepresentationinterfaces for high level classification of sub-classes and encapsulation if high level general functionality (like logging).
- Removed GENIE and MASIR archive directories. There is a tag for the last hash where they were present in this repository. Not removed from history so cloning the SMQTK repo is still large.
- Removed geospace web application sub-module (moved elsewhere).
- Update documentaiton to reStructured text files and added support for building Sphinx documentation pages.
Pluggableinterface, intended for abstract classes whose implementations are expected to be provided via dynamic plugins, and propagated its use within the code base.
get_pluginsfunction now ensures that loaded classes descend from
Pluggableand check that they are currently usable.
- Added HBase backend.
- Added PostgreSQL backend.
- Added asynchronous conversion of an iterable of
DataElementinstances into a numpy matrix. Supports
- Added default implementation of
containsmethod to abstract interface.
- Separated out original
DataFileSetinto separate file-based and in-memory implementations.
- Added file caching of memory-based data sets.
- Expanded construction parameters for ColorDescriptor implementations so as to remove most class-level variables.
CaffeDefaultImageNetimplementation and support files. This is intended to be used with the
cnn_feature_extractorbinary optionally built with SMQTK.
- Removed model FLANN implementation model filepath defaults, allowing purely in-memory use without model persistance.
- Added static file hosting flask blueprint in the IQR demo for serving arbitrary directories as a source of static files. Removed need to write generated files into source tree in order to host them.
- Fixed base flask app interface to be
- Shifted some functions around into locations where it makes more sense for them to live
Tools / Scripts
- Added plugin summarization script for listing names and description of currently available plugins for the various SMQTK interfaces.
- Changed IQR model generation example script to use the same configuration file that would be passed to the IQR web app (simplification).
- Added machine specific ITQ code generation scripts
Fixes since v0.1¶
IQR web application demo
- Fixed preview cache to clean up after itself.
- Fixed the way
MemoryCodeIndexupdated descriptor count so as not to count descriptor overwrites as new descriptors.
- Fixed ColorDescriptor implementation use of
pyflann.FLANN.nn_indexwhen the distance method is “hik” (inverted results order and distance values).
- Fixed ColorDescriptor
is_usablecheck to catch stdout/stderr output.
- Fixed issue with FLANN implementation where containing directories for output files were not being created first.
- Fixed bug in
LibSvmHikRelevancyIndexwhere negative distance values would cause an error.
- Fixed incorrect default
- Fixed tests due to DataSet implementation split
Tools / Scripts
- Fixed various bugs in compute scripts
- Removed various unnecessary print statements originally for debugging.
- Removed redundant uses of metaclass declarations.