[Insight-developers] Add a Convolution module under filtering?
Nicholas Tustison
ntustison at gmail.com
Tue May 31 17:40:53 EDT 2011
Right, I understand all that. My point was only that a straightforward solution
isn't obvious as attested by the multiple options that you laid out. In addition,
we could upsample the image kernel and throw a warning.
I'll just wait for Cory's proposal since it's probably a good idea to coordinate
with the FFT convolution filter.
On May 31, 2011, at 4:51 PM, Luis Ibanez wrote:
> Hi Nick,
>
>
> It certainly sounds wise to specify a kernel in terms of radii
> and to assume that its full size is going to be odd,...for many
> applications,... but a convolution filter is more general than
> just for typical 5x5, 7x7 kernel cases.
>
> Note that the user in the mailing list was making a reasonable
> use of the filter: He feed the same image as Kernel as an
> input image, for what would be the equivalent of computing
> auto-correlation.
>
> When ones tries to compute the auto-correlation of Lena,
> the question of whether the image has an odd or even
> number of pixels may not come to mind as the first thing
> to check, and it doesn't seem to be an acceptable reason
> for what a use couldn't compute the convolution of two
> images.
>
>
> We shouldn't assume either that the kernels are symmetric,
> for example.
>
> --
>
> Here are the typical options:
>
> 1) If odd size is required (expected) for the Kernel image,
> then the filter should check the input kernel to verify
> that its size is odd, and if it is not, it should throw and
> Exception explaining that only odd-size kernels can
> be used.
>
> Currently it is going along and producing an incorrect
> output without any warning.
>
>
> 2) Convolution with an even-size kernel is certainly
> possible (from the math point of view).
>
> It may require to revisit the implementation though...
>
> The first question then is whether we want the filter
> to support such feature or not.
>
>
> --
>
>
> Luis
>
>
> ---------------------------------------
> On Tue, May 31, 2011 at 4:34 PM, Nicholas Tustison <ntustison at gmail.com> wrote:
>> Hi Luis,
>>
>> Did you get my email regarding that bug? If you didn't, it's unclear to
>> me what should be done in the case of an even size image kernel
>> as such a kernel wouldn't be symmetric with respect to a given voxel.
>> I think there was wisdom in specifying neighborhoods in terms of radii
>> but that makes the solution a bit unclear.
>>
>> Nick
>>
>>
>>
>>
>> On May 31, 2011, at 4:28 PM, Luis Ibanez wrote:
>>
>>> Hi Cory,
>>>
>>> Before moving the itkConvolutionImageFilter out of Review...
>>>
>>> Did you do a Code Review of this filter using the Check List ?
>>> http://www.itk.org/Wiki/ITK_Release_4/Modularization/Code_Reviews/Checklist
>>>
>>>
>>> Code from the Review directory can't simply be moved to
>>> final directories without first verifying that it fits ITK coding
>>> standards.
>>>
>>> In particular : Code Coverage.
>>>
>>> In many cases this can be code that was copied directly
>>> from Insight Journal contributions and may or may not
>>> have passes through a maturation process in the Review
>>> directory. (git log could verify how many changes the
>>> code have experienced while in Review).
>>>
>>>
>>>
>>> Please note also that a bug was reported in this filter
>>> during the weekend:
>>>
>>> http://public.kitware.com/Bug/view.php?id=12236
>>>
>>> http://www.itk.org/pipermail/insight-users/2011-May/041307.html
>>>
>>>
>>> Luis
>>>
>>>
>>> ---------------------------------------------------
>>> On Tue, May 31, 2011 at 12:58 PM, Cory Quammen <cquammen at cs.unc.edu> wrote:
>>>> A patch for this move has been posted:
>>>> http://review.source.kitware.com/#change,1756
>>>>
>>>> A later patch will include the submission of the FFT based convolution
>>>> image filter.
>>>>
>>>> Thanks,
>>>> Cory
>>>>
>>>> On Sun, May 29, 2011 at 8:55 AM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>>>>> Hi Cory,
>>>>>
>>>>> The "Filtering" group seems to be the right place
>>>>> for this new Convolution module.
>>>>>
>>>>> Moving the classes that you mentioned to this
>>>>> new modules looks very reasonable.
>>>>>
>>>>>
>>>>> Luis
>>>>>
>>>>>
>>>>> -------------------------------------------------------------
>>>>> On Fri, May 27, 2011 at 4:19 PM, Cory Quammen <cquammen at cs.unc.edu> wrote:
>>>>>> Dear modularization team,
>>>>>>
>>>>>> In preparation for our A2D2 work on deconvolution, I'd like to create
>>>>>> a new module under Filtering named Convolution.
>>>>>>
>>>>>> Here's my tentative plan:
>>>>>> - Move itk::ConvolutionImageFilter and associated tests currently in
>>>>>> Review to the Convolution module.
>>>>>> - Add Gaetan Lehmann's FFT based convolution image filter from his
>>>>>> Insight Journal article into this module.
>>>>>>
>>>>>> If there is a better place to put these classes, please let me know.
>>>>>>
>>>>>> Thanks,
>>>>>> Cory
>>>>>>
>>>>>> --
>>>>>> Cory Quammen
>>>>>> Computer Integrated Systems for Microscopy and Manipulation (CISMM)
>>>>>> Department of Computer Science
>>>>>> University of North Carolina at Chapel Hill
>>>>>> http://www.cs.unc.edu/~cquammen
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Cory Quammen
>>>> Computer Integrated Systems for Microscopy and Manipulation (CISMM)
>>>> Department of Computer Science
>>>> University of North Carolina at Chapel Hill
>>>> http://www.cs.unc.edu/~cquammen
>>>>
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Kitware offers ITK Training Courses, for more information visit:
>>> http://kitware.com/products/protraining.html
>>>
>>> Please keep messages on-topic and check the ITK FAQ at:
>>> http://www.itk.org/Wiki/ITK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.itk.org/mailman/listinfo/insight-developers
>>
>>
More information about the Insight-developers
mailing list