#ifndef __OUTLINE_MODEL_BUILDER__ #define __OUTLINE_MODEL_BUILDER__ //------------------------------------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------------------------------------ #include #include #include #include "ReaderEnvironment.h" #include "SomeEnvironment.h" #include "ContourThing.h" #include "AxeThing.h" #include "ImageSourceThing.h" #include "ImageSectionThing.h" class OutlineModelBuilder{ //------------------------------------------------------------------------------------------------------------ // Constructors & Destructors //------------------------------------------------------------------------------------------------------------ public: /** * Creates an OutlineModelBuilder * @ param filesNames Paired set of files with the names of the files to read ConceptsFileName, ImageSourcesFile, ImageSectionsFile, AxeThingsFile, ContoursFile * @ param sources Paired set of sourceKeyName-ImageSourceThing * @ param sections Paired set of sectionKeyName-ImageSectionThing * @ param axes Paired set of axeKeyName-AxeThing * @ param outlines Paired set of contoKeyName-ContourThing */ OutlineModelBuilder(std::string conceptsFile, std::string datadir = "data" );//std::map filesNames, std::map * sources, std::map* sections, std::map* axes, std::map* outlines); /** * Destroys an AxeThing */ ~OutlineModelBuilder(); //------------------------------------------------------------------------------------------------------------ // Methods //------------------------------------------------------------------------------------------------------------ /** * Gets the ImageSourceThing environment *@param ImSourceEnv */ SomeEnvironment * getImSourceEnv(); /** * Gets the ImageSectionThing environment *@param imSectionEnv */ SomeEnvironment * getImSectionEnv(); /** * Gets the AxeThing environment *@param AxesEnv */ SomeEnvironment * getAxesEnv(); /** * Gets the ContourThing environment * @param ContourEnv */ SomeEnvironment * getContourEnv(); /** * Builds the ImageSourceThing * environment * @param sourcesFile File path with the object key names and specific instants for each one * @param sources The sources to include in the enivorment */ void buildImageSource_Envornment( std::string sourcesFile, std::map * sources ); /** * Builds the ImageSectionThing * environment * @param sectionsFile File path with the object key names and specific instants for each one * @param sections The sections to include in the enivorment */ void buildImageSection_Envornment( std::string sectionsFile, std::map* sections ); /** * Builds the AxeThing * environment * @param axesFile File path with the object key names and specific instants for each one * @param axes The axes to include in the enivorment */ void buildAxe_Envornment( std::string axesFile, std::map* axes ); /** * Builds the CountourThing * environment * @param outlinesFile File path with the object key names and specific instants for each one * @param outlines The outlines to include in the enivorment */ void buildCountour_Envornment( std::string outlinesFile, std::map* outlines ); private: //------------------------------------------------------------------------------------------------------------ // Attributes //------------------------------------------------------------------------------------------------------------ /** * Represents the environment builder based of reading files of axes */ ReaderEnvironment *axesEnv_Reader; /** * Represents the environment builder based of reading files of section images */ ReaderEnvironment *imagesSectionEnv_Reader; /** * Represents the environment builder based of reading files of source images (Generally a complete volume data per image) */ ReaderEnvironment *imageSourceEnv_Reader; /** * Represents the environment builder based of reading files of outlines (outlines) */ ReaderEnvironment * outlinesEnv_Reader; /* * */ std::string conceptsFile; std::string imagesSectionEnvOtherConceptsFN; std::string outlinesEnvOtherConceptsFN; std::string axesEnvOtherConceptsFN; }; #endif