DICOM PS3.3 2019b - Information Object Definitions

C.27 Common Surface IE Modules

This section describes the specific Modules for the Surface IE.

C.27.1 Surface Mesh Module

Table C.27-1 specifies the Attributes of the Surface Mesh Module.

Table C.27-1. Surface Mesh Module Attributes

Attribute Name

Tag

Type

Attribute Description

Number of Surfaces

(0066,0001)

1

Number of surfaces contained in the Instance. Shall be 1 or more. Shall be the same as the number of Items in Surface Sequence (0066,0002).

Surface Sequence

(0066,0002)

1

The surfaces that are described within the data.

One or more Items shall be included in this Sequence.

There shall be Number of Surfaces (0066,0001) Items in the Sequence.

See Section C.27.1.1.1.

>Surface Number

(0066,0003)

1

Identification number of the surface. Uniquely identifies a surface within this SOP instance. Shall start at a value of 1, and increase monotonically by 1.

>Surface Comments

(0066,0004)

3

User-defined comments describing the surface.

>Segmented Property Category Code Sequence

(0062,0003)

3

Sequence defining the general category of the property the surface represents.

Only a single Item is permitted in this Sequence.

>>Include Table 8.8-1 “Code Sequence Macro Attributes”

BCID 7150 “Segmentation Property Categories”.

>Segmented Property Type Code Sequence

(0062,000F)

3

Sequence defining the specific property the surface represents.

Note

"Property" is used in the sense of meaning "what the surface represents", whether it be a physical or biological object, be real or conceptual, having spatial, temporal or functional extent or not. I.e., it is what the segment "is" (as opposed to some feature, attribute, quality, or characteristic of it, like color or shape or size).

Only a single Item is permitted in this Sequence.

>>Include Table 8.8-1 “Code Sequence Macro Attributes”

BCID 7151 “Segmentation Property Types”.

>Surface Processing

(0066,0009)

2

Specifies whether the surface has been modified subsequent to the original generation of the surface.

Enumerated Values:

YES

NO

See Section C.27.1.1.2.

>Surface Processing Ratio

(0066,000A)

2C

The Ratio of Remaining points to Original points after processing. Required if Surface Processing (0066,0009) is YES.

>Surface Processing Description

(0066,000B)

3

A textual description of the surface processing performed.

>Surface Processing Algorithm Identification Sequence

(0066,0035)

2C

Describes the processing method.

Zero or one Item shall be included in this Sequence.

Required if Surface Processing (0066,0009) is YES.

>>Include Table 10-19 “Algorithm Identification Macro Attributes”

For Algorithm Family Code Sequence (0066,002F) Baseline CID 7162 “Surface Processing Algorithm Families”.

>Recommended Display Grayscale Value

(0062,000C)

1

A default single gray unsigned value in which it is recommended that the maximum pixel value in this surface be rendered on a monochrome display. The units are specified in P-Values from a minimum of 0000H (black) up to a maximum of FFFFH (white).

Note

The maximum P-Value for this Attribute may be different from the maximum P-Value from the output of the Presentation LUT, which may be less than 16 bits in depth.

>Recommended Display CIELab Value

(0062,000D)

1

A default triplet value in which it is recommended that the surface be rendered on a color display. The units are specified in PCS-Values, and the value is encoded as CIELab.

See Section C.10.7.1.1

>Recommended Presentation Opacity

(0066,000C)

1

Specifies the opacity in which it is recommended that the surface be rendered.

See Section C.27.1.1.3.

>Recommended Presentation Type

(0066,000D)

1

Specifies the presentation type in which it is recommended that the surface be rendered.

See Section C.27.1.1.3.

>Recommended Point Radius

(0066,0037)

3

Specifies the radius of the vertex points defined in the Long Vertex Point Index List (0066,0043) with which it is recommended that the point be rendered.

The units shall be the same as the units of the coordinate system in which the point coordinates are specified.

>Recommended Line Thickness

(0066,0038)

3

Specifies the thickness of each edge or line defined in the Long Edge Point Index List (0066,0042) or Line Sequence (0066,0028) with which it is recommended that the line be rendered.

The units shall be the same as the units of the coordinate system in which the point coordinates are specified.

>Finite Volume

(0066,000E)

1

Indicates, whether the surface represents a solid ("waterproof") object with an outside and an inside.

Enumerated Values:

YES

Contains a finite volume

NO

Does not contain a finite volume

UNKNOWN

Might or might not contain a finite volume

See Section C.27.1.1.4.

>Manifold

(0066,0010)

1

Indicates whether the surface is describing an n-1 dimensional manifold in the underlying n-dimensional vector space.

Enumerated Values:

YES

Manifold in every point

NO

Does contain non-manifold points

UNKNOWN

Might or might not contain non-manifold points

See Section C.27.1.1.5.

>Surface Points Sequence

(0066,0011)

1

The point positions representing vertices of the surface.

Only a single Item shall be included in this Sequence.

