168 actorProperty = self.
actor.GetProperty()
169 actorProperty.SetColor(107 / 255., 190 / 255., 99 / 255.)
170 actorProperty.SetLineWidth(1)
173 actorProperty = self.
actor.GetProperty()
174 actorProperty.SetColor(1, 1, 0)
175 actorProperty.SetLineWidth(1)
178 """Calculate the current level trace view if the mouse is inside the volume extent
179 Returns False if slice views are rotated.
183 sourceImageData = self.
effect.scriptedEffect.sourceVolumeImageData()
185 segmentationNode = self.
effect.scriptedEffect.parameterSetNode().GetSegmentationNode()
186 parentTransformNode =
None
188 parentTransformNode = segmentationNode.GetParentTransformNode()
191 ijk = self.
effect.xyToIjk(xy, self.
sliceWidget, sourceImageData, parentTransformNode)
192 dimensions = sourceImageData.GetDimensions()
200 offset = max(sliceNode.GetDimensions())
202 i0, j0, k0 = self.
effect.xyToIjk((0, 0), self.
sliceWidget, sourceImageData, parentTransformNode)
203 i1, j1, k1 = self.
effect.xyToIjk((offset, offset), self.
sliceWidget, sourceImageData, parentTransformNode)
219 xyToRas = sliceNode.GetXYToRAS()
220 rasToIjk = vtk.vtkMatrix4x4()
221 sourceImageData.GetImageToWorldMatrix(rasToIjk)
223 xyToIjk = vtk.vtkGeneralTransform()
224 xyToIjk.PostMultiply()
225 xyToIjk.Concatenate(xyToRas)
226 if parentTransformNode:
227 worldToSegmentation = vtk.vtkMatrix4x4()
228 parentTransformNode.GetMatrixTransformFromWorld(worldToSegmentation)
229 xyToIjk.Concatenate(worldToSegmentation)
230 xyToIjk.Concatenate(rasToIjk)
231 ijkToXy = xyToIjk.GetInverse()
232 if polyData.GetPoints():
233 ijkToXy.TransformPoints(polyData.GetPoints(), self.
xyPoints)