Skip to content

FastEvaluate(u) for both BSplineKernelFunction _and_ BSplineDerivativeKernelFunction #2731

Merged
dzenanz merged 2 commits intoInsightSoftwareConsortium:masterfrom
N-Dekker:BSplineDerivativeKernelFunction-FastEvaluate
Sep 14, 2021
Merged

FastEvaluate(u) for both BSplineKernelFunction _and_ BSplineDerivativeKernelFunction #2731
dzenanz merged 2 commits intoInsightSoftwareConsortium:masterfrom
N-Dekker:BSplineDerivativeKernelFunction-FastEvaluate

Conversation

@N-Dekker
Copy link
Contributor

@N-Dekker N-Dekker commented Sep 12, 2021

Added static member function FastEvaluate(u) to BSplineDerivativeKernelFunction, just like the one added to BSplineKernelFunction.

Used the FastEvaluate(u) member functions of both BSplineKernelFunction and BSplineDerivativeKernelFunction inside the implementation of MattesMutualInformationImageToImageMetric and MattesMutualInformationImageToImageMetricv4.

Follow-up to pull request #2716 "PERF: BSplineKernelFunction::FastEvaluate(u): a faster way to evaluate BSplineKernelFunction"

Follow-up to pull request InsightSoftwareConsortium#2716
commit 99f04d7
"ENH: Add static member function `BSplineKernelFunction::FastEvaluate(u)`"
@github-actions github-actions bot added area:Core Issues affecting the Core module area:Registration Issues affecting the Registration module labels Sep 12, 2021
@N-Dekker N-Dekker force-pushed the BSplineDerivativeKernelFunction-FastEvaluate branch from 56b6036 to 311ac07 Compare September 12, 2021 12:49
@N-Dekker N-Dekker marked this pull request as ready for review September 12, 2021 12:51
Copy link
Member

@dzenanz dzenanz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly looks good

Removed the two dynamically allocated "cubic BSpline kernel" data
members from both `MattesMutualInformationImageToImageMetric` and
`MattesMutualInformationImageToImageMetricv4`. Replaced the virtual
`Evaluate` function calls by faster static member function calls, to
the newly added `FastEvaluate` member functions of the corresponding
`KernelFunction` classes.

Follow-up to pull request InsightSoftwareConsortium#2716
commit c23944b
"PERF: Remove BSplineInterpolationWeightFunction Kernel, use FastEvaluate"
@N-Dekker N-Dekker force-pushed the BSplineDerivativeKernelFunction-FastEvaluate branch from 311ac07 to 5947468 Compare September 13, 2021 16:12
@dzenanz dzenanz merged commit 9961ccd into InsightSoftwareConsortium:master Sep 14, 2021
N-Dekker added a commit to SuperElastix/elastix that referenced this pull request Jan 26, 2022
Paving the way for the introduction of `FastEvaluate` member functions, as introduced with ITK v5.3rc02:

 - ITK pull request InsightSoftwareConsortium/ITK#2716 commit InsightSoftwareConsortium/ITK@99f04d7 "ENH: Add static member function `BSplineKernelFunction::FastEvaluate(u)`"

 - ITK pull request InsightSoftwareConsortium/ITK#2731 commit InsightSoftwareConsortium/ITK@760ae12 "ENH: Add static `FastEvaluate(u)` to `BSplineDerivativeKernelFunction`"
N-Dekker added a commit to SuperElastix/elastix that referenced this pull request Jan 26, 2022
Similar to the `FastEvaluate` member functions, introduced with ITK v5.3rc02:

 - ITK pull request InsightSoftwareConsortium/ITK#2716 commit InsightSoftwareConsortium/ITK@99f04d7 "ENH: Add static member function `BSplineKernelFunction::FastEvaluate(u)`"

 - ITK pull request InsightSoftwareConsortium/ITK#2731 commit InsightSoftwareConsortium/ITK@760ae12 "ENH: Add static `FastEvaluate(u)` to `BSplineDerivativeKernelFunction`"
N-Dekker added a commit to SuperElastix/elastix that referenced this pull request Jan 27, 2022
Paving the way for the introduction of `FastEvaluate` member functions, as introduced with ITK v5.3rc02:

 - ITK pull request InsightSoftwareConsortium/ITK#2716 commit InsightSoftwareConsortium/ITK@99f04d7 "ENH: Add static member function `BSplineKernelFunction::FastEvaluate(u)`"

 - ITK pull request InsightSoftwareConsortium/ITK#2731 commit InsightSoftwareConsortium/ITK@760ae12 "ENH: Add static `FastEvaluate(u)` to `BSplineDerivativeKernelFunction`"
N-Dekker added a commit to SuperElastix/elastix that referenced this pull request Jan 27, 2022
Similar to the `FastEvaluate` member functions, introduced with ITK v5.3rc02:

 - ITK pull request InsightSoftwareConsortium/ITK#2716 commit InsightSoftwareConsortium/ITK@99f04d7 "ENH: Add static member function `BSplineKernelFunction::FastEvaluate(u)`"

 - ITK pull request InsightSoftwareConsortium/ITK#2731 commit InsightSoftwareConsortium/ITK@760ae12 "ENH: Add static `FastEvaluate(u)` to `BSplineDerivativeKernelFunction`"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:Core Issues affecting the Core module area:Registration Issues affecting the Registration module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants