#pragma once #include #include #include #include #include #include #include #include #include #include "Descriptor.h" #include "Mutation.h" using namespace std; using namespace Magick; //ENUM_STRING(descriptorss, (totalColors)(averageColor)(numDescriptors)) namespace fs = boost::filesystem; //Manager class for class DescriptorManager { public: DescriptorManager(); DescriptorManager(const fs::path & image_path); ~DescriptorManager(); bool loadDescriptors(); bool createMutations(); void similarImages(string image_name, int method, int numImages); void insertMutations(string image_name, int method); void outputMap(int a); void outputMap(); private: static const int numDescriptors = 8; static const int numMutations = 2; //TODO: automagically update this? map> descriptors[numDescriptors]; //array of maps that will hold the descriptors multiset > distances; //multiset that stores the distances fs::path img_path; //where the images are Descriptor* descriptor_types[numDescriptors]; Mutation* mutators[numMutations]; };