<div dir="ltr"><div class="markdown-here-wrapper" style="font-family:Verdana,Arial,sans-serif;color:rgb(11,83,148)"><p style="margin:0px 0px 1.2em!important">Take a look at <a href="http://www.vtk.org/doc/nightly/html/classvtkImageResample.html#details">vtkImageResample</a>.<br>You can set 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-radius:3px;display:inline">AxisMagnificationFactor</code> or just provide a spacing value explicitly using <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-radius:3px;display:inline">SetAxisOutputSpacing</code></p>
<div title="MDH:VGFrZSBhIGxvb2sgYXQgW3Z0a0ltYWdlUmVzYW1wbGVdKDxhIGhyZWY9Imh0dHA6Ly93d3cudnRr
Lm9yZy9kb2MvbmlnaHRseS9odG1sL2NsYXNzdnRrSW1hZ2VSZXNhbXBsZS5odG1sI2RldGFpbHMi
Pmh0dHA6Ly93d3cudnRrLm9yZy9kb2MvbmlnaHRseS9odG1sL2NsYXNzdnRrSW1hZ2VSZXNhbXBs
ZS5odG1sI2RldGFpbHM8L2E+KS48ZGl2PllvdSBjYW4gc2V0IHRoZSBgQXhpc01hZ25pZmljYXRp
b25GYWN0b3JgIG9yIGp1c3QgcHJvdmlkZSBhIHNwYWNpbmcgdmFsdWUgZXhwbGljaXRseSB1c2lu
ZyBgU2V0QXhpc091dHB1dFNwYWNpbmdgPC9kaXY+" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0"></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Nov 21, 2016 at 10:24 AM Michael Hansen <<a href="mailto:michaelsvenna@gmail.com">michaelsvenna@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">Hi Sankhesh,<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Thank you for your comment. Can you tell me how I can adjust the spacing of the image data along the z-axis?</div><div class="gmail_msg">Below is my code:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><div class="gmail_msg">from PyQt5.QtWidgets import (QMainWindow,</div><div class="gmail_msg"> QFrame, QVBoxLayout, QApplication)</div><div class="gmail_msg">from PyQt5 import QtCore</div><div class="gmail_msg">from QVTKRenderWindowInteractor import QVTKRenderWindowInteractor</div><div class="gmail_msg">import random<br class="gmail_msg"></div><div class="gmail_msg">import vtk</div><div class="gmail_msg">import numpy as np</div><div class="gmail_msg">import sys</div><div class="gmail_msg">import h5py</div><div class="gmail_msg">import skimage</div><div class="gmail_msg">import matplotlib.pyplot as plt</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">def misc2stdimage(img):</div><div class="gmail_msg"> '''</div><div class="gmail_msg"> Transform arbitrarily scaled image into</div><div class="gmail_msg"> something scikit image understands, </div><div class="gmail_msg"> ie. a ubyte numpy array</div><div class="gmail_msg"> '''</div><div class="gmail_msg"> # rescale to [x E -1.0;1.0], xER</div><div class="gmail_msg"> img_rescaled = (((img - img.min()) / (img.max() - img.min()))*2)-1 </div><div class="gmail_msg"> return skimage.img_as_ubyte(img_rescaled)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">class MyEventFilter(QtCore.QObject):</div><div class="gmail_msg"> def __init__(self, vtkwindow):</div><div class="gmail_msg"> self.vtkwindow = vtkwindow</div><div class="gmail_msg"> QtCore.QObject.__init__(self)</div><div class="gmail_msg"> </div><div class="gmail_msg"> def eventFilter(self, receiver, event):</div><div class="gmail_msg"> if(event.type() == QtCore.QEvent.KeyPress):</div><div class="gmail_msg"> if event.text() == 'x':</div><div class="gmail_msg"> self.vtkwindow.slideX(1)</div><div class="gmail_msg"> elif event.text() == 'X':</div><div class="gmail_msg"> self.vtkwindow.slideX(-1)</div><div class="gmail_msg"> elif event.text() == 'y':</div><div class="gmail_msg"> self.vtkwindow.slideY(1)</div><div class="gmail_msg"> elif event.text() == 'Y':</div><div class="gmail_msg"> self.vtkwindow.slideY(-1)</div><div class="gmail_msg"> elif event.text() == 'z':</div><div class="gmail_msg"> self.vtkwindow.slideZ(1)</div><div class="gmail_msg"> elif event.text() == 'Z':</div><div class="gmail_msg"> self.vtkwindow.slideZ(-1)</div><div class="gmail_msg"> return super(MyEventFilter,self).eventFilter(receiver, event)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">def MakeLUTFromCTF(tableSize):</div><div class="gmail_msg"> '''</div><div class="gmail_msg"> Use a color transfer Function to generate the colors in the lookup table.</div><div class="gmail_msg"> See: <a href="http://www.vtk.org/doc/nightly/html/classvtkColorTransferFunction.html" class="gmail_msg" target="_blank">http://www.vtk.org/doc/nightly/html/classvtkColorTransferFunction.html</a></div><div class="gmail_msg"> :param: tableSize - The table size</div><div class="gmail_msg"> :return: The lookup table.</div><div class="gmail_msg"> '''</div><div class="gmail_msg"> ctf = vtk.vtkColorTransferFunction()<br class="gmail_msg"></div><div class="gmail_msg"> ctf.SetColorSpaceToDiverging()</div><div class="gmail_msg"> # Green to tan.</div><div class="gmail_msg"> ctf.AddRGBPoint(0.0, 0.085, 0.532, 0.201)</div><div class="gmail_msg"> ctf.AddRGBPoint(0.5, 0.865, 0.865, 0.865)</div><div class="gmail_msg"> ctf.AddRGBPoint(1.0, 0.677, 0.492, 0.093)</div><div class="gmail_msg"> </div><div class="gmail_msg"> lut = vtk.vtkLookupTable()</div><div class="gmail_msg"> lut.SetNumberOfTableValues(tableSize)</div><div class="gmail_msg"> lut.Build()</div><div class="gmail_msg"> </div><div class="gmail_msg"> for i in range(0,tableSize):</div><div class="gmail_msg"> rgb = list(ctf.GetColor(float(i)/tableSize))+[1]</div><div class="gmail_msg"> lut.SetTableValue(i,rgb)</div><div class="gmail_msg"> </div><div class="gmail_msg"> return lut</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">class MainWindow(QMainWindow):</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> def slideX(self, x):</div><div class="gmail_msg"> self.planeWidgetX.SetSliceIndex(</div><div class="gmail_msg"> self.planeWidgetX.GetSliceIndex() + x</div><div class="gmail_msg"> )</div><div class="gmail_msg"> print( self.planeWidgetX.GetSliceIndex() )</div><div class="gmail_msg"> self.ren.ResetCameraClippingRange()</div><div class="gmail_msg"> self.vtkWidget.GetRenderWindow().Render()</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> def slideY(self, y):</div><div class="gmail_msg"> self.planeWidgetY.SetSliceIndex(</div><div class="gmail_msg"> self.planeWidgetY.GetSliceIndex() + y</div><div class="gmail_msg"> )</div><div class="gmail_msg"> self.ren.ResetCameraClippingRange()</div><div class="gmail_msg"> self.vtkWidget.GetRenderWindow().Render()</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> def slideZ(self, z):</div><div class="gmail_msg"> self.planeWidgetZ.SetSliceIndex(</div><div class="gmail_msg"> self.planeWidgetZ.GetSliceIndex() + z</div><div class="gmail_msg"> )</div><div class="gmail_msg"> self.ren.ResetCameraClippingRange()</div><div class="gmail_msg"> self.vtkWidget.GetRenderWindow().Render()</div><div class="gmail_msg"> </div><div class="gmail_msg"> def __init__(self, parent = None):</div><div class="gmail_msg"> QMainWindow.__init__(self, parent)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> self.frame = QFrame()</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> self.vl = QVBoxLayout()</div><div class="gmail_msg"> self.vtkWidget = QVTKRenderWindowInteractor(self.frame)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> self.vl.addWidget(self.vtkWidget)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> self.ren = vtk.vtkRenderer()</div><div class="gmail_msg"> self.vtkWidget.GetRenderWindow().AddRenderer(self.ren)</div><div class="gmail_msg"> self.iren = self.vtkWidget.GetRenderWindow().GetInteractor()</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> F = h5py.File('../realdata.h5','r')</div><div class="gmail_msg"> volume = np.dstack(</div><div class="gmail_msg"> (</div><div class="gmail_msg"> F['02']['03']['db'],</div><div class="gmail_msg"> F['02']['04']['db'],</div><div class="gmail_msg"> F['02']['05']['db'],</div><div class="gmail_msg"> F['02']['06']['db'],</div><div class="gmail_msg"> F['02']['07']['db'],</div><div class="gmail_msg"> F['02']['08']['db']</div><div class="gmail_msg"> )</div><div class="gmail_msg"> )</div><div class="gmail_msg"> data_matrix = misc2stdimage(volume)</div><div class="gmail_msg"> F.close()</div><div class="gmail_msg"> m, n, p = data_matrix.shape</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> print(data_matrix.shape, data_matrix.dtype,</div><div class="gmail_msg"> np.min(data_matrix), np.max(data_matrix)</div><div class="gmail_msg"> )</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> v16 = vtk.vtkImageImport()</div><div class="gmail_msg"> v16.CopyImportVoidPointer(data_matrix, data_matrix.nbytes) </div><div class="gmail_msg"> v16.SetDataScalarTypeToUnsignedChar()</div><div class="gmail_msg"> v16.SetNumberOfScalarComponents(1)</div><div class="gmail_msg"> v16.SetDataExtent(0, p-1, 0, n-1, 0, m-1)</div><div class="gmail_msg"> v16.SetWholeExtent(0, p-1, 0, n-1, 0, m-1)</div><div class="gmail_msg"> </div><div class="gmail_msg"> xMin, xMax, yMin, yMax, zMin, zMax = v16.GetExecutive().\</div><div class="gmail_msg"> GetWholeExtent(</div><div class="gmail_msg"> v16.GetOutputInformation(0)</div><div class="gmail_msg"> )</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> spacing = v16.GetOutput().GetSpacing()</div><div class="gmail_msg"> sx, sy, sz = spacing</div><div class="gmail_msg"> </div><div class="gmail_msg"> origin = v16.GetOutput().GetOrigin()</div><div class="gmail_msg"> ox, oy, oz = origin</div><div class="gmail_msg"> </div><div class="gmail_msg"> # An outline is shown for context.</div><div class="gmail_msg"> outline = vtk.vtkOutlineFilter()</div><div class="gmail_msg"> outline.SetInputConnection(v16.GetOutputPort())</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> outlineMapper = vtk.vtkPolyDataMapper()</div><div class="gmail_msg"> outlineMapper.SetInputConnection(outline.GetOutputPort())</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> outlineActor = vtk.vtkActor()</div><div class="gmail_msg"> outlineActor.SetMapper(outlineMapper)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> # The shared picker enables us to use 3 planes at one time</div><div class="gmail_msg"> # and gets the picking order right</div><div class="gmail_msg"> picker = vtk.vtkCellPicker()</div><div class="gmail_msg"> picker.SetTolerance(0.005)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> norm = plt.Normalize()</div><div class="gmail_msg"> colors = plt.cm.jet(norm(range(0, 255)))</div><div class="gmail_msg"> colorFunc = vtk.vtkColorTransferFunction()</div><div class="gmail_msg"> [colorFunc.AddRGBPoint(i, colors[i,0], colors[i,1], colors[i,2])</div><div class="gmail_msg"> for i in range(0,255)]</div><div class="gmail_msg"> </div><div class="gmail_msg"> </div><div class="gmail_msg"> # The 3 image plane widgets are used to probe the dataset.</div><div class="gmail_msg"> self.planeWidgetX = vtk.vtkImagePlaneWidget()</div><div class="gmail_msg"> self.planeWidgetX.DisplayTextOn()</div><div class="gmail_msg"> self.planeWidgetX.SetInputConnection(v16.GetOutputPort())</div><div class="gmail_msg"> self.planeWidgetX.SetPlaneOrientationToXAxes()</div><div class="gmail_msg"> self.planeWidgetX.SetSliceIndex(32)</div><div class="gmail_msg"> self.planeWidgetX.SetPicker(picker)</div><div class="gmail_msg"> self.planeWidgetX.SetKeyPressActivationValue("x")</div><div class="gmail_msg"> self.planeWidgetX.SetLookupTable(MakeLUTFromCTF(200))</div><div class="gmail_msg"> </div><div class="gmail_msg"> prop1 = self.planeWidgetX.GetPlaneProperty()</div><div class="gmail_msg"> prop1.SetColor(1, 0, 0)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> self.planeWidgetY = vtk.vtkImagePlaneWidget()</div><div class="gmail_msg"> self.planeWidgetY.DisplayTextOn()</div><div class="gmail_msg"> self.planeWidgetY.SetInputConnection(v16.GetOutputPort())</div><div class="gmail_msg"> self.planeWidgetY.SetPlaneOrientationToYAxes()</div><div class="gmail_msg"> self.planeWidgetY.SetSliceIndex(32)</div><div class="gmail_msg"> self.planeWidgetY.SetPicker(picker)</div><div class="gmail_msg"> self.planeWidgetY.SetKeyPressActivationValue("y")</div><div class="gmail_msg"> self.planeWidgetY.SetLookupTable(MakeLUTFromCTF(200))</div><div class="gmail_msg"> prop2 = self.planeWidgetY.GetPlaneProperty()</div><div class="gmail_msg"> prop2.SetColor(1, 1, 0)</div><div class="gmail_msg"> self.planeWidgetY.SetLookupTable(self.planeWidgetX.GetLookupTable())</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> self.planeWidgetZ = vtk.vtkImagePlaneWidget()<br class="gmail_msg"></div><div class="gmail_msg"> self.planeWidgetZ.DisplayTextOn()</div><div class="gmail_msg"> self.planeWidgetZ.SetInputConnection(v16.GetOutputPort())</div><div class="gmail_msg"> self.planeWidgetZ.SetPlaneOrientationToZAxes()</div><div class="gmail_msg"> self.planeWidgetZ.SetSliceIndex(46)</div><div class="gmail_msg"> self.planeWidgetZ.SetPicker(picker)</div><div class="gmail_msg"> self.planeWidgetZ.SetKeyPressActivationValue("z")</div><div class="gmail_msg"> self.planeWidgetZ.SetLookupTable(MakeLUTFromCTF(200))</div><div class="gmail_msg"> prop3 = self.planeWidgetZ.GetPlaneProperty()</div><div class="gmail_msg"> prop3.SetColor(0, 0, 1)</div><div class="gmail_msg"> self.planeWidgetZ.SetLookupTable(self.planeWidgetX.GetLookupTable())</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> self.ren.AddActor(outlineActor)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> self.planeWidgetX.SetInteractor(self.iren)</div><div class="gmail_msg"> self.planeWidgetX.On()</div><div class="gmail_msg"> self.planeWidgetY.SetInteractor(self.iren)</div><div class="gmail_msg"> self.planeWidgetY.On()</div><div class="gmail_msg"> self.planeWidgetZ.SetInteractor(self.iren)</div><div class="gmail_msg"> self.planeWidgetZ.On()</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> self.ren.ResetCamera()<br class="gmail_msg"></div><div class="gmail_msg"> self.ren.ResetCameraClippingRange()</div><div class="gmail_msg"> self.ren.SetViewport(0,0,1,1)</div><div class="gmail_msg"> self.vtkWidget.GetRenderWindow().SetSize(400, 400)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> self.frame.setLayout(self.vl)</div><div class="gmail_msg"> self.setCentralWidget(self.frame)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> self.show()</div><div class="gmail_msg"> self.iren.Initialize()</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">if __name__ == "__main__":</div><div class="gmail_msg"> </div><div class="gmail_msg"> app = QApplication(sys.argv)</div><div class="gmail_msg"> window = MainWindow()</div><div class="gmail_msg"> myFilter = MyEventFilter(window)</div><div class="gmail_msg"> app.installEventFilter(myFilter)</div><div class="gmail_msg"> window.ren.ResetCamera()<br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> sys.exit(app.exec_())</div></div><div class="gmail_msg"><br class="gmail_msg"></div></div><div class="gmail_extra gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg">On Mon, Nov 21, 2016 at 3:00 PM, Sankhesh Jhaveri <span dir="ltr" class="gmail_msg"><<a href="mailto:sankhesh.jhaveri@kitware.com" class="gmail_msg" target="_blank">sankhesh.jhaveri@kitware.com</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="m_-8477855158282418137m_1633632410952220446markdown-here-wrapper gmail_msg" style="font-family:Verdana,Arial,sans-serif;color:rgb(11,83,148)"><p style="margin:0px 0px 1.2em!important" class="gmail_msg">Hi Michael,</p>
<p style="margin:0px 0px 1.2em!important" class="gmail_msg">Depending on your use case, you could either use the vtkCamera API (or an appropriate interactor style) to zoom in on a section of the data or modify the spacing of the image data along the Z axis.</p>
<p style="margin:0px 0px 1.2em!important" class="gmail_msg">Hope that helps.<br class="gmail_msg">Sankhesh</p>
<div title="MDH:SGkgTWljaGFlbCw8ZGl2Pjxicj48L2Rpdj48ZGl2PkRlcGVuZGluZyBvbiB5b3VyIHVzZSBjYXNl
LCB5b3UgY291bGQgZWl0aGVyIHVzZSB0aGUgdnRrQ2FtZXJhIEFQSSAob3IgYW4gYXBwcm9wcmlh
dGUgaW50ZXJhY3RvciBzdHlsZSkgdG8gem9vbSBpbiBvbiBhIHNlY3Rpb24gb2YgdGhlIGRhdGEg
b3IgbW9kaWZ5IHRoZSBzcGFjaW5nIG9mIHRoZSBpbWFnZSBkYXRhIGFsb25nIHRoZSBaIGF4aXMu
PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5Ib3BlIHRoYXQgaGVscHMuPC9kaXY+PGRpdj5TYW5r
aGVzaDwvZGl2Pg==" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0" class="gmail_msg"></div></div></div><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><div class="m_-8477855158282418137h5 gmail_msg"><div dir="ltr" class="gmail_msg">On Mon, Nov 21, 2016 at 4:57 AM Michael Hansen <<a href="mailto:michaelsvenna@gmail.com" class="gmail_msg" target="_blank">michaelsvenna@gmail.com</a>> wrote:<br class="gmail_msg"></div></div></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_msg"><div class="m_-8477855158282418137h5 gmail_msg"><div dir="ltr" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg"><span style="font-size:12.800000190734863px" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">Hello. I have volumes which are of size 800x30000x6</span><div style="font-size:12.800000190734863px" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg"><br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg"></div><div style="font-size:12.800000190734863px" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">I am visualizing this using 3 vtkImagePlaneWidget.</div><div style="font-size:12.800000190734863px" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg"><br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg"></div><div style="font-size:12.800000190734863px" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">This is working ok, however when i am viewing the data in the dimension which only has columns its pretty much impossible to see the content of the 6 pixels....</div><div style="font-size:12.800000190734863px" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">My question is... is there any way to stretch/zoom/scale the pixels in this dimension such that it becomes more visible to the viewer?</div><div style="font-size:12.800000190734863px" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg"><br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg"></div><div style="font-size:12.800000190734863px" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">Thanks</div></div></div></div>
_______________________________________________<br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">
Powered by <a href="http://www.kitware.com" rel="noreferrer" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg" target="_blank">www.kitware.com</a><br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">
<br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">
<br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">
<br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg" target="_blank">http://markmail.org/search/?q=vtkusers</a><br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">
<br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">
Follow this link to subscribe/unsubscribe:<br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" rel="noreferrer" class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg" target="_blank">http://public.kitware.com/mailman/listinfo/vtkusers</a><span class="m_-8477855158282418137HOEnZb gmail_msg"><font color="#888888" class="gmail_msg"><br class="m_-8477855158282418137m_1633632410952220446gmail_msg gmail_msg">
</font></span></blockquote></div><span class="m_-8477855158282418137HOEnZb gmail_msg"><font color="#888888" class="gmail_msg"><div dir="ltr" class="gmail_msg">-- <br class="gmail_msg"></div><div data-smartmail="gmail_signature" class="gmail_msg"><div dir="ltr" class="gmail_msg"><div class="m_-8477855158282418137m_1633632410952220446markdown-here-wrapper gmail_msg" style="font-family:'Proza Libre',sans-serif;color:rgb(0,56,107)"><h5 id="m_-8477855158282418137m_1633632410952220446sankhesh-jhaveri" style="color:rgb(0,65,107);margin:1.3em 0px 1em;padding:0px;font-weight:bold;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)" class="gmail_msg">Sankhesh Jhaveri</h5>
<h6 id="m_-8477855158282418137m_1633632410952220446-sr-research-development-engineer-kitware-http-www-kitware-com-518-881-4417" style="color:rgb(0,65,107);margin:1.3em 0px 1em;padding:0px;font-weight:bold;font-size:1em;color:rgb(11,83,148);font-family:'Open Sans',sans-serif;font-weight:normal" class="gmail_msg"><em class="gmail_msg">Sr. Research & Development Engineer</em> | <a href="http://www.kitware.com/" class="gmail_msg" target="_blank">Kitware</a> | <a href="tel:%28518%29%20881-4417" value="+15188814417" class="gmail_msg" 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:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0" class="gmail_msg"></div></div></div></div>
</font></span></blockquote></div><br class="gmail_msg"></div>
</blockquote></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr"><div class="markdown-here-wrapper" style="font-family:'Proza Libre',sans-serif;color:rgb(0,56,107)"><h5 id="sankhesh-jhaveri" style="color:rgb(0,65,107);margin:1.3em 0px 1em;padding:0px;font-weight:bold;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="-sr-research-development-engineer-kitware-http-www-kitware-com-518-881-4417" style="color:rgb(0,65,107);margin:1.3em 0px 1em;padding:0px;font-weight:bold;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/">Kitware</a> | (518) 881-4417</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:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0"></div></div></div></div>