[Insight-developers] The Debug Macro Features

Bill Lorensen wlorens1@nycap.rr.com
Tue, 18 Dec 2001 18:19:40 -0500


Why not print all the info in one DebugMacro.

At 02:12 PM 12/18/01 -0800, Sayan Pathak wrote:
>Hi,
>I have been entertained by the itkDebugMacro today.
>I have a story to tell
>======================
>I was working with the Region Growing code trying to chase a bug. When I
>discovered that the several small regions I have, are defined by the
>label they have, their area, their mean intensity and the borders
>defining these regions. There are several of these in an image set. I
>have a simple data set with only 18 regions.
>
>In the old days, when itk did not have the powerful tools like the
>itkDebugMacro; I used the std::cout & endl to give me feedback on the
>regions. One of the regions looked something like:
>------------------------------
>Location   : 00FF4C28
>Label      : 1
>Area       : 4
>Mean       : 3
>
>Num Borders: 3
>++++++++++++++++++++++++++++++
>Border Ptr :00FF71D8( 1 - 2 ) (neighbor region 1 - neighbor region 2)
>Border Ptr :00FF6C88( 1 - 4 )
>Border Ptr :00FF77B0( 1 - 10 )
>------------------------------
>------------------------------
>This looked intuitive and when several of them got printed out I had
>little problems sifting through the data. 
>But now we have a fuel injection microprocessor driven car as opposed to
>the ones with old carburetor. In other words, I use itkDebugMacro
>instead of the std::cout/endl. 
>
>When using the Debug Macro, I get extensive reporting even for a simple
>data set. As an example I have attached below the description of the
>same region. The reporting is very detailed indeed. But mostly
>redundant. I had a headache after using it a few times and have gone
>back to my old means of cout/endl.
>
>I would prefer using the itkDebugMacro as it would be a much slicker way
>of doing things. But not the way it is right now. Please let me know if
>I could do something to make it easier.
>Thanks,
>Sayan
>
>-------------------
>Debug: In
>E:\Insight-clean\Insight\Code\Common\itkKLMSegmentationRegion.cxx, lin
>e 412
>KLMSegmentationRegion (00FF4C28): ------------------------------
>
>
>Debug: In
>E:\Insight-clean\Insight\Code\Common\itkKLMSegmentationRegion.cxx, lin
>e 413
>KLMSegmentationRegion (00FF4C28): Location   : 00FF4C28
>
>
>Debug: In E:\Insight-clean\Insight\Code\Common\itkSegmentationRegion.h,
>line 100
>
>KLMSegmentationRegion (00FF4C28): returning RegionLabel of 1
>
>
>Debug: In
>E:\Insight-clean\Insight\Code\Common\itkKLMSegmentationRegion.cxx, lin
>e 414
>KLMSegmentationRegion (00FF4C28): Label      : 1
>
>
>Debug: In E:\Insight-clean\Insight\Code\Common\itkSegmentationRegion.h,
>line 104
>
>KLMSegmentationRegion (00FF4C28): returning RegionArea of 4
>
>
>Debug: In
>E:\Insight-clean\Insight\Code\Common\itkKLMSegmentationRegion.cxx, lin
>e 415
>KLMSegmentationRegion (00FF4C28): Area       : 4
>
>
>Debug: In E:\Insight-clean\Insight\Code\Common\itkSegmentationRegion.h,
>line 112
>
>KLMSegmentationRegion (00FF4C28): returning MeanRegionIntensity of 3
>
>
>
>Debug: In
>E:\Insight-clean\Insight\Code\Common\itkKLMSegmentationRegion.cxx, lin
>e 416
>KLMSegmentationRegion (00FF4C28): Mean       : 3
>
>
>
>Debug: In
>E:\Insight-clean\Insight\Code\Common\itkKLMSegmentationRegion.cxx, lin
>e 417
>KLMSegmentationRegion (00FF4C28): Num Borders: 3
>
>
>Debug: In
>E:\Insight-clean\Insight\Code\Common\itkKLMSegmentationRegion.cxx, lin
>e 418
>KLMSegmentationRegion (00FF4C28): ++++++++++++++++++++++++++++++
>
>
>Debug: In E:\Insight-clean\Insight\Code\Common\itkSegmentationRegion.h,
>line 100
>
>KLMSegmentationRegion (00FF4C28): returning RegionLabel of 1
>
>
>Debug: In
>E:\Insight-clean\Insight\Code\Common\itkKLMSegmentationRegion.cxx, lin
>e 428
>KLMSegmentationRegion (00FF4C28): Border Ptr :00FF71D8( 1 - 2 )
>
>
>Debug: In E:\Insight-clean\Insight\Code\Common\itkSegmentationRegion.h,
>line 100
>
>KLMSegmentationRegion (00FF4C28): returning RegionLabel of 1
>
>
>Debug: In
>E:\Insight-clean\Insight\Code\Common\itkKLMSegmentationRegion.cxx, lin
>e 428
>KLMSegmentationRegion (00FF4C28): Border Ptr :00FF6C88( 1 - 4 )
>
>
>Debug: In E:\Insight-clean\Insight\Code\Common\itkSegmentationRegion.h,
>line 100
>
>KLMSegmentationRegion (00FF4C28): returning RegionLabel of 1
>
>
>Debug: In
>E:\Insight-clean\Insight\Code\Common\itkKLMSegmentationRegion.cxx, lin
>e 428
>KLMSegmentationRegion (00FF4C28): Border Ptr :00FF77B0( 1 - 10 )
>_______________________________________________
>Insight-developers mailing list
>Insight-developers@public.kitware.com
>http://public.kitware.com/mailman/listinfo/insight-developers