<div dir="ltr">Hi Sankesh,<div><br></div><div>When I wrote this filter, I decided not to reduce the extent.  Similarly, if someone uses vtkImageReslice to apply cubic interpolation (which has a kernel size of 4), I don't remove two slices from each of the 6 faces of the volume.</div><div><br></div><div>Instead, for any kernel-based operation, if any of the kernel samples are outside of the input volume, then the default behavior is to clamp the coordinates of those samples to the bounds of the input (the same as what OpenGL does when you apply CLAMP_TO_EDGE with a texture lookup).  The vtkImageInterpolator also provides other methods for handling the boundary.</div><div><br></div><div>So, in the case you describe, the slab at the boundary will contain repeats of the outer slice.  To avoid this, you'd have to explicitly set the OutputExtent yourself, or else override RequestInformation().  It used to be possible to wire such changes into the pipeline easily via the ExecuteInformationEvent.</div><div><br></div><div>Really, a way to customize RequestInformation() is what is needed here... almost everyone seems to want something different, depending on their particular application, and the API for vtkImageReslice is already waaay to complicated.</div><div><br></div><div> - David</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 30, 2017 at 8:00 AM, Sankhesh Jhaveri <span dir="ltr"><<a href="mailto:sankhesh.jhaveri@kitware.com" target="_blank">sankhesh.jhaveri@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="m_-5019131403455257163markdown-here-wrapper" style="font-family:Verdana,Arial,sans-serif;color:rgb(11,83,148)"><p style="margin:0px 0px 1.2em!important">Hi David,</p>
<p style="margin:0px 0px 1.2em!important">I am looking at the <code style="font-size:0.95em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(218,218,218);background-color:rgb(232,232,232);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline">vtkImageReslice</code> class to reformat a vtkImageData, specifically at the slab operations to generate thick slices.</p><p style="margin:0px 0px 1.2em!important">When I set <code style="font-size:0.95em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(218,218,218);background-color:rgb(232,232,232);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline">SlabNumberOfSlices</code> to be greater than 1 and <code style="font-size:0.95em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(218,218,218);background-color:rgb(232,232,232);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline">SlabSliceSpacingFraction = 1</code>, I’d expect the output dimensions along the reslice direction to be less than the input dimensions. But, they come out to be the same. What am I missing here?</p>
<p style="margin:0px 0px 1.2em!important">Thank you!<br>Sankhesh</p>
<div title="MDH:SGkgRGF2aWQsPGRpdj48YnI+PC9kaXY+PGRpdj5JIGFtIGxvb2tpbmcgYXQgdGhlIGB2dGtJbWFn
ZVJlc2xpY2VgIGNsYXNzIHRvIHJlZm9ybWF0IGEgdm9sdW1lLCBzcGVjaWZpY2FsbHkgYXQgdGhl
IHNsYWIgbW9kZS4gV2hlbiBJIHNldCBgU2xhYk51bWJlck9mU2xpY2VzYCB0byBiZSBncmVhdGVy
IHRoYW4gMSBhbmQgYFNsYWJTbGljZVNwYWNpbmdGcmFjdGlvbiA9IDFgLCBJJ2QgZXhwZWN0IHRo
ZSBvdXRwdXQgZGltZW5zaW9ucyBhbG9uZyB0aGUgcmVzbGljZSBkaXJlY3Rpb24gdG8gYmUgbGVz
cyB0aGFuIHRoZSBpbnB1dCBkaW1lbnNpb25zLiBCdXQsIHRoZXkgY29tZSBvdXQgdG8gYmUgdGhl
IHNhbWUuIFdoYXQgYW0gSSBtaXNzaW5nIGhlcmU/PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5U
aGFuayB5b3UhPC9kaXY+PGRpdj5TYW5raGVzaDwvZGl2Pg==" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">​</div></div></div><span class="HOEnZb"><font color="#888888"><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr"><div class="m_-5019131403455257163inbox-markdown-here-wrapper" style="font-family:'proza libre',sans-serif;color:rgb(0,56,107)"><h5 id="m_-5019131403455257163inbox-sankhesh-jhaveri" style="margin:1.3em 0px 1em;padding:0px;font-size:1.1em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);font-weight:bold;color:rgb(11,65,148)">Sankhesh Jhaveri</h5>
<h6 id="m_-5019131403455257163inbox--sr-research-development-engineer-kitware-http-www-kitware-com-518-881-4417" style="margin:1.3em 0px 1em;padding:0px;font-size:1em;color:rgb(11,83,148);font-family:'open sans',sans-serif;font-weight:normal"><em>Sr. Research & Development Engineer</em> | <a href="http://www.kitware.com/" target="_blank">Kitware</a> | <a href="tel:(518)%20881-4417" value="+15188814417" target="_blank">(518) 881-4417</a></h6>
<div title="MDH:PGIgc3R5bGU9ImZvbnQtZmFtaWx5OiB2ZXJkYW5hLCBzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDEx
LCA4MywgMTQ4KTsiPjxmb250IHNpemU9IjIiPiMjIyMjU2Fua2hlc2ggSmhhdmVyaTwvZm9udD48
L2I+PGRpdj48Zm9udCBjb2xvcj0iIzBiNTM5NCIgZmFjZT0idmVyZGFuYSwgc2Fucy1zZXJpZiIg
c2l6ZT0iMiI+PGI+PGJyPjwvYj48L2ZvbnQ+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6
IGFyaWFsLCBzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDExLCA4MywgMTQ4KTsiPjxzcGFuIHN0eWxl
PSJmb250LWZhbWlseTogdmVyZGFuYSwgc2Fucy1zZXJpZjsiPjxpPiMjIyMjIypTci4gUmVzZWFy
Y2ggJmFtcDsgRGV2ZWxvcG1lbnQgRW5naW5lZXIqPC9pPiZuYnNwO3wmbmJzcDs8L3NwYW4+PC9z
cGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogdmVyZGFuYSwgc2Fucy1zZXJpZjsgY29sb3I6
IHJnYigxMSwgODMsIDE0OCk7Ij48YSBocmVmPSJodHRwOi8vd3d3LmtpdHdhcmUuY29tLyIgdGFy
Z2V0PSJfYmxhbmsiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCA4NSwgMjA0KTsiPktpdHdhcmU8L2E+
Jm5ic3A7fCZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IHZlcmRhbmEsIHNh
bnMtc2VyaWY7IGNvbG9yOiByZ2IoMTEsIDgzLCAxNDgpOyI+KDUxOCkgODgxLTQ0MTc8L3NwYW4+
PGJyPjwvZGl2PjxkaXY+PGRpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogdmVyZGFu
YSwgc2Fucy1zZXJpZjsgY29sb3I6IHJnYigxMSwgODMsIDE0OCk7Ij48L3NwYW4+PC9kaXY+PC9k
aXY+PC9kaXY+PC9kaXY+" style="height:0px;width:0px;max-height:0px;max-width:0px;overflow:hidden;font-size:0em;padding:0px;margin:0px">​</div></div></div></div>
</font></span></blockquote></div><br></div>