>>Include Table C.27-2 “Points Macro Attributes”

>Surface Points Normals Sequence

(0066,0012)

2

The normals on the surface for each point.

Zero or one Item shall be included in this Sequence.

See Section C.27.1.1.6.

>>Include Table C.27-3 “Vectors Macro Attributes”

Number of Vectors (0066,001E) shall equal Number of Surface Points (0066,0015) in this Surface Sequence (0066,0002) Item.

Vector Dimensionality (0066,001F) shall be 3.

If Finite Volume (0066,000E) is YES, the normals of the vertices shall point toward the outside of the object. If Finite Volume (0066,000E) is not YES, the direction of the normals shall be consistent where possible.

>Surface Mesh Primitives Sequence

(0066,0013)

1

Only a single Item shall be included in this Sequence.

>>Include Table C.27-4 “Surface Mesh Primitives Macro Attributes”

The primitives' indices shall not exceed Number of Surface Points (0066,0015) in this Surface Sequence (0066,0002) Item.


C.27.1.1 Surface Mesh Module Attribute Descriptions

C.27.1.1.1 Surface Sequence

Surface Sequence (0066,0002) describes individual surfaces. There is no requirement that a surface be contiguous. For example, both kidneys could be described as a single surface consisting of 2 non-contiguous areas.

C.27.1.1.2 Surface Processing

Surface Processing refers to methods of surface modification such as smoothing operations, which remove redundant vertices, or decimation, which will modify the resolution of the surface. If a surface has been subject to processing, a description of the process may be provided in Surface Processing Description (0066,000B).

C.27.1.1.3 Recommended Presentation

Recommended Presentation Opacity (0066,000C) is a fraction between 0.0 and 1.0 encoded as a float value representing the blending proportion of the rendering of the surface relative to underlying features.

The Recommended Presentation Type (0066,000D) Attribute provides guidance as to the default presentation of the Surface.

Defined Terms:

SURFACE

Render the surface as a solid, applying the opacity as specified in the Recommended Presentation Opacity (0066,000C) Attribute.

WIREFRAME

Represent the surface as a series of lines connecting the vertices to form the defined primitive faces.

POINTS

Represent the surface as a cloud of points.

C.27.1.1.4 Finite Volume

The Finite Volume (0066,000E) Attribute shall be YES when the surface mesh generated by the primitives is topologically closed and has an inside and an outside. A surface mesh is closed if it has no rim (every facet has a neighboring facet along each edge). Figure C.27.1.1-1 shows a surface that is not closed on the left, and a closed and waterproof version of the same shape on the right:

Finite Volume Illustration

Figure C.27.1.1-1. Finite Volume Illustration


Not all closed surfaces contain a finite volume, for example if the surface self-intersects. Such surfaces do not contain a finite volume. A surface is not required to be contiguous.

A value of NO indicates that the surface is not closed.

A value of UNKNOWN indicates that the transmitting application did not determine if the surface is closed.

C.27.1.1.5 Manifold

The Manifold (0066,0010) Attribute shall be YES when the surface mesh is a manifold.

A surface embedded into an n-dimensional vector space is called an n-1 manifold if it resembles an n-1 dimensional Euclidean space in a neighborhood of every point lying on the surface. This means that every point has a neighborhood for which there exists a homeomorphism mapping that neighborhood to the n-1 dimensional Euclidean space.

A sphere in 3-space is a 2-dimensional manifold: Every point has a neighborhood that looks like a plane.

Figure C.27.1.1-2 shows examples of a surface that is not a manifold is given below:

Manifold Illustration

Figure C.27.1.1-2. Manifold Illustration


A value of NO indicates that the surface is not a manifold.

A value of UNKNOWN indicates that the transmitting application did not determine if the surface is a manifold.

C.27.1.1.6 Surface Points Normals Sequence

Surface Points Normals Sequence (0066,0012) provides an explicit normal vector for each point in Surface Points Sequence (0066,0011) in Point Coordinates Data (0066,0016).

If an Item of Surface Points Normals Sequence (0066,0012) is present the normal for a primitive may be computed by combining the normals for each vertex making up the primitive.

If an Item of Surface Points Normals Sequence (0066,0012) is not present the normal for a primitive shall be computed by computing the cross product of two segments of the primitive. The segments shall be formed using the primitive definitions as specified within the Surface Mesh Primitives Sequence (0066,0013). The primitive vertices are taken in the order specified within Long Primitive Point Index List (0066,0040). Figure C.27.1.1-3 shows the method to compute the normal:

Triangle Normal Computation

Figure C.27.1.1-3. Triangle Normal Computation


The computed normal shall point in the direction of the outside of the surface.

For Triangle Strip or Triangle Fan primitives (see Section C.27.4), the normal direction is determined by the order of the points referenced by the first triangle in the strip or fan. When constructing a list of triangles from a triangle strip, the order of the points must be flipped for every second triangle to maintain consistency in the normal directions for the triangle.

DICOM PS3.3 2019b - Information Object Definitions