From: Gordon L. K. <gl...@uc...> - 2009-11-24 16:30:55
|
There are few fields in the gageContext that are used as output, set by gageProbe. One of them is edgeFrac: /* what fraction of the values in the kernel support had to be invented (by bleeding out the margin) in order to satisfy a probe that was near the edge (any axis, either high or low) of the volume */ One complication is that this is not just a matter of whether the probe location was inside or outside the volume, its a matter of how many of the data values that fell within the support of the convolution kernel were inside or outside the volume. That's what edgeFrac records. This is new in Teem v1.11; it wasn't in v1.10. Right now, gage does what I thought was the safest thing, which is "bleeding" (copying) the values at the margin outwards; this is a C0 continuous thing, but nothing fancier (probably not Neumann; can you give me a reference for that?). One could argue that using value 0 is the safest thing, but part of what's great about gage is its flexibility for other value kinds, described by the gageKind struct, which might even come from outside Teem. Using all 0s for a vector or tensor might be suddenly much more problematic or undefined than just re-using whatever values were already stored inside the volume (say, for quaternions, or unit-length vectors). Bleeding values seemed to be the best way to "tread lightly". I have long been meaning to increase the flexibility of gage's behaviors at edges, and this list is the place for us to throw around ideas. For me the challenge has been figuring how to specify information about values at the margin while maintaining the flexibility of working for different gageKinds. Do you make some "pad value" be a field in the gageKind? You could, but then you have to dynamically allocate the gageKind, instead of using "gageKind *const gageKindScl", which is very handy. Ideas? Gordon On Nov 24, 2009, at 10:05 AM, Daniel Blezek wrote: > I’m doing a series of gage queries on a boundary (to resample > oblique-ly). How do I set gage’s boundary conditions? It currently > extends (Neumann?) the last voxel in the volume. This is great for > interpolation, but I’d like the display to be zero. If I can’t set > the value, is there some quick way to tell if my query was outside > the volume (‘cause I know gage calculates it). > > Thanks, > -dan > > -- > Daniel Blezek, PhD > Medical Imaging Informatics Innovation Center > > P 127 or (77) 8 8886 > T 507 538 8886 > E ble...@ma... > > Mayo Clinic > 200 First St. S.W. > Harwick SL-44 > Rochester, MN 55905 > mayoclinic.org > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day > trial. Simplify your report design, integration and deployment - and > focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july_______________________________________________ > teem-users mailing list > tee...@li... > https://lists.sourceforge.net/lists/listinfo/teem-users |