Skip to content
Snippets Groups Projects
Commit b96da59a authored by Floris Berendsen's avatar Floris Berendsen
Browse files

Merge branch 'ELASTIX-14-Overlord' into develop

parents 70de753a 00b1895b
No related branches found
No related tags found
No related merge requests found
Showing
with 59 additions and 16 deletions
......@@ -80,6 +80,7 @@ endif()
include( elxModules )
elxmodule_enable( ModuleCore )
elxmodule_enable( ModuleElastix )
elxmodule_enable( ModuleExamples )
# TODO: Build tests depending on enabled modules
......
set( MODULE ModuleExamples )
# Export include files
set( ${MODULE}_INCLUDE_DIRS
${${MODULE}_SOURCE_DIR}/include
)
# Collect header files for Visual Studio Project
file(GLOB ${MODULE}_HEADER_FILES "${${MODULE}_SOURCE_DIR}/include/*.*")
# Export libraries
set( ${MODULE}_LIBRARIES
${MODULE}
)
# Module source files
set( ${MODULE}_SOURCE_FILES
${${MODULE}_SOURCE_DIR}/src/Example3rdPartyCode.cxx
${${MODULE}_SOURCE_DIR}/src/Example4thPartyCode.cxx
${${MODULE}_SOURCE_DIR}/src/GDOptimizer3rdPartyComponent.cxx
${${MODULE}_SOURCE_DIR}/src/GDOptimizer4thPartyComponent.cxx
${${MODULE}_SOURCE_DIR}/src/Metric3rdPartyWrapper.cxx
${${MODULE}_SOURCE_DIR}/src/Metric4thPartyWrapper.cxx
${${MODULE}_SOURCE_DIR}/src/SSDMetric3rdPartyComponent.cxx
${${MODULE}_SOURCE_DIR}/src/SSDMetric4thPartyComponent.cxx
${${MODULE}_SOURCE_DIR}/src/TransformComponent1.cxx
${${MODULE}_SOURCE_DIR}/src/MetricComponent1.cxx
)
# Compile library
add_library( ${MODULE} STATIC "${${MODULE}_SOURCE_FILES}" ${${MODULE}_HEADER_FILES})
target_link_libraries( ${MODULE} ${ELASTIX_LIBRARIES} )
......@@ -39,7 +39,7 @@ namespace selx
int Set(MetricDerivativeInterface*);
int Update();
//virtual bool MeetsCriteria(const CriteriaType &criteria);
virtual bool MeetsCriterium(const CriteriumType &criterium);
virtual bool MeetsCriterion(const CriterionType &criterion);
//static const char * GetName() { return "GDOptimizer3rdPartyComponent"; } ;
static const char * GetDescription() { return "GD Optimizer 3rd Party Component"; };
......
......@@ -41,7 +41,7 @@ namespace selx
// "error" : member function templates cannot be virtual
int Update(ConflictinUpdateInterface*) { return 5; };
//virtual bool MeetsCriteria(const CriteriaType &criteria);
virtual bool MeetsCriterium(const CriteriumType &criterium);
virtual bool MeetsCriterion(const CriterionType &criterion);
//static const char * GetName(){ return "GDOptimizer4thPartyComponent"; };
static const char * GetDescription(){ return "GD Optimizer 4th Party Component"; };
};
......
......@@ -26,7 +26,7 @@ public:
itkTypeMacro(MetricComponent1, ComponentBase);
typedef Superclass::CriteriaType CriteriaType;
typedef Superclass::CriteriumType CriteriumType;
typedef Superclass::CriterionType CriterionType;
virtual int Set(TransformedImageInterface *);
virtual int GetValue(){ return 0; }
......@@ -45,7 +45,7 @@ private:
MetricComponent1(const Self &); // purposely not implemented
void operator=(const Self &); // purposely not implemented
virtual bool MeetsCriterium(const CriteriumType &criterium);
virtual bool MeetsCriterion(const CriterionType &criterion);
//virtual bool MeetsCriteria(const CriteriaType&);
};
......
......@@ -33,7 +33,7 @@ namespace selx
int GetValue();
int GetDerivative();
//virtual bool MeetsCriteria(const CriteriaType &criteria);
virtual bool MeetsCriterium(const CriteriumType &criterium);
virtual bool MeetsCriterion(const CriterionType &criterion);
static const char * GetName(){ return "SSDMetric3rdPartyComponent"; }
static const char * GetDescription(){ return "SSD Metric 3rd Party Component"; };
};
......
......@@ -31,7 +31,7 @@ namespace selx
virtual ~SSDMetric4thPartyComponent();
Example4thParty::SSDMetric4thParty* theImplementation;
int GetValue();
virtual bool MeetsCriterium(const CriteriumType &criterium);
virtual bool MeetsCriterion(const CriterionType &criterion);
//virtual bool MeetsCriteria(const CriteriaType &criteria);
//static const char * GetName(){ return "SSDMetric4thPartyComponent"; };
static const char * GetDescription(){ return "SSD Metric 4th Party Component"; };
......
......@@ -26,11 +26,11 @@ public:
itkTypeMacro(TransformComponent1, ComponentBase);
typedef Superclass::CriteriaType CriteriaType;
typedef Superclass::CriteriumType CriteriumType;
typedef Superclass::CriterionType CriterionType;
int GetTransformedImage(){ return 0; };
static const char * GetDescription(){ return "Example Transform Component 1"; };
virtual bool MeetsCriterium(const CriteriumType &criterium);
virtual bool MeetsCriterion(const CriterionType &criterion);
protected:
TransformComponent1();
virtual ~TransformComponent1()
......
......@@ -32,15 +32,19 @@ int GDOptimizer3rdPartyComponent::Update()
bool
GDOptimizer3rdPartyComponent
::MeetsCriterium(const CriteriumType &criterium)
::MeetsCriterion(const CriterionType &criterion)
{
bool hasUndefinedCriteria(false);
bool meetsCriteria(false);
if (strcmp(criterium.first.c_str(), "ComponentProperty") == 0)
if (criterion.first == "ComponentProperty")
{
if (strcmp(criterium.second.c_str(), "SomeProperty") == 0) // e.g. "GradientDescent", "SupportsSparseSamples
meetsCriteria = true;
for (auto const & criterionValue : criterion.second) // auto&& preferred?
{
meetsCriteria = true;
if (criterionValue != "SomeProperty") // e.g. "GradientDescent", "SupportsSparseSamples
{
meetsCriteria = false;
}
}
}
return meetsCriteria;
......
......@@ -29,15 +29,19 @@ int GDOptimizer4thPartyComponent::Update()
bool
GDOptimizer4thPartyComponent
::MeetsCriterium(const CriteriumType &criterium)
::MeetsCriterion(const CriterionType &criterion)
{
bool hasUndefinedCriteria(false);
bool meetsCriteria(false);
if (strcmp(criterium.first.c_str(), "ComponentProperty") == 0)
if (criterion.first == "ComponentProperty")
{
if (strcmp(criterium.second.c_str(), "SomeProperty") == 0) // e.g. "GradientDescent", "SupportsSparseSamples
meetsCriteria = true;
for (auto const & criterionValue : criterion.second) // auto&& preferred?
{
meetsCriteria = true;
if (criterionValue != "SomeProperty") // e.g. "GradientDescent", "SupportsSparseSamples
{
meetsCriteria = false;
}
}
}
return meetsCriteria;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment