Frequently Asked Questions

What is SMQTK?

SMQTK is an open-source light-weight framework for developing interfaces that have built-in implementation discovery and factory construction from configuration.

Why would I use SMQTK over KWIVER?

You should use SMQTK if you want to define your own python algorithm implementations and don’t want to develop in C++. However, if the algorithm implementations that you want to use are already defined in KWIVER, then KWIVER would be the better option.For more info, see the README.md

I’ve used SMQTK before, but what are these broken out packages?

In 2021, SMQTK v0.14.0 was broken out from one monolithic library into several distinct libraries labeled as SMQTK-Core, SMQTK-Classifier, SMQTK-Image-IO, and more. The decision was part of a new effort to reduce technical debt and isolate functionality to preserve the light-weight design.

Can I contribute to SMQTK?

Of course! To add in your own implementation see CONTRIBUTING.md. Additionally you can contribute by helping review any outstanding branches in any one of the SMQTK repos. For guidelines on reviewing please see review_process

What does SMQTK encompass?

SMQTK is currently composed of 7 different libraries, all of which are pip installable. SMQTK-Core provides the underlying tooling and is utilized by the other 6 packages which provide more complex functionality and pluggable implementations. The following are all the packages associated with SMQTK:

  • SMQTK-Core provides the basic tools for developing interfaces.

  • SMQTK-Dataprovider provides data structure abstractions.

  • SMQTK-Image-IO provides interfaces and implementations around image input/output.

  • SMQTK-Descriptors provides algorithms and data structures around computing descriptor vectors.

  • SMQTK-Classifier provides interfaces and implementations around classification.

  • SMQTK-Indexing provides interfaces and implementations around the k-nearest-neighbor algorithm.

  • SMQTK-Relevancy provides interfaces and implementations around providing search relevancy estimation.