Tag | (0070,150D) |
---|---|
Type | Required (1) |
Keyword | VolumetricCurvePoints |
Value Multiplicity | 1 |
Value Representation | Other Double String (OD) |
Coordinates of points on the curve in the Volumetric Presentation State Reference Coordinate System, in mm. One triplet (x,y,z) shall be present for each point in the curve.
See Section C.11.29.1.
The points on the curve are samples. It is an implementation decision how the points are connected.
The presence of Presentation Animation Style (0070,1A01) indicates that a form of view animation is intended by the creator of the Presentation State, and the value of the Attribute indicates the nature of such animation. See Section FF.2.4.2 “Volumetric Animation” in PS3.4 for further description of the various presentation animation styles.
Values of Presentation Animation Style (0070,1A01) are:
A number of inputs are displayed sequentially using the same Presentation State. The inputs are described by Items in Volumetric Presentation State Input Sequence (0070,1201) with values of Input Sequence Position Index (0070,1203). If Recommended Animation Rate (0070,1A03) is present, the animation occurs as values of the sequence position index are incremented at a rate specified by Recommended Animation Rate (0070,1A03) in units of steps per second. If Recommended Animation Rate (0070,1A03) is not present, the use of manual scrolling or animation rate is at the discretion of the display application. Inputs with the same Input Sequence Position Index (0070,1203) value are displayed simultaneously. If all values of Input Sequence Position Index (0070,1203) are the same, the presented view is not animated.
The animation is determined by two or more Presentation States sharing the same value of Presentation Sequence Collection UID (0070,1102). The Presentation States shall be applied sequentially in the order of Presentation Sequence Position Index (0070,1103) values as the index is varied at a rate specified by Recommended Animation Rate (0070,1A03) in units of steps per second, if present; otherwise, the use of manual scrolling or animation rate is at the discretion of the display application.
Indicates that the designated Planar MPR view shall be stepped along the curve defined in Animation Curve Sequence (0070,1A04) at the interval specified by Animation Step Size (0070,1A05). The rate is specified by Recommended Animation Rate (0070,1A03) in units of steps per second, if present; otherwise, the use of manual scrolling or animation rate is at the discretion of the display application.
Indicates that the field of view defined by Render Field of View (0070,1606) be stepped along the curve defined in Animation Curve Sequence (0070,1A04) at the rate specified by Recommended Animation Rate (0070,1A03) steps per second. Presentation Animation Style (00070,1A01) value of FLYTHROUGH shall be present only if Render Projection (0070,1602) is present.
Viewpoint LookAt Point (0070,1604) shall coincide with the first point in Volumetric Curve Points (0070,150D, the direction from the Viewpoint Position (0070,1603) to the Viewpoint LookAt Point(0070,1604) shall be tangent to the curve at that point, and the Viewpoint Up Direction (0070,1605) shall be parallel to the first direction cosine in Volumetric Curve Up Directions (0070,1A07).
These conditions ensure the view defined by the Volumetric Presentation State matches the initial view of the animation.
Spacing of curve points in Volumetric Curve Points (0070,150D) shall be chosen such that the angular change between any two consecutive direction cosines in Volumetric Curve Up Directions (0070,1A07) is always less than 90 degrees in 3D space, and should be chosen such that the change in curve direction at each point is reasonably small.
This condition and recommendation ensure that the up direction interpolated between points in Volumetric Curve Points (0070,150D) and the direction along the tangent from viewpoint to lookAt point at each step are always unambiguous.
The animation consists of a sequence of dynamically repositioned views that are successively rendered to produce a moving view along a curve through the volume. The curve is specified by the set of discrete points defined by Volumetric Curve Points (0070,150D). The views are at points along the curve determined by Animation Step Size (0070,1A04) and may or may not correspond to Volumetric Curve Points (0070,150D). At each step in the sequence, the viewpoint position, lookAt, and up direction changes as follows:
The distance D_{lookAt} is the distance between Viewpoint Position (0070,1603) and Viewpoint LookAt Point (0070,1604), which is a constant throughout the animation.
The view lookAt point is initially the first point in Volumetric Curve Points (0070,150D). At each step in the animation, the lookAt point moves on the curve a distance defined by Animation Step Size (0070,1A04) from the previous lookAt point in the direction towards the last point in Volumetric Curve Points (0070,150D).
At each lookAt point position:
There is a line L_{tan} tangent to the curve at the current LookAt point.
The viewpoint is a point on L_{tan} at a distance D_{lookAt} from the lookAt point. The direction from viewpoint to lookAt point is looking forward along the curve, generally toward the next point in Volumetric Curve Points (0070,150D).
If the current lookAt point is coincident with a point in Volumetric Curve Points (0070,150D), the up direction is the direction cosine in Volumetric Curve Up Direction (0070,1A07) corresponding to that point. Otherwise, the up direction is the direction interpolated between the two direction cosines in Volumetric Curve Up Directions (0070,1A07) corresponding to the neighboring points in Volumetric Curve Points (0070,150D).
The field of view is defined by Render Field of View (0070,1606) relative to the viewpoint coordinate system determined by the current viewpoint, lookAt point, and up direction.
Indicates that the rendered volume rotates around the "swivel axis", which is defined as the axis parallel to the Viewpoint Up Direction (0070,1605) intersecting the Viewpoint LookAt Point (0070,1604). The rendered volume rotates back and forth in the angular range specified by Swivel Range (0070,1A06) at a rotational frequency specified by Recommended Animation Rate (0070,1A03) in degrees per second. The display application should provide for smooth (rather than abrupt) changes in direction as the swivel approaches the limits of the swivel range. Shall not be used unless Render Projection (0070,1602) is present.
There are no constraints on the value of Swivel Range (0070,1A06). If this value is greater than 360 degrees, it implies that the rendered volume rotates more than one full rotation before changing direction. There is no significance given to negative rather than positive values of Swivel Range (0070,1A06).
CROSSCURVE is permitted only if the following conditions are met:
Multi-Planar Reconstruction Style (0070,1501) is present with a value of PLANAR
The curve specified by Animation Curve Sequence (0070,1A04) intersects the MPR view defined by MPR View Width Direction (0070,1507), MPR View Width (0070,1508), MPR View Height Direction (0070,1511), MPR View Height (0070,1512), and MPR Top Left Hand Corner (0070,1505) and is approximately normal to it at the point of intersection.
The original MPR Geometry parameters determine the view orientation and extent throughout the animation as follows:
The same point on the MPR plane intersects the curve at each step of the animation
The MPR x-directional vector remains unchanged from the initial MPR geometry throughout the animation
The cross-product of the x-direction vector and y-direction vector is the tangent to the curve at each point.
See Section XXX.3.2 “Spatially Related Views (e.g., Orthogonal)” in PS3.17 for an application of CROSSCURVE.