eVision .NET API
Loading...
Searching...
No Matches
eVision.EasyDeepLearning.EDeepLearningProject Class Reference

Deep learning project. More...

Inheritance diagram for eVision.EasyDeepLearning.EDeepLearningProject:
Collaboration diagram for eVision.EasyDeepLearning.EDeepLearningProject:

Public Member Functions

 EDeepLearningProject (string projectFile)
 Creates or opens a project.
 EDeepLearningProject (string projectDir, string projectName, eVision.EasyDeepLearning.EDeepLearningToolType type)
 Creates or opens a project.
 EDeepLearningProject ()
 Creates or opens a project.
 EDeepLearningProject (eVision.EasyDeepLearning.EDeepLearningProject other)
 Creates or opens a project.
void CopyTo (eVision.EasyDeepLearning.EDeepLearningProject other)
 Copy the project.
void SaveProject ()
 Saves an opened project.
void Save (string projectFile)
 Saves a project and set the project directory to the parent directory of projectFile.
void Save (eVision.ESerializer serializer)
 Saves a project and set the project directory to the parent directory of projectFile.
void Load (string projectFile)
 Loads a project.
void Load (eVision.ESerializer serializer)
 Loads a project.
void CloseSerializer ()
 Closes the internal serializer and unlocks the project files and directory.
bool HasFileStructureUpdates ()
 Whether the project can be updated to a new folder and file structure.
void UpdateProjectFileStructure ()
 Updates the project file structure.
void UnsetGoodLabel ()
 Remove the good label for EasySegment Unsupervised.
eVision.EasyDeepLearning.EDeepLearningTool GetToolCopy (int toolId, bool includeTrainingModel)
 Loads and returns the i-th tool of the project.
eVision.EasyDeepLearning.EDeepLearningTool GetToolCopy (int toolId)
 Loads and returns the i-th tool of the project.
string GetToolName (int toolId)
 Tool name.
void SetToolName (int toolId, string name)
 Tool name.
long GetToolCreationDate (int toolId)
 Creation date of the tool represented as the number of seconds since the UNIX epoch.
string GetToolISOCreationDate (int toolId)
 Creation date of the tool represented as an ISO 8601 date (YYYY-MM-DD HH:MM:SS).
bool IsToolNameValid (string toolName)
 Checks that the tool name is valid (not used by any other tool).
void AddTool (string name)
 Adds a new tool with the given name.
void RemoveTool (int toolId)
 Removes the given tool from the project. This will also remove all files and directories associated with the tool (tool directory, result and metrics files).
void ImportTool (string name, string path)
 Imports an existing tool. Note that the imported tool will be copied into the project directory. The original file will no be used by the project.
void ImportTool (string name, eVision.EasyDeepLearning.EDeepLearningTool tool)
 Imports an existing tool. Note that the imported tool will be copied into the project directory. The original file will no be used by the project.
void SetToolSplit (int toolId, int splitId)
 Dataset split associated with a tool.
int GetToolSplit (int toolId)
 Dataset split associated with a tool.
void SetToolDataAugmentation (int toolId, int dataAugmentationId)
 Data augmentation associated with a tool.
int GetToolDataAugmentation (int toolId)
 Data augmentation associated with a tool.
int GetNumBenchmarks (int toolId)
 Number of benchmarks for the given tool.
eVision.EasyDeepLearning.EDeepLearningBenchmark GetBenchmark (int toolId, int benchId)
 Gets a benchmark for a given tool.
void AddBenchmark (int toolId, eVision.EasyDeepLearning.EDeepLearningBenchmark benchmark)
 Adds a benchmark for the given tool.
void RemoveBenchmark (int toolId, int benchmarkId)
 Removes a benchmark.
void SetBenchmark (int toolId, int benchmarkId, eVision.EasyDeepLearning.EDeepLearningBenchmark benchmark)
 Replaces a benchmark.
void AddSplit (string name, eVision.EasyDeepLearning.EDatasetSplit split)
 Adds a split.
