View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000738ITKpublic2004-04-07 12:222010-11-04 23:07
ReporterLuis Ibanez 
Assigned ToCory W Quammen 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionduplicate 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000738: Physical Point to Index : floor/ceil/round
DescriptionThe transformation between physical points and indices in the itkImage.h file is not matching
the description of the image coordinate system
in the SoftwareGuide.

One of the two should be fixed.
The interpolators may also need to be verified.

Reported in the users-list by Janne Hämäläinen
TagsNo tags attached.
Resolution Date
Sprint
Sprint Statuscompleted
Attached Files

 Relationships
duplicate of 0006558closedMichelKitware Physical coordinates of a pixel - Severe inconsistency and bug in ImageBase 

  Notes
(0001320)
Jim Miller (developer)
2004-07-30 13:45

We should probably adopt the convention that the origin of an image is in the center of a pixel. This means the physical extent of an image extends by half a pixel from the physical coordinates of the corner pixels.

ImageFunction::ConvertPointToNearestIndex() and ImageFunction::ConvertContinuousIndexToNearestIndex() seem to do the right thing.

ImageFunction caches the first and last index in the region as ContinuousIndices (m_StartContinuousIndex, m_EndContinuousIndex). We'll need to check their use to determine whether they should be padded by 0.5

ImageFunction::IsInsideBuffer(ContinuousIndex) would need to be updated.

ImageRegion::IsInside(ContinuousIndex) would need to be updated.

Image::TransformPhysicalPointToContinuousIndex() calls ImageRegion::IsInside(ContinuousIndex) which is incorrect, see above. Otherwise this code would be ok.

Image::TransformPhysicalPointToIndex() uses truncation where is should round. This routine also call ImageRegion::IsInside()

We should also check any filter that makes use of image spacing (look for calls to GetSpacing()) and check whether these filters are doing a physical to index calculation that needs to be corrected.

(0009067)
Luis Ibanez (manager)
2007-09-18 10:51

We will address it during WA10.

non-trivial.
(0009681)
mnieber (reporter)
2007-11-15 09:29

>> We should probably adopt the convention that the origin of an image is in the center of a pixel. This means the physical extent of an image extends by half a pixel from the physical coordinates of the corner pixels.

I have experienced major problems with this convention. It would maybe go to far to explain (but ask me if you like), but please make sure that - under the chosen convention - resampling the image does not change the part of physical space that is occupied by the image.
(0022879)
Cory W Quammen (developer)
2010-11-04 23:07

This issues is discussed (and resolved) in much more detail in bug 6558. See http://public.kitware.com/Bug/view.php?id=6558. [^]

 Issue History
Date Modified Username Field Change
2007-09-18 10:51 Luis Ibanez Note Added: 0009067
2007-11-15 09:29 mnieber Note Added: 0009681
2010-11-04 22:56 Cory W Quammen Assigned To Luis Ibanez => Cory W Quammen
2010-11-04 23:06 Cory W Quammen Relationship added duplicate of 0006558
2010-11-04 23:07 Cory W Quammen Sprint Status => completed
2010-11-04 23:07 Cory W Quammen Note Added: 0022879
2010-11-04 23:07 Cory W Quammen Status assigned => closed
2010-11-04 23:07 Cory W Quammen Resolution open => duplicate


Copyright © 2000 - 2018 MantisBT Team