Isomet Modular Synthesiser (iMS) API
v1.4.2
iMS API
|
An ImageProject allows the user to organise their data and store it on the host computer. More...
#include <include/Image.h>
Public Member Functions | |
void | Clear () |
Reset ImageProject to empty state. More... | |
Constructors & Destructor | |
ImageProject () | |
Default Constructor. More... | |
ImageProject (const std::string &fileName) | |
Implicit Load From File Constructor. More... | |
Image Group Container | |
ImageGroupList & | ImageGroupContainer () |
Set Accessor for the Image Group Container. More... | |
const ImageGroupList & | ImageGroupContainer () const |
Get Accessor for the Image Group Container. | |
Compensation Function Container | |
CompensationFunctionList & | CompensationFunctionContainer () |
Set Accessor for the Compensation Function Container. More... | |
const CompensationFunctionList & | CompensationFunctionContainer () const |
Get Accessor for the Compensation Function Container. | |
Tone Buffer Container | |
ToneBufferList & | ToneBufferContainer () |
Set Accessor for the Tone Buffer Container. More... | |
const ToneBufferList & | ToneBufferContainer () const |
Get Accessor for the Tone Buffer Container. | |
Free Image Container | |
ImageGroup & | FreeImageContainer () |
Set Accessor for the Free Image Container. More... | |
const ImageGroup & | FreeImageContainer () const |
Get Accessor for the Tone Buffer Container. | |
FileSystem Functions | |
bool | Save (const std::string &fileName) |
Save ImageProject to host disk. More... | |
bool | Load (const std::string &fileName) |
Load ImageProject from host disk. More... | |
An ImageProject allows the user to organise their data and store it on the host computer.
An ImageProject permits the user to organise and contain all of their data relating to a specific use case for the iMS. Any number of ImageGroup's, CompensationFunction's, ToneBuffer's and/or Free Images (individual Images not associated in an ImageGroup and with no ImageSequence) may be help in an ImageProject. The data is stored on disk in an efficient custom file format that may be unzipped by the user and inspected in an XML file viewer, if wished.
A simple use case for the ImageProject is to contain a single Image, kept in the FreeImageContainer, and to load/save that Image to disk. A more complex use case might be to hold different ImageGroup's for different purposes that are used as the raw data for a processing task that requires some other software to select between Image's and ImageSequence's according to some system parameter.
iMS::ImageProject::ImageProject | ( | ) |
Default Constructor.
Creates an empty ImageProject.
iMS::ImageProject::ImageProject | ( | const std::string & | fileName | ) |
Implicit Load From File Constructor.
Calls the default constructor, then ImageProject::Load() to initialise the object from the filesystem param[in] fileName String pointing to a valid .iip or .xml file on the host filesystem to load into the ImageProject
void iMS::ImageProject::Clear | ( | ) |
Reset ImageProject to empty state.
Removes all entries from all of the containers
CompensationFunctionList& iMS::ImageProject::CompensationFunctionContainer | ( | ) |
Set Accessor for the Compensation Function Container.
Use this function to modify, add and remove CompensationFunction's from the ImageProject.
ImageGroup& iMS::ImageProject::FreeImageContainer | ( | ) |
Set Accessor for the Free Image Container.
Use this function to modify, add and remove individual Image's from the ImageProject. The Free Image Container is configured as an ImageGroup to allow user software to access its Image's using the same function calls as when working with an ImageGroup object. In this regard, the FreeImageContainer may be regarded as a "superset" of the ImageGroup that permits save/load to disk.
ImageGroupList& iMS::ImageProject::ImageGroupContainer | ( | ) |
Set Accessor for the Image Group Container.
Use this function to modify, add and remove ImageGroup's from the ImageProject.
bool iMS::ImageProject::Load | ( | const std::string & | fileName | ) |
Load ImageProject from host disk.
First clears the ImageProject of any existing content. Then it will try to read in data from the provided file, work out whether it is compressed or uncompressed, and populate the ImageProject containers from the file data. The function is fully backwards compatible with all previous versions of the SDK and should therefore be capable of reading in any file ever generated by the SDK. It is also compatible with ImageProject files generated by the previous generation of Isomet Image software, the iHHS ImageFile Generator
[in] | fileName | String representing the full path of a file to load fata from. |
bool iMS::ImageProject::Save | ( | const std::string & | fileName | ) |
Save ImageProject to host disk.
Stores all data in the ImageProject containers to a custom file format on disk. The preferred file extension is ".iip" for Isomet Image Project. If the passed file name ends in .xml however, the function will save the data to an uncompressed XML type file which can be read in any XML file viewer.
If the passed file name ends in neither .xml nor .iip, the function will save the data in compressed format as if it ended in .iip but respecting the user's choice of file name.
[in] | fileName | String representing the full path of a file to save data to, ending in .xml (uncompressed) or .iip (compressed) |
ToneBufferList& iMS::ImageProject::ToneBufferContainer | ( | ) |
Set Accessor for the Tone Buffer Container.
Use this function to modify, add and remove ToneBuffer's from the ImageProject.