[Insight-users] Re: some requested changes
Raghavendra Chandrashekara
rc3 at doc . ic . ac . uk
Thu, 11 Dec 2003 18:21:01 +0000
Hi Samson,
The class has been updated. A Get/Set macro called
UpperBoundIncreaseFactor has been added. We will check the updated files
in soon.
Thanks,
Raghavendra
Luis Ibanez wrote:
>
> Hi Raghavendra,
>
> The need for increasing the bound is not what
> it is question, but rather the value of this
> increase and the fact that the value is fixed
> in the code.
>
> I think Samson's suggestion of making this a
> member variable that the user can set its the
> way to go. We can still initialize this variable
> to "0.001" if this value is a good default.
>
> It is just not good in general to bury numerical
> values in the code.
>
> We could call it something like:
>
> m_BoundTolerance
>
> or
>
> m_BoundIncrease
>
>
> and provide Set/Get macros for getting access to it.
>
> Would any of this names be ok with you ?
> or would you prefere any more apropriate name ?
>
>
> Thanks
>
>
> Luis
>
>
> ----------------------------------
> Raghavendra Chandrashekara wrote:
>
>> Hi Samson,
>>
>> Thanks for your comments and finding the bugs in the test programs!
>>
>> Luis Ibanez wrote:
>>
>>> 3) The min/max Fixed/Moving variables were added as you
>>> suggested. I din't dare to remove the "evil" 0.001
>>> in this pass, so please keep this as an open issue
>>> we may have to pay a second visit to this file.
>>
>>
>>
>> The reason that the upper bound was increased by a small amount was
>> that the itkHistogram class is designed not to hold a sample value
>> equal to the upper bound value of the histogram. I quote the message
>> where there was a discussion about this (05/13/2003) below. Since the
>> images being registered will contain these upper bound samples the
>> upper bounds held in the metrics are increased slightly. Maybe it
>> would be better to remove the 0.001 and let the user worry about
>> setting the upper bound appropriately for the images they are using?
>> What do you think Luis?
>>
>> Raghavendra
>>
>>> Hi.
>>>
>>> The answer is no. It's by design. You have set the
>>> upper bound a little bit larger than the largest value
>>> you want to put into it. --- Raghavendra Chandrashekara
>>> <rc3 at doc . ic . ac . uk>
>>> wrote:
>>>
>>>
>>>>> Hi Folks,
>>>>>
>>>>> Is it possible for the itk::Histogram class to hold
>>>>> a sample value which is equal to the upper bound value? I've written a
>>>>> simple test program which creates a 2D histogram and tries to increase
>>>>> the frequency of a sample value at the lower and upper bounds. The
>>>>> lower bound sample value frequency is increased by 1, but the upper
>>>>> bound is
>>>>> not. Please can you tell me if this is a bug or this is the expected
>>>>> behaviour.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Raghavendra
>>>>
>>>>
>>>>
>>>>
>>>>>> > #include "itkHistogram.h"
>>>>>
>>>>>
>>>>>
>>>>> int main()
>>>>> {
>>>>> typedef itk::Statistics::Histogram<double, 2>
>>>>> HistogramType;
>>>>>
>>>>> // Initialize histogram.
>>>>> HistogramType::Pointer pHistogram =
>>>>> HistogramType::New();
>>>>> HistogramType::MeasurementVectorType lowerBound;
>>>>> HistogramType::MeasurementVectorType upperBound;
>>>>> HistogramType::SizeType size;
>>>>> size.Fill(1024);
>>>>> lowerBound.Fill(0);
>>>>> upperBound.Fill(255);
>>>>> pHistogram->Initialize(size, lowerBound,
>>>>> upperBound);
>>>>>
>>>>> // Add samples.
>>>>> HistogramType::MeasurementVectorType vec;
>>>>> vec[0] = 0;
>>>>> vec[1] = 0;
>>>>> pHistogram->IncreaseFrequency(vec, 1);
>>>>> vec[0] = 255;
>>>>> vec[1] = 255;
>>>>> pHistogram->IncreaseFrequency(vec, 1);
>>>>>
>>>>> HistogramType::Iterator it = pHistogram->Begin();
>>>>> HistogramType::Iterator end = pHistogram->End();
>>>>> while (it != end) {
>>>>> if (it.GetFrequency() > 0) {
>>>>> std::cout << "Measurement = " <<
>>>>> it.GetMeasurementVector()
>>>>> << "Frequency = " << it.GetFrequency() <<
>>>>> std::endl;
>>>>> }
>>>>> ++it;
>>>>> }
>>>>>
>>>>> return 0;
>>>>> }
>>>>
>>>>
>>>>
>>>>
>>>>>> > PROJECT(Histogram)
>>>>>
>>>>>
>>>>>
>>>>> INCLUDE(${CMAKE_ROOT}/Modules/FindITK.cmake)
>>>>>
>>>>> IF (ITK_USE_FILE)
>>>>> INCLUDE(${ITK_USE_FILE})
>>>>> ENDIF (ITK_USE_FILE)
>>>>>
>>>>> INCLUDE_DIRECTORIES(${VIPITK_SOURCE_DIR}/Code)
>>>>> LINK_DIRECTORIES(${VIPITK_BINARY_DIR}/Code)
>>>>> LINK_LIBRARIES(${ITK_LIBRARIES})
>>>>>
>>>>> ADD_EXECUTABLE(Histogram Histogram.cpp)
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>> =====
>>> Jisung Kim
>>> bahrahm at yahoo . com
>>> 106 Mason Farm Rd.
>>> 129 Radiology Research Lab., CB# 7515
>>> Univ. of North Carolina at Chapel Hill
>>> Chapel Hill, NC 27599-7515
>>>
>>> __________________________________
>>> Do you Yahoo!?
>>> The New Yahoo! Search - Faster. Easier. Bingo.
>>> http://search . yahoo . com
>>>
>>>
>>
>>
>> _______________________________________________
>> Insight-users mailing list
>> Insight-users at itk . org
>> http://www . itk . org/mailman/listinfo/insight-users
>>
>
>
>