SimpleITK
SimpleITK
Code
BasicFilters
include
sitkHashImageFilter.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0.txt
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*=========================================================================*/
18
#ifndef sitkHashImageFilter_h
19
#define sitkHashImageFilter_h
20
21
#include "
sitkMacro.h
"
22
#include "
sitkMemberFunctionFactory.h
"
23
#include "
sitkImage.h
"
24
#include "
sitkBasicFilters.h
"
25
#include "
sitkImageFilter.h
"
26
#include "
sitkProcessObject.h
"
27
28
namespace
itk::simple
29
{
30
36
class
SITKBasicFilters_EXPORT
HashImageFilter
:
public
ProcessObject
37
{
38
public
:
39
using
Self
=
HashImageFilter
;
40
41
// function pointer type
42
typedef
std::string (
Self
::*MemberFunctionType)(
const
Image
&);
43
44
// this filter works with all itk::Image and itk::VectorImage types.
45
using
PixelIDTypeList
= typelist2::append<BasicPixelIDTypeList, ComplexPixelIDTypeList, VectorPixelIDTypeList>::type;
46
47
~
HashImageFilter
()
override
;
48
49
HashImageFilter
();
50
51
enum
HashFunction
52
{
53
SHA1
,
54
MD5
55
};
56
SITK_RETURN_SELF_TYPE_HEADER
57
SetHashFunction(
HashFunction
hashFunction);
58
HashFunction
59
GetHashFunction()
const
;
60
62
std::string
63
GetName
()
const override
64
{
65
return
std::string(
"Hash"
);
66
}
67
68
// Print ourselves out
69
std::string
70
ToString()
const override
;
71
72
std::string
73
Execute(
const
Image
&);
74
75
76
private
:
77
HashFunction
m_HashFunction
;
78
79
template
<
class
TImageType>
80
std::string
81
ExecuteInternal(
const
Image
& image);
82
template
<
class
TImageType>
83
std::string
84
ExecuteInternalLabelImage(
const
Image
& image);
85
86
// friend to get access to executeInternal member
87
friend
struct
detail::MemberFunctionAddressor
<MemberFunctionType>;
88
friend
struct
detail::ExecuteInternalLabelImageAddressor
<MemberFunctionType>;
89
90
std::unique_ptr<detail::MemberFunctionFactory<MemberFunctionType>>
m_MemberFactory
;
91
};
92
93
SITKBasicFilters_EXPORT
std::string
94
Hash
(
const
Image
& image,
HashImageFilter::HashFunction
function
=
HashImageFilter::SHA1
);
95
}
// namespace itk::simple
96
#endif
itk::simple::Image
The Image class for SimpleITK.
Definition:
sitkImage.h:76
sitkBasicFilters.h
itk::simple::HashImageFilter::HashFunction
HashFunction
Definition:
sitkHashImageFilter.h:51
itk::simple::detail::MemberFunctionAddressor
Definition:
sitkDetail.h:29
itk::simple::HashImageFilter::m_MemberFactory
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Definition:
sitkHashImageFilter.h:90
sitkImage.h
sitkMemberFunctionFactory.h
sitkImageFilter.h
itk::simple::HashImageFilter::PixelIDTypeList
typelist2::append< BasicPixelIDTypeList, ComplexPixelIDTypeList, VectorPixelIDTypeList >::type PixelIDTypeList
Definition:
sitkHashImageFilter.h:45
HashFunction
HashFunction
sitkProcessObject.h
sitkMacro.h
itk::simple::detail::ExecuteInternalLabelImageAddressor
Definition:
sitkDetail.h:99
itk::simple::HashImageFilter
Compute the sha1 or md5 hash of an image.
Definition:
sitkHashImageFilter.h:36
itk::simple::HashImageFilter::GetName
std::string GetName() const override
Definition:
sitkHashImageFilter.h:63
SITKBasicFilters_EXPORT
#define SITKBasicFilters_EXPORT
Definition:
sitkBasicFilters.h:52
HashFunction::MD5
@ MD5
itk::simple::Hash
std::string Hash(const Image &image, HashImageFilter::HashFunction function=HashImageFilter::SHA1)
itk::simple::HashImageFilter::m_HashFunction
HashFunction m_HashFunction
Definition:
sitkHashImageFilter.h:77
itk::simple::ProcessObject
Base class for SimpleITK classes based on ProcessObject.
Definition:
sitkProcessObject.h:54
itk::simple
Definition:
sitkAdditionalProcedures.h:28
itk::simple::HashImageFilter::SHA1
@ SHA1
Definition:
sitkHashImageFilter.h:53
Generated on
unknown
for SimpleITK by
1.8.17 |
Privacy Policy