void RemoveSplit (int splitId)
 Removes a split.
eVision.EasyDeepLearning.EDatasetSplit GetSplit (int splitId)
 Gets the dataset split object for the given index.
string GetSplitName (int splitId)
 Name of the split.
void SetSplitName (int splitId, string newName)
 Name of the split.
long GetSplitCreationDate (int splitId)
 Creation date of the split represented as the number of seconds since the UNIX epoch.
string GetSplitCreationISODate (int splitId)
 Creation date of the split formatted as an ISO 8601 date (YYYY-MM-DD HH:MM:SS).
eVision.EasyDeepLearning.EDataAugmentation GetDataAugmentation (int dataAugmentationId)
 Gets the data augmentation object for the given index.
string GetDataAugmentationName (int dataAugmentationId)
 Name of the data augmentation.
void SetDataAugmentationName (int dataAugmentationId, string name)
 Name of the data augmentation.
long GetDataAugmentationCreationDate (int dataAugmentationId)
 Creation date of the data augmentation represented as the number of seconds since the UNIX epoch.
string GetDataAugmentationCreationISODate (int dataAugmentationId)
 Creation date of the data augmentation formatted as an ISO 8601 date (YYYY-MM-DD HH:MM:SS).
void AddDataAugmentation (string name)
 Adds an empty or specified data augmentation to the project.
void AddDataAugmentation (string name, eVision.EasyDeepLearning.EDataAugmentation dataAugmentation)
 Adds an empty or specified data augmentation to the project.
void RemoveDataAugmentaton (int dataAugmentationId)
 Removes the given data augmentation. The data augmentation at index 0 can't be removed.
string GetResultFilename (int imageId)
 Result filename for the given image.

Static Public Member Functions

static eVision.EasyDeepLearning.EDataAugmentation GetDefaultDataAugmentation (eVision.EasyDeepLearning.EDeepLearningToolType type)
 Returns the default data augmentation used in Deep Learning Studio depending on the given tool type.

Properties

string ProjectDirectory [get, set]
 Project directory.
string ProjectFile [get]
 Path to the project file.
string ImageDirectory [get]
 Image directory.
bool ImportImageIntoProjectDirectory [get, set]
 Whether to import the images into the EDeepLearningProject.ImageDirectory. (Default value: true).
eVision.EasyDeepLearning.EDeepLearningToolType Type [get, set]
 Type of the tools in the projects.
string Name [get, set]
 Name of the project.
long CreationDate [get]
 Creation date of the project represented as the number of seconds since the UNIX epoch.
string ISOCreationDate [get]
 Creation date of the project as an ISO 8601 date (YYYY-MM-DD HH:MM:SS).
string FileStructureUpdateDescription [get]
 Description of the file structure update.
string GoodLabel [get, set]
 Good label for EasySegment Unsupervised.
int NumTools [get]
 Number of tools.
int NumSplits [get]
 Number of dataset splits in the project.
eVision.EasyDeepLearning.EDataset Dataset [get]
 Gets the dataset contained in the project.
int NumDataAugmentations [get]
 Number of data augmentation.

Detailed Description

Deep learning project.

A deep learning project manages a directory (EDeepLearningProject.ProjectDirectory) in which it stores:

Call to EDeepLearningProject.CloseSerializer is mandatory after usage to ensure the file handle used by this class is properly released.

License(s): EasyClassify or EasySegment or EasyLocate

Constructor & Destructor Documentation

◆ EDeepLearningProject() [1/4]

eVision.EasyDeepLearning.EDeepLearningProject.EDeepLearningProject ( string projectFile)

Creates or opens a project.

Parameters
projectFileMain project file top open

◆ EDeepLearningProject() [2/4]

eVision.EasyDeepLearning.EDeepLearningProject.EDeepLearningProject ( string projectDir,
string projectName,
eVision.EasyDeepLearning.EDeepLearningToolType type )

Creates or opens a project.

Parameters
projectDirDirectory for a new project
projectNameName of the new project project
typeType of the new project

◆ EDeepLearningProject() [3/4]

eVision.EasyDeepLearning.EDeepLearningProject.EDeepLearningProject ( )

Creates or opens a project.

◆ EDeepLearningProject() [4/4]

eVision.EasyDeepLearning.EDeepLearningProject.EDeepLearningProject ( eVision.EasyDeepLearning.EDeepLearningProject other)

Creates or opens a project.

Parameters
otherOther project for the copy constructor

Member Function Documentation

◆ AddBenchmark()

void eVision.EasyDeepLearning.EDeepLearningProject.AddBenchmark ( int toolId,
eVision.EasyDeepLearning.EDeepLearningBenchmark benchmark )

Adds a benchmark for the given tool.

Parameters
toolIdIndex of the tool
benchmarkBenchmark to add to the project

◆ AddDataAugmentation() [1/2]

void eVision.EasyDeepLearning.EDeepLearningProject.AddDataAugmentation ( string name)

Adds an empty or specified data augmentation to the project.

Parameters
nameName for the data augmentation

◆ AddDataAugmentation() [2/2]

void eVision.EasyDeepLearning.EDeepLearningProject.AddDataAugmentation ( string name,
eVision.EasyDeepLearning.EDataAugmentation dataAugmentation )

Adds an empty or specified data augmentation to the project.

Parameters
nameName for the data augmentation
dataAugmentationInstance of EDataAugmentation class

◆ AddSplit()

void eVision.EasyDeepLearning.EDeepLearningProject.AddSplit ( string name,
eVision.EasyDeepLearning.EDatasetSplit split )

Adds a split.

Parameters
nameName of the split
splitInstance of EDatasetSplit class.

◆ AddTool()

void eVision.EasyDeepLearning.EDeepLearningProject.AddTool ( string name)

Adds a new tool with the given name.

Parameters
nameName of the tool.

◆ CloseSerializer()

void eVision.EasyDeepLearning.EDeepLearningProject.CloseSerializer ( )

Closes the internal serializer and unlocks the project files and directory.

This method is always called implicitly during the destruction of the object. It is still recommended to call it explicitly in programming languages other than C++ to ensure the underlying ressources are correctly released.

This method never throws exceptions.

◆ CopyTo()

void eVision.EasyDeepLearning.EDeepLearningProject.CopyTo ( eVision.EasyDeepLearning.EDeepLearningProject other)

Copy the project.

Parameters
otherOther project

◆ GetBenchmark()

eVision.EasyDeepLearning.EDeepLearningBenchmark eVision.EasyDeepLearning.EDeepLearningProject.GetBenchmark ( int toolId,
int benchId )

Gets a benchmark for a given tool.

Parameters
toolIdIndex of the tool
benchIdIndex of the benchmark

◆ GetDataAugmentation()

eVision.EasyDeepLearning.EDataAugmentation eVision.EasyDeepLearning.EDeepLearningProject.GetDataAugmentation ( int dataAugmentationId)

Gets the data augmentation object for the given index.

Parameters
dataAugmentationIdIndex of the data augmentation

◆ GetDataAugmentationCreationDate()

long eVision.EasyDeepLearning.EDeepLearningProject.GetDataAugmentationCreationDate ( int dataAugmentationId)

Creation date of the data augmentation represented as the number of seconds since the UNIX epoch.

Parameters
dataAugmentationIdIndex of the data augmentation

◆ GetDataAugmentationCreationISODate()

string eVision.EasyDeepLearning.EDeepLearningProject.GetDataAugmentationCreationISODate ( int dataAugmentationId)

Creation date of the data augmentation formatted as an ISO 8601 date (YYYY-MM-DD HH:MM:SS).

Parameters
dataAugmentationIdIndex of the data augmentation

◆ GetDataAugmentationName()

string eVision.EasyDeepLearning.EDeepLearningProject.GetDataAugmentationName ( int dataAugmentationId)

Name of the data augmentation.

Parameters
dataAugmentationIdIndex of the data augmentation

◆ GetDefaultDataAugmentation()

eVision.EasyDeepLearning.EDataAugmentation eVision.EasyDeepLearning.EDeepLearningProject.GetDefaultDataAugmentation ( eVision.EasyDeepLearning.EDeepLearningToolType type)
static

Returns the default data augmentation used in Deep Learning Studio depending on the given tool type.

Parameters
typeType of the project

◆ GetNumBenchmarks()

int eVision.EasyDeepLearning.EDeepLearningProject.GetNumBenchmarks ( int toolId)

Number of benchmarks for the given tool.

Parameters
toolIdIndex of the tool

◆ GetResultFilename()

string eVision.EasyDeepLearning.EDeepLearningProject.GetResultFilename ( int imageId)

Result filename for the given image.

Parameters
imageIdIndex of the image in the dataset

◆ GetSplit()

eVision.EasyDeepLearning.EDatasetSplit eVision.EasyDeepLearning.EDeepLearningProject.GetSplit ( int splitId)

Gets the dataset split object for the given index.

Parameters
splitIdIndex of the split

◆ GetSplitCreationDate()

long eVision.EasyDeepLearning.EDeepLearningProject.GetSplitCreationDate ( int splitId)

Creation date of the split represented as the number of seconds since the UNIX epoch.

Parameters
splitIdIndex of the split

◆ GetSplitCreationISODate()

string eVision.EasyDeepLearning.EDeepLearningProject.GetSplitCreationISODate ( int splitId)

Creation date of the split formatted as an ISO 8601 date (YYYY-MM-DD HH:MM:SS).

Parameters
splitIdIndex of the split

◆ GetSplitName()

string eVision.EasyDeepLearning.EDeepLearningProject.GetSplitName ( int splitId)

Name of the split.

Parameters
splitIdIndex of the split

◆ GetToolCopy() [1/2]

eVision.EasyDeepLearning.EDeepLearningTool eVision.EasyDeepLearning.EDeepLearningProject.GetToolCopy ( int toolId)

Loads and returns the i-th tool of the project.

The user is responsible for deleting the returned object.

Parameters
toolIdIndex of the tool

◆ GetToolCopy() [2/2]

eVision.EasyDeepLearning.EDeepLearningTool eVision.EasyDeepLearning.EDeepLearningProject.GetToolCopy ( int toolId,
bool includeTrainingModel )

Loads and returns the i-th tool of the project.

The user is responsible for deleting the returned object.

Parameters
toolIdIndex of the tool
includeTrainingModelWhether to include the training model

◆ GetToolCreationDate()

long eVision.EasyDeepLearning.EDeepLearningProject.GetToolCreationDate ( int toolId)

Creation date of the tool represented as the number of seconds since the UNIX epoch.

Parameters
toolIdIndex of the tool

◆ GetToolDataAugmentation()

int eVision.EasyDeepLearning.EDeepLearningProject.GetToolDataAugmentation ( int toolId)

Data augmentation associated with a tool.

Parameters
toolIdIndex of the tool

◆ GetToolISOCreationDate()

string eVision.EasyDeepLearning.EDeepLearningProject.GetToolISOCreationDate ( int toolId)

Creation date of the tool represented as an ISO 8601 date (YYYY-MM-DD HH:MM:SS).

Parameters
toolIdIndex of the tool

◆ GetToolName()

string eVision.EasyDeepLearning.EDeepLearningProject.GetToolName ( int toolId)

Tool name.

Parameters
toolIdIndex of the tool

◆ GetToolSplit()

int eVision.EasyDeepLearning.EDeepLearningProject.GetToolSplit ( int toolId)

Dataset split associated with a tool.

Parameters
toolIdIndex of the tool

◆ HasFileStructureUpdates()

bool eVision.EasyDeepLearning.EDeepLearningProject.HasFileStructureUpdates ( )

Whether the project can be updated to a new folder and file structure.

◆ ImportTool() [1/2]

void eVision.EasyDeepLearning.EDeepLearningProject.ImportTool ( string name,
eVision.EasyDeepLearning.EDeepLearningTool tool )

Imports an existing tool. Note that the imported tool will be copied into the project directory. The original file will no be used by the project.

The labels' name, weight, and color in the imported tool will be taken from the dataset.

Parameters
nameName for the imported tool.
toolTool object to import. A copy of the tool will be made internally.

◆ ImportTool() [2/2]

void eVision.EasyDeepLearning.EDeepLearningProject.ImportTool ( string name,
string path )

Imports an existing tool. Note that the imported tool will be copied into the project directory. The original file will no be used by the project.

The labels' name, weight, and color in the imported tool will be taken from the dataset.

Parameters
nameName for the imported tool.
pathPath towards the tool file.

◆ IsToolNameValid()

bool eVision.EasyDeepLearning.EDeepLearningProject.IsToolNameValid ( string toolName)

Checks that the tool name is valid (not used by any other tool).

Parameters
toolNameTool name

◆ Load() [1/2]

void eVision.EasyDeepLearning.EDeepLearningProject.Load ( eVision.ESerializer serializer)

Loads a project.

Parameters
serializerThe serializer. This overload will throw as it's an invalid operation.

◆ Load() [2/2]

void eVision.EasyDeepLearning.EDeepLearningProject.Load ( string projectFile)

Loads a project.

Parameters
projectFileProject file to load.

◆ RemoveBenchmark()

void eVision.EasyDeepLearning.EDeepLearningProject.RemoveBenchmark ( int toolId,
int benchmarkId )

Removes a benchmark.

Parameters
toolIdIndex of the tool
benchmarkIdIndex of the benchmark to remove

◆ RemoveDataAugmentaton()

void eVision.EasyDeepLearning.EDeepLearningProject.RemoveDataAugmentaton ( int dataAugmentationId)

Removes the given data augmentation. The data augmentation at index 0 can't be removed.

Parameters
dataAugmentationIdIndex of the data augmentation to remove

◆ RemoveSplit()

void eVision.EasyDeepLearning.EDeepLearningProject.RemoveSplit ( int splitId)

Removes a split.

Parameters
splitIdIndex of the split

◆ RemoveTool()

void eVision.EasyDeepLearning.EDeepLearningProject.RemoveTool ( int toolId)

Removes the given tool from the project. This will also remove all files and directories associated with the tool (tool directory, result and metrics files).

Parameters
toolIdIndex of the tool to remove

◆ Save() [1/2]

void eVision.EasyDeepLearning.EDeepLearningProject.Save ( eVision.ESerializer serializer)

Saves a project and set the project directory to the parent directory of projectFile.

Parameters
serializerThe serializer. This overload will throw as it's an invalid operation.

◆ Save() [2/2]

void eVision.EasyDeepLearning.EDeepLearningProject.Save ( string projectFile)

Saves a project and set the project directory to the parent directory of projectFile.

Parameters
projectFileProject file to save.

◆ SaveProject()

void eVision.EasyDeepLearning.EDeepLearningProject.SaveProject ( )

Saves an opened project.

◆ SetBenchmark()

void eVision.EasyDeepLearning.EDeepLearningProject.SetBenchmark ( int toolId,
int benchmarkId,
eVision.EasyDeepLearning.EDeepLearningBenchmark benchmark )

Replaces a benchmark.

Parameters
toolIdIndex of the tool
benchmarkIdIndex of the benchmark to replace
benchmarkNew benchmark

◆ SetDataAugmentationName()

void eVision.EasyDeepLearning.EDeepLearningProject.SetDataAugmentationName ( int dataAugmentationId,
string name )

Name of the data augmentation.

Parameters
dataAugmentationIdIndex of the data augmentation
nameNew name for the data augmentation

◆ SetSplitName()

void eVision.EasyDeepLearning.EDeepLearningProject.SetSplitName ( int splitId,
string newName )

Name of the split.

