Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
LSGRM
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Cresson Remi
LSGRM
Commits
d70b03f3
Commit
d70b03f3
authored
Aug 24, 2016
by
remicres
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ADD: lsgrm euclidean distance criterion
parent
0a4981ae
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
92 additions
and
0 deletions
+92
-0
include/lsgrmSpringSegmenter.h
include/lsgrmSpringSegmenter.h
+33
-0
include/lsgrmSpringSegmenter.txx
include/lsgrmSpringSegmenter.txx
+59
-0
No files found.
include/lsgrmSpringSegmenter.h
0 → 100644
View file @
d70b03f3
#ifndef __LSRM_Spring_SEGMENTER_H
#define __LSRM_Spring_SEGMENTER_H
#include "lsgrmSegmenter.h"
#include "grmSpringSegmenter.h"
namespace
lsgrm
{
template
<
class
TImage
>
class
SpringSegmenter
:
public
Segmenter
<
grm
::
SpringSegmenter
<
TImage
>
>
{
public:
/* Some convenient typedefs */
typedef
grm
::
SpringSegmenter
<
TImage
>
Superclass
;
typedef
typename
Superclass
::
NodeType
NodeType
;
typedef
typename
Superclass
::
EdgeType
EdgeType
;
typedef
typename
Superclass
::
NodePointerType
NodePointerType
;
SpringSegmenter
(){};
void
WriteSpecificAttributes
(
NodePointerType
node
,
FILE
*
nodeStream
);
void
ReadSpecificAttributes
(
NodePointerType
node
,
FILE
*
nodeStream
);
long
long
unsigned
int
GetNodeMemory
(
NodePointerType
&
node
);
};
}
// end of namespace lsrm
#include "lsgrmSpringSegmenter.txx"
#endif
include/lsgrmSpringSegmenter.txx
0 → 100644
View file @
d70b03f3
#ifndef __LSRM_Spring_SEGMENTER_TXX
#define __LSRM_Spring_SEGMENTER_TXX
#include <otbImageFileReader.h>
#include <itkImageRegionIterator.h>
namespace lsgrm
{
template<class TImage>
void
SpringSegmenter<TImage>::WriteSpecificAttributes(NodePointerType node, FILE * nodeStream)
{
std::size_t bands = node->m_Means.size();
fwrite(&(bands), sizeof(bands), 1, nodeStream);
for(unsigned int b = 0; b < node->m_Means.size(); b++)
{
fwrite(&(node->m_Means[b]), sizeof(node->m_Means[b]), 1, nodeStream);
}
}
template<class TImage>
void
SpringSegmenter<TImage>::ReadSpecificAttributes(NodePointerType node, FILE * nodeStream)
{
std::size_t bands;
fread(&(bands), sizeof(bands), 1, nodeStream);
node->m_Means.assign(bands, 0);
for(unsigned int b = 0; b < bands; b++)
{
fread(&(node->m_Means[b]), sizeof(node->m_Means[b]), 1, nodeStream);
}
}
template<class TImage>
long long unsigned int
SpringSegmenter<TImage>::GetNodeMemory(NodePointerType &node)
{
unsigned int nBands = node->m_Means.size(); //this->m_InputImage->GetNumberOfComponentsPerPixel();
long long unsigned int memory = 0;
memory += sizeof(NodePointerType); // size of the node pointer
memory += sizeof(NodeType); // size of the node (actually, size of the base node)
memory += 1 * nBands * sizeof(float); // size of the 1 attribute, multiplied by the nb. of bands
memory += node->m_Edges.size() * sizeof(EdgeType); // size of the edges
return memory;
}
} // end of namespace lsrm
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment