<div dir="ltr">I'll add that you can use SetResliceAxes() and SetResliceTransform() together.  Use the former to define a set of axes, and use the latter to apply a rotation.<div><br></div><div> - David<br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 6, 2017 at 7:05 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_-2162794500419655351markdown-here-wrapper" style="font-family:Verdana,Arial,sans-serif;color:rgb(11,83,148)"><p style="margin:0px 0px 1.2em!important">Hi Pandiyan,</p>
<p style="margin:0px 0px 1.2em!important">You should be able to use the same class (<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>) to generate oblique MPR. Just use the appropriate reslice axes direction cosines and origin.</p>
<p style="margin:0px 0px 1.2em!important">Hope that helps.</p>
<p style="margin:0px 0px 1.2em!important">Sankhesh</p>
<div title="MDH:SGkgUGFuZGl5YW4sPGRpdj48YnI+PC9kaXY+PGRpdj5Zb3Ugc2hvdWxkIGJlIGFibGUgdG8gdXNl
IHRoZSBzYW1lIGNsYXNzIChgdnRrSW1hZ2VSZXNsaWNlYCkgdG8gZ2VuZXJhdGUgb2JsaXF1ZSBN
UFIuIEp1c3QgdXNlIHRoZSBhcHByb3ByaWF0ZSByZXNsaWNlIGF4ZXMgZGlyZWN0aW9uIGNvc2lu
ZXMgYW5kIG9yaWdpbi4gVG8gZ2V0IGhlbHAgd2l0aCBmb3JtaW5nIHRoZSByZXNsaWNlIG1hdHJp
eCwgbG9vayBhdCB0aGUgY29kZSBpbiBgdnRrSW1hZ2VSZXNsaWNlQ3Vyc29yYCBjbGFzcy48L2Rp
dj48ZGl2Pjxicj48L2Rpdj48ZGl2PkhvcGUgdGhhdCBoZWxwcy48L2Rpdj48ZGl2Pjxicj48L2Rp
dj48ZGl2PlNhbmtoZXNoPC9kaXY+" 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><div class="h5"><div dir="ltr">On Mon, Mar 6, 2017 at 5:40 AM Pandia raja <<a href="mailto:pandia005@gmail.com" target="_blank">pandia005@gmail.com</a>> wrote:<br></div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr" class="m_-2162794500419655351gmail_msg">Hi,<div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg">Could you please help me to generate Oblique MPR. I can able to generate Orthogonal MPR using the below code.My requirement is based on the angle seletion I need to generate sagittal and coronal images,</div><div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg"><div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                     </span>dicomImageReader.<wbr>SetDirectoryName ( dicomImagePath );</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                     </span>dicomImageReader.Update ();</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                  </span>xyminmax = dicomImageReader.GetOutput ().GetExtent ();</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                       </span>xMin = xyminmax[0];</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                  </span>xMax = xyminmax[1];</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                  </span>yMin = xyminmax[2];</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                  </span>yMax = xyminmax[3];</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                  </span>zMin = xyminmax[4];</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                  </span>zMax = xyminmax[5];</div><div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                     </span>spacing = dicomImageReader.GetOutput ().GetSpacing ();</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                       </span>sx = spacing[0];</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                     </span>sy = spacing[1];</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                     </span>sz = spacing[2];</div><div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                        </span>origin = dicomImageReader.GetOutput ().GetOrigin ();</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                 </span>ox = origin[0];</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                      </span>oy = origin[1];</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                      </span>oz = origin[2];</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                      </span></div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                     </span>//Display mpr image</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                  </span>double cx = (ox + (0.5 * (xMax - xMin)) * sx);</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                       </span>double cy = (oy + (0.5 * (yMax - yMin)) * sy);</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                       </span>double cz = (oy + (0.5 * (zMax - zMin)) * sz);</div><div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                  </span>double[] axialElements = { 1, 0, 0, cx, 0, 1, 0, cy, 0, 0, 1, cz, 0, 0, 0, 1 };</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                      </span>double[] coronalElements = { 1, 0, 0, cx, 0, 0, 1, cy, 0, -1, 0, cz, 0, 0, 0, 1 };</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                   </span>double[] sagittalElements = { 0, 0, -1, cx, -1, 0, 0, cy, 0, -1, 0, cz, 0, 0, 0, 1 };</div><div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                   </span>// For display the Axial Slice...</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                    </span>// Set the slice orientation...</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                      </span>vtkMatrix4x4 axialResliceAxes = new vtkMatrix4x4();</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                  </span>axialResliceAxes.DeepCopy(<wbr>axialElements);</div><div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                    </span>// Extract a slice in the desired orientation...</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                     </span>axialReslice = new vtkImageReslice();</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                        </span>//axialReslice.<wbr>SetSlabNumberOfSlices ( 1 );</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                       </span>axialReslice.<wbr>SetInputConnection(<wbr>dicomImageReader.<wbr>GetOutputPort());</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                  </span>axialReslice.<wbr>SetOutputDimensionality(2);</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                  </span>axialReslice.SetResliceAxes(<wbr>axialResliceAxes);</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                    </span>axialReslice.<wbr>SetInterpolationModeToLinear()<wbr>;</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                   </span>axialReslice.SetResliceAxes(<wbr>axialResliceAxes);</div><div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                       </span>// For display the Coronal Slice...</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                  </span>// Set the slice orientation...</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                      </span>vtkMatrix4x4 coronalResliceAxes = new vtkMatrix4x4();</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                        </span>coronalResliceAxes.DeepCopy(<wbr>coronalElements);</div><div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                        </span>// Extract a slice in the desired orientation...</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                     </span>coronalReslice = new vtkImageReslice();</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                      </span>coronalReslice.<wbr>SetInputConnection(<wbr>dicomImageReader.<wbr>GetOutputPort());</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                        </span>coronalReslice.<wbr>SetOutputDimensionality(2);</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                        </span>coronalReslice.SetResliceAxes(<wbr>coronalResliceAxes);</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                        </span>coronalReslice.<wbr>SetInterpolationModeToLinear()<wbr>;</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                 </span>coronalReslice.SetResliceAxes(<wbr>coronalResliceAxes);</div><div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                   </span>// For display the Sagittal Slice...</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                 </span>// Set the slice orientation...</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                      </span>vtkMatrix4x4 sagittalResliceAxes = new vtkMatrix4x4();</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                       </span>sagittalResliceAxes.DeepCopy(<wbr>sagittalElements);</div><div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                      </span>// Extract a slice in the desired orientation</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                        </span>sagittalReslice = new vtkImageReslice();</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                     </span>sagittalReslice.<wbr>SetInputConnection(<wbr>dicomImageReader.<wbr>GetOutputPort());</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                       </span>sagittalReslice.<wbr>SetOutputDimensionality(2);</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                       </span>sagittalReslice.<wbr>SetResliceAxes(<wbr>sagittalResliceAxes);</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                   </span>sagittalReslice.<wbr>SetInterpolationModeToLinear()<wbr>;</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                        </span>sagittalReslice.<wbr>SetResliceAxes(<wbr>sagittalResliceAxes);</div><div class="m_-2162794500419655351gmail_msg"><span class="m_-2162794500419655351m_4942399480129873009gmail-Apple-tab-span m_-2162794500419655351gmail_msg" style="white-space:pre-wrap">                   </span>dicomImageReader.Delete ();</div><div class="m_-2162794500419655351gmail_msg"><br class="m_-2162794500419655351gmail_msg"></div><div class="m_-2162794500419655351gmail_msg">Thanks,</div><div class="m_-2162794500419655351gmail_msg">Pandiyan</div><div class="m_-2162794500419655351gmail_msg"><br></div></div></div></div></div></blockquote></div></blockquote></div></div></div></div>