171 actorProperty = self.
actor.GetProperty()
172 actorProperty.SetColor(107 / 255.0, 190 / 255.0, 99 / 255.0)
173 actorProperty.SetLineWidth(1)
176 actorProperty = self.
actor.GetProperty()
177 actorProperty.SetColor(1, 1, 0)
178 actorProperty.SetLineWidth(1)
181 """Calculate the current level trace view if the mouse is inside the volume extent
182 Returns False if slice views are rotated.
186 sourceImageData = self.
effect.scriptedEffect.sourceVolumeImageData()
188 segmentationNode = self.
effect.scriptedEffect.parameterSetNode().GetSegmentationNode()
189 parentTransformNode =
None
191 parentTransformNode = segmentationNode.GetParentTransformNode()
194 ijk = self.
effect.xyToIjk(xy, self.
sliceWidget, sourceImageData, parentTransformNode)
195 dimensions = sourceImageData.GetDimensions()
203 offset = max(sliceNode.GetDimensions())
205 i0, j0, k0 = self.
effect.xyToIjk((0, 0), self.
sliceWidget, sourceImageData, parentTransformNode)
206 i1, j1, k1 = self.
effect.xyToIjk((offset, offset), self.
sliceWidget, sourceImageData, parentTransformNode)
222 xyToRas = sliceNode.GetXYToRAS()
223 rasToIjk = vtk.vtkMatrix4x4()
224 sourceImageData.GetImageToWorldMatrix(rasToIjk)
226 xyToIjk = vtk.vtkGeneralTransform()
227 xyToIjk.PostMultiply()
228 xyToIjk.Concatenate(xyToRas)
229 if parentTransformNode:
230 worldToSegmentation = vtk.vtkMatrix4x4()
231 parentTransformNode.GetMatrixTransformFromWorld(worldToSegmentation)
232 xyToIjk.Concatenate(worldToSegmentation)
233 xyToIjk.Concatenate(rasToIjk)
234 ijkToXy = xyToIjk.GetInverse()
235 if polyData.GetPoints():
236 ijkToXy.TransformPoints(polyData.GetPoints(), self.
xyPoints)