Parameters
splitIdIndex of the split
newNameNew name for the split

◆ SetToolDataAugmentation()

void eVision.EasyDeepLearning.EDeepLearningProject.SetToolDataAugmentation ( int toolId,
int dataAugmentationId )

Data augmentation associated with a tool.

Parameters
toolIdIndex of the tool
dataAugmentationIdIndex of the data augmentation

◆ SetToolName()

void eVision.EasyDeepLearning.EDeepLearningProject.SetToolName ( int toolId,
string name )

Tool name.

Changing the name of a tool will move the directory in which the tool is saved.

Parameters
toolIdIndex of the tool
nameNew name for the tool

◆ SetToolSplit()

void eVision.EasyDeepLearning.EDeepLearningProject.SetToolSplit ( int toolId,
int splitId )

Dataset split associated with a tool.

Parameters
toolIdIndex of the tool
splitIdIndex of the split

◆ UnsetGoodLabel()

void eVision.EasyDeepLearning.EDeepLearningProject.UnsetGoodLabel ( )

Remove the good label for EasySegment Unsupervised.

◆ UpdateProjectFileStructure()

void eVision.EasyDeepLearning.EDeepLearningProject.UpdateProjectFileStructure ( )

Updates the project file structure.

Property Documentation

◆ CreationDate

long eVision.EasyDeepLearning.EDeepLearningProject.CreationDate
get

Creation date of the project represented as the number of seconds since the UNIX epoch.

◆ Dataset

eVision.EasyDeepLearning.EDataset eVision.EasyDeepLearning.EDeepLearningProject.Dataset
get

Gets the dataset contained in the project.

◆ FileStructureUpdateDescription

string eVision.EasyDeepLearning.EDeepLearningProject.FileStructureUpdateDescription
get

Description of the file structure update.

◆ GoodLabel

string eVision.EasyDeepLearning.EDeepLearningProject.GoodLabel
getset

Good label for EasySegment Unsupervised.

◆ ImageDirectory

string eVision.EasyDeepLearning.EDeepLearningProject.ImageDirectory
get

Image directory.

Calling this method will create the image directory if it doesn't exist.

◆ ImportImageIntoProjectDirectory

bool eVision.EasyDeepLearning.EDeepLearningProject.ImportImageIntoProjectDirectory
getset

Whether to import the images into the EDeepLearningProject.ImageDirectory. (Default value: true).

This is a hint for Deep Learning Studio and this property will not be enforced when adding images through the API.

Importing the images into the project directory allows relocating a project to another computer.

◆ ISOCreationDate

string eVision.EasyDeepLearning.EDeepLearningProject.ISOCreationDate
get

Creation date of the project as an ISO 8601 date (YYYY-MM-DD HH:MM:SS).

◆ Name

string eVision.EasyDeepLearning.EDeepLearningProject.Name
getset

Name of the project.

◆ NumDataAugmentations

int eVision.EasyDeepLearning.EDeepLearningProject.NumDataAugmentations
get

Number of data augmentation.

A project always contains an empty data augmentation at index 0.

◆ NumSplits

int eVision.EasyDeepLearning.EDeepLearningProject.NumSplits
get

Number of dataset splits in the project.

◆ NumTools

int eVision.EasyDeepLearning.EDeepLearningProject.NumTools
get

Number of tools.

◆ ProjectDirectory

string eVision.EasyDeepLearning.EDeepLearningProject.ProjectDirectory
getset

Project directory.

The project directory can only be set on an empty project. Setting the project directory will create the directory if it doesn't exist.

◆ ProjectFile

string eVision.EasyDeepLearning.EDeepLearningProject.ProjectFile
get

Path to the project file.

The path to the project file is only defined for a project that has non-empty EDeepLearningProject.Name and EDeepLearningProject.ProjectDirectory.

◆ Type

eVision.EasyDeepLearning.EDeepLearningToolType eVision.EasyDeepLearning.EDeepLearningProject.Type
getset

Type of the tools in the projects.