WIP: Add FFTHilbertImageFilter#371
Conversation
include/rtkFFTHilbertImageFilter.hxx
Outdated
| { | ||
| ix = it.GetIndex(); | ||
|
|
||
| double x = ix[0] * spacing; |
There was a problem hiding this comment.
Please add a m_PixelShift option. This will require redefining the GenerateOutputInformation() member.
include/rtkFFTHilbertImageFilter.h
Outdated
| #include "rtkFFTProjectionsConvolutionImageFilter.h" | ||
| #include "rtkMacro.h" | ||
|
|
||
| // The Set macro is redefined to clear the current FFT kernel when a parameter |
There was a problem hiding this comment.
This is useless in thecurrent code since itkSetMacro is not used. I am suggesting to add a new member, m_PixelShift, so it would become useful, but it's actually simpler to directly use the new definition instead of this complicated trick.
9ab87e4 to
621e02a
Compare
621e02a to
3d0573e
Compare
|
I have implemented all your comments, thanks again! I have also created a test for this new filter, but it might still require some work. Specifically:
Thanks! |
|
Hi, Hopefully a helpful pointer (and a request :-)) for a monogenic signal filter: https://arxiv.org/abs/1703.09199 which is the multi-dimensional analog to the analytic signal from the Hilbert transform. We have an AnalyticSignalImageFilter here: |
|
Thanks. |
|
@SimonRit Yes, we will make ITKUltrasound available as an ITK remote module following @dzenanz 's work to support remote module dependencies in ITK 5.2: It would be nice to also have ultrasound filters depend on the CUDA filter support in RTK. I am wondering if now is the time to create a CUDA base module, and a module for FFT extensions, e.g. analytic signal, etc. that the ultrasound and RTK modules could share as dependencies. What do you think? |
|
Sounds good. For CUDA, it might be easy but we should fix #296. For FFT extensions, RTK would certainly benefit from the analytic signal. We also have filters which work line-by-line or slice-by-slice, the mother class is rtk::FFTProjectionsConvolutionImageFilter. They are pretty specific to tomographic reconstruction but they might be useful in other contexts. I'm sure you'll have some changes to suggest on the code to make it better! |
|
I'm not sure I understand the conclusion of this discussion. Do we keep the current implementation of the Hilbert transform? Should I improve it somehow, for instance by including the analytic signal? Should it be moved somewhere, like to a module that contains FFT extensions? |
|
I understood that I should finish KitwareMedical/ITKUltrasound#123 before proceeding. Then we should take the parts of ITKUltrasound which overlap ones in RTK and put them in a new common module on which both ITKUltrasound and RTK would depend. |
PR RTKConsortium#371 has been merged without properly checking that the code had been updated to ITK's latest changes. The following patches have been applied: eb90fb4 86d1e83 8ac7f0b
PR RTKConsortium#371 has been merged without properly checking that the code had been updated to ITK's latest changes. The following patches have been applied: eb90fb4 STYLE: Replace itkTypeMacro calls with `itkOverrideGetNameOfClassMacro` 86d1e83 ENH: Bump ITK and change http to https 8ac7f0b STYLE: Call ITK_DISALLOW_COPY_AND_MOVE, not ITK_DISALLOW_COPY_AND_ASSIGN
PR #371 has been merged without properly checking that the code had been updated to ITK's latest changes. The following patches have been applied: eb90fb4 STYLE: Replace itkTypeMacro calls with `itkOverrideGetNameOfClassMacro` 86d1e83 ENH: Bump ITK and change http to https 8ac7f0b STYLE: Call ITK_DISALLOW_COPY_AND_MOVE, not ITK_DISALLOW_COPY_AND_ASSIGN
PR RTKConsortium#371 has been merged without properly checking that the code had been updated to ITK's latest changes. The following patches have been applied: eb90fb4 STYLE: Replace itkTypeMacro calls with `itkOverrideGetNameOfClassMacro` 86d1e83 ENH: Bump ITK and change http to https 8ac7f0b STYLE: Call ITK_DISALLOW_COPY_AND_MOVE, not ITK_DISALLOW_COPY_AND_ASSIGN

First attempt at creating a filter to compute the Hilbert transform of an image.
A few questions:
Thanks!