Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Christian Butz
VTK
Commits
e0db3ed9
Commit
e0db3ed9
authored
Nov 30, 2011
by
David Gobbi
Browse files
ENH: Remove ops from the inner loops of vtkImageHistogram.
Change-Id: I65e41c7675d353048dcf45766a9e64b44fda7888
parent
4763f4f8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Imaging/vtkImageHistogram.cxx
View file @
e0db3ed9
...
...
@@ -331,16 +331,20 @@ void vtkImageHistogramExecuteRange(
{
inPtr
=
inIter
.
BeginSpan
();
T
*
inPtrEnd
=
inIter
.
EndSpan
();
// iterate over all voxels in the span
while
(
inPtr
!=
inPtrEnd
)
if
(
inPtr
!=
inPtrEnd
)
{
T
x
=
inPtr
[
c
];
int
n
=
static_cast
<
int
>
((
inPtrEnd
-
inPtr
)
/
nc
);
inPtr
+=
c
;
do
{
T
x
=
*
inPtr
;
xmin
=
(
xmin
<
x
?
xmin
:
x
);
xmax
=
(
xmax
>
x
?
xmax
:
x
);
xmin
=
(
xmin
<
x
?
xmin
:
x
);
xmax
=
(
xmax
>
x
?
xmax
:
x
);
inPtr
+=
nc
;
inPtr
+=
nc
;
}
while
(
--
n
);
}
}
inIter
.
NextSpan
();
...
...
@@ -385,21 +389,27 @@ void vtkImageHistogramExecute(
T
*
inPtrEnd
=
inIter
.
EndSpan
();
// iterate over all voxels in the span
while
(
inPtr
!=
inPtrEnd
)
if
(
inPtr
!=
inPtrEnd
)
{
double
x
=
inPtr
[
c
];
int
n
=
static_cast
<
int
>
((
inPtrEnd
-
inPtr
)
/
nc
);
inPtr
+=
c
;
do
{
double
x
=
*
inPtr
;
x
+=
xshift
;
x
*=
xscale
;
x
+=
xshift
;
x
*=
xscale
;
x
=
(
x
>
xmin
?
x
:
xmin
);
x
=
(
x
<
xmax
?
x
:
xmax
);
x
=
(
x
>
xmin
?
x
:
xmin
);
x
=
(
x
<
xmax
?
x
:
xmax
);
int
xi
=
static_cast
<
int
>
(
x
+
0.5
);
int
xi
=
static_cast
<
int
>
(
x
+
0.5
);
outPtr
[
xi
]
++
;
outPtr
[
xi
]
++
;
inPtr
+=
nc
;
inPtr
+=
nc
;
}
while
(
--
n
);
}
}
inIter
.
NextSpan
();
...
...
@@ -440,8 +450,7 @@ void vtkImageHistogramExecuteInt(
inPtr
+=
c
;
do
{
int
ix
=
static_cast
<
int
>
(
*
inPtr
);
outPtr
[
ix
]
++
;
outPtr
[
*
inPtr
]
++
;
inPtr
+=
nc
;
}
while
(
--
n
);
...
...
@@ -451,6 +460,20 @@ void vtkImageHistogramExecuteInt(
}
}
// no-op version for float
void
vtkImageHistogramExecuteInt
(
vtkImageHistogram
*
,
vtkImageData
*
,
vtkImageStencilData
*
,
float
*
,
int
[
6
],
vtkIdType
*
,
int
,
int
)
{
}
// no-op version for double
void
vtkImageHistogramExecuteInt
(
vtkImageHistogram
*
,
vtkImageData
*
,
vtkImageStencilData
*
,
double
*
,
int
[
6
],
vtkIdType
*
,
int
,
int
)
{
}
//----------------------------------------------------------------------------
void
vtkImageHistogramGenerateImage
(
vtkIdType
*
histogram
,
int
nx
,
...
...
Write
Preview
Supports
Markdown
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