# Patent

## Title
Method for interpolating an intermediate polygon p from two polygons p1 and p2

## Abstract

A method for interpolating an intermediate polygon P from two polygons P1 and P2. The method includes, in at least one embodiment, defining a similarity measure based on a geometrical reference object, the geometrical reference object being associated with the two polygons P1 and P2; and based on the similarity measure, determining an initial pair of corresponding points. Based on this initial pair of corresponding points, in at least one embodiment of the method, a sequence of pairs of corresponding points is determined from which sequence the intermediate polygon is interpolated.

## Background
FIELD
At least one embodiment of the present invention generally relates to the field of medical image processing and in particular generally relates to the area of segmentation of volumetric image data sets.
BACKGROUND
Medical facilities have come to rely more and more on computerized systems for the purposes of diagnosis and therapy.
Many medical imaging processes are based on high quality volumetric image data acquired by computer-controlled high performance modalities such as computer tomographs (CT), positron emission tomographs (PET) and magnetic resonance (MR) scanners. In general, three-dimensional (3D) volumetric image data are processed by modern volume rendering processors to obtain two-dimensional (2D) cross-sectional views, called slices, which are then visually examined by the radiologist for the purposes of diagnosis or therapy. The slices allow the radiologist to examine a condition of a patient as they show a cross-sectional representation of an organ of interest, for example the liver or the kidneys of a patient, afflicted for example by a tumor. The information in the slices relevant for diagnosis or therapy, that is information related to the organ of interest, is referred to as regions of interest.
The regions of interest are defined by coordinates of pixels in the slice or a number of parallel, spatially adjacent slices of a volumetric image data set. The regions of interest must first be extracted by a procedure known as segmentation before they can be made accessible to a post-processing computer system for the purposes of diagnosis, therapy or follow-up. The segmentation of the slices allows the radiologist to obtain a coordinate-wise definition of the regions of interest and to feed this information for example into a control unit of a linear accelerator for the purposes of radiotherapy. The linear accelerator can then be controlled such as to direct a beam to a specific organ of the patient as defined by the regions of interest, for example a cancerous liver.
Currently, the segmentation of the regions of interest is performed manually or semi-automatically by the radiologist. The radiologist uses for example a mouse or other pointer tools to outline the regions within the slices by contours. The coordinates within the slices marked by the contours are then translated into polygons by mathematical or CAD software systems and fed into dedicated segmentation supporting software systems.
There are known in the state of the prior art a number of such segmentation supporting software systems, for example “Live Wire”, “Live Lane” or “Interactive Active Contours”. The volumetric image data captured by the high performance medical modalities are capable of acquiring the slices in smaller than 0.5 mm intervals across an axis of the patient. This results in the organ of interest to be represented by the regions of interest being distributed across many hundreds of adjacent slices. Marking the regions of interest within each one of those slices is therefore not feasible. The segmentation supporting software system assists the radiologist in this tedious and time consuming but all the more important task of segmentation of regions of interest by using a number of different interpolation algorithms.
These algorithms interpolate from an ideally small number of polygons representing the contours of the regions of interest in those slices actually marked by the radiologist to obtain intermediate polygons and ultimately contours for the regions of interest within the slices not marked by the radiologist.
The polygon interpolation algorithms also known as “contour morphing”, “two-dimensional shape blending”, or “boundary mapping”, take as input two adjacent polygons from which the intermediate polygon is interpolated.
The polygon interpolation algorithms normally comprise a step of calculating pairs of corresponding points from among the points of the two polygons.
Each point in the pair of corresponding points is from different ones of the two polygons. The pairs of corresponding points are then used for the actual interpolation of the points of the intermediate polygon, each pair yielding an point of the intermediate polygon.
Furthermore, the interpolation algorithms are based on a similarity measure used as normally restricting or constraining the step of determining the pairs of corresponding points. However, interpolation algorithms used in current segmentation supporting software systems are suffering from a number of shortcomings.
The segmentation supporting software systems relying for example on the boundary based parametric polygon morphing algorithm by D. H. Chen and Y. N. Sun (IEICE Transactions and Information Systems, Vol. E84-D, No. 4, pp. 511-520, 2001) necessitate a high degree of interactivity as they require the radiologist to prescribe corresponding points manually between the polygons. Although this system somewhat cuts down the time for performing the segmentation in that the radiologist is no longer needed to perform the segmentations on all of the slices, it still remains a time consuming task due to the semi-automatic character of this algorithm.
Furthermore, the method by Chen & Sun requires the slices from which the two polygons have been derived to be parallel. The applicability of this algorithm for clinical purposes is therefore restricted.
Other polygon algorithms lead to prohibitively long computation times, thus rendering corresponding segmentation supporting software systems unsuitable for the fast-paced clinical environment.
Those polygon interpolation algorithms scale quadratically or even cubically with a number of sampling points on the two polygons used for the interpolation. The reason for those time complexities is manifold. For example, some of the polygon interpolation algorithms require a comparison of each point of one of the polygons with each of the points of the other polygon. Examples of algorithms having higher complexity are provided by algorithm basing the step of determining corresponding points on the rasterization of areas enclosed by each of the two polygons, see for example G. M. Treece et al., “Surface interpolation from sparse cross sections using region correspondence,” IEEE Transactions on Medical Imaging (Vol. 19, No. 11, pp 1106-1114, November 2000) or first deriving a skeleton of the polygonal shape, see for example G. Barequet et al., “Contour interpolation by straight skeletons,” Graphical Models (Vol. 66, No. 4, pp 245-260, July 2004). Other examples are the polygon interpolation algorithm according to A. Efrat et al. that uses a similarity measure based on “geodesic width” or “link-width” which ultimately results in the algorithm to scale quadratically with the number of sample points.
As segmentation lies at the heart of many important diagnostic and therapeutic processes there is a need for fast and efficient polygon interpolation algorithms. There is also a need for a polygon interpolation algorithm that is fully automatic and only requires a minimal degree of user interaction.
There is a further need for a polygon interpolation algorithm that can dispense with the requirement of polygons being derived from parallel slices.
There is furthermore a need in the art for a polygon interpolation algorithm that scales less than quadratically with the number of sampling points.
SUMMARY
At least one embodiment of the invention addresses at least one of the needs in the art of medical image processing in providing a system and a method for polygon interpolation suitable for automatic segmentation of regions of interest within slices, in at least one embodiment the method being based on an easy to implement and computationally efficient similarity measure for calculating the pairs of corresponding points.
The solution according to at least one embodiment of the invention allows reconstruction of three-dimensional structures such as organs of interest as represented in medical volumetric data sets on the basis of intermediate polygons interpolated from pairs of polygons P1 and P2, the polygons P1 and P2 outlining cross-sectional structures, that is regions of interests, of the organ of interest to be reconstructed.
Accordingly, it is an object of at least one embodiment of the present invention to provide a method for interpolating at least one intermediate polygon Pi from two adjacent polygons P1 and P2 the method comprising:

    
    
        defining a similarity measure based on a geometrical reference object; the geometrical reference object is associated with the two polygons P1 and P2;
        based on the similarity measure, determining an initial pair of corresponding points;
        iteratively generating from the initial pair of corresponding points a sequence of pairs of corresponding points; any pair in the sequence of the corresponding points is related only to the immediate predecessor pair of corresponding points in the sequence wherein this relation is established by way of the geometrical reference object;
        interpolating points of the intermediate polygon either from the initial pair of corresponding points or from one pair of corresponding points from the generated sequence of pairs of corresponding points.
    
    


The term “polygon” refers to a two-dimensional figure defined by a set of vertices and connecting edges. However, the term is meant also to include higher dimensional “polygons” such as 3-dimensional polyhedrons defined by boundary surfaces. The polygons outline regions of interest within medical image data such as slices derived from volumetric data acquired from tomographic imaging modalities. The polygons may also refer to figures used in key frames interpolated for the purposes of generating animated cartoons.
By the term “similarity measure” is meant a function or a procedure suitable to ascertain a similarity of the two polygons with respect to their shape.
According to one aspect of at least one embodiment of the present invention, the “geometric reference object” is taken to be a circle circumscribing both of the polygons P1 and P2. However, other geometrical figures are also within the scope of the invention such as an ellipse or an ellipsoid if the polygons are higher dimensional. In particular, according to one aspect of at least one embodiment of the present invention, the geometric reference object is in a plane parallel to planes of the two polygons P1 and P2.
The term “pair of corresponding points” refers to a pair of points where one point is taken from polygon P1 and the other point is taken from the polygon P2.
By linearly generating, is meant a procedure where each pair of corresponding points in the sequence is derivable from its immediate predecessor pair of corresponding points in the sequence, starting out with the initial pair of corresponding points. This allows keeping the computation time from scaling quadratically, as there is no mutual comparison involved of each of the points from one of the polygons P1 or P2 with each of the points from the other polygon.
The interpolation is based on the pairs of corresponding points in as much as each point of the intermediate polygon is derived from exactly one pair of corresponding points from the sequence of pairs of corresponding points. The interpolation method according to at least one embodiment of the invention is fully automatic as the iterative generation procedure for the pairs of corresponding points does not require user-interaction.
According to an alternative aspect of at least one embodiment of the invention, the user can still require reinterpolation of a selected number of intermediate polygons in case some the selected intermediate polygons are incompatible with medical knowledge.
According to one aspect of at least one embodiment of the present invention the definition of the similarity measure comprises:

    
    
        acquiring distance profiles D1 and D2 for P1 and P2 respectively; the distance profiles D1 and D2 measure a deviation of the shapes of the polygons P1 and P2, respectively, from the shape of the geometrical reference object;
        re-sampling the distance for the measures D1 and D2 at common sampling points;
        storing independently each of the re-sampled distance profiles D1 and D2 as search data structures;
        comparing the stored distance profile measures D1 and D2 to obtain the similarity measure.
    
    


According to one aspect of at least one embodiment of the present invention the similarity measure includes two distance profiles D1 and D2. The distance profiles D1 and D2 are functions or procedures suitable to measure the difference of shape between polygon P1 and the geometric reference object on the one hand and the polygon P2 and the geometric reference object on the other hand. The shapes of the polygons P1 and P2 are compared by reference to the shape of the geometric reference object. Hence, the shapes of the polygons P1 and P2 are compared indirectly. This allows for a simple implementation of measuring similarity by the similarity measure if the geometric reference object has a simple shape, such as a circular shape.
The distance profiles D1 and D2 are re-sampled according to Shannon's sampling theorem such as not to loose information concerning the shapes of the polygons P1 and P2 as encoded therein and such that both re-sampled distance profiles D1 and D2 comprise an equal number of sample points. This allows storing of the distance profiles D1 and D2 as search data structures for example as balanced binary search trees or other suitable search data structures.
The geometric reference object is represented in parameter form by a parameterizing parameter. By using the parameterizing parameter of the geometric reference object as a search key in the search data structure the iterative generation procedure for the pairs of corresponding points can be efficiently implemented such as to even further reduced computation time.
According to another aspect of at least one embodiment of the present invention the step of determining the initial pair of corresponding points includes minimizing the similarity measure over the geometric reference object by using the parameterizing parameter of the geometric reference object. In this way, the initial pair of corresponding points from the associated polygons P1 and P2 are obtained.
The method according to at least one embodiment of the present invention for interpolating the intermediate polygon therefore requires the solution of only one minimization problem. The argument of the minimum of the similarity measure over the geometric reference object is a specific value for the parameterizing parameter of the geometric reference object. The specific value of the parameterizing parameter is then used as a search key for a look-up within the search data structures representing the distance profiles D1 and D2. This look-up procedure yields the initial pair of corresponding points. The iterative generating procedure for the sequence of pairs of corresponding points requires iterative look-ups to obtain the sequence of pairs of corresponding points one by one. A mutual comparison of points of the two polygons is not necessary, neither is there required a solution of any further minimization problem. This allows keeping the computation time from scaling quadratically.
A further objective of at least one embodiment of at least one embodiment of the present invention is to provide a method for measuring a similarity of two polygons P1 and P2 based on the above similarity measure. According to one aspect of at least one embodiment of the present invention this method for measuring the similarity of the two polygons P1 and P2 is used for the purposes of shape morphing. A method for measuring the similarity is used to assess as “goodness” of fit of an intermediate polygon with respect to the two polygons P1 and P2. The intermediate polygon is though to be one of a number of polygons in the series of polygons involved in a process of morphing one of the two polygons P1 and P2 into the other polygon P2 and P1 respectively. The method can be usefully employed in the field of computer graphics, key frame animation, or shape extrusion in the field of 3D-modeling of three-dimensional objects.
According to yet another aspect of at least one embodiment of the present invention, there is provided a computer program being loadable in a memory of a computer, wherein the computer program is adapted to carry out the steps of the methods as mentioned above.
Another aspect of at least one embodiment of the present invention provides a system suitable for automatically segmenting volume data slices as acquired by medical imaging modalities. The slices are thought to include marked slices, having marked contours, marking regions of interest within the marked slices and blank slices having no marked contours. The system includes the following components:

    
    
        an interpolation unit suitable to implement the above method of interpolating an intermediate polygon such as to obtain interpolated marked contours in the blank slices from the marked contours in the marked slices;
        a super-position unit suitable for superposing the marked contours and the interpolated marked contours such as to obtain a representation of the regions of interest, the representations are 3D-reconstructions of an organ of interest defined by the regions of interest within the slices.
    
    





BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic drawing of the automated segmentation system.
FIG. 2 is a schematic drawing of the spatial relationships between two polygons P1 and P2 and the intermediate polygon Pi.
FIG. 3 is a schematic drawing showing the relationship between the circumscribed circle as a geometrical reference object and two polygons P1 and P2.
FIG. 4 is a schematic drawing showing how the distance profiles are acquired with reference to the geometrical reference object.
FIG. 5 shows an example of the two distance profiles D1 and D2 and the similarity measure D.



DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
Various example embodiments will now be described more fully with reference to the accompanying drawings in which only some example embodiments are shown. Specific structural and functional details disclosed herein are merely representative for purposes of describing example embodiments. The present invention, however, may be embodied in many alternate forms and should not be construed as limited to only the example embodiments set forth herein.
Accordingly, while example embodiments of the invention are capable of various modifications and alternative forms, embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit example embodiments of the present invention to the particular forms disclosed. On the contrary, example embodiments are to cover all modifications, equivalents, and alternatives falling within the scope of the invention. Like numbers refer to like elements throughout the description of the figures.
It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of example embodiments of the present invention. As used herein, the term “and/or,” includes any and all combinations of one or more of the associated listed items.
It will be understood that when an element is referred to as being “connected,” or “coupled,” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected,” or “directly coupled,” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between,” versus “directly between,” “adjacent,” versus “directly adjacent,” etc.).
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments of the invention. As used herein, the singular forms “a,” “an,” and “the,” are intended to include the plural forms as well, unless the context clearly indicates otherwise. As used herein, the terms “and/or” and “at least one of” include any and all combinations of one or more of the associated listed items. It will be further understood that the terms “comprises,” “comprising,” “includes,” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be noted that in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
Spatially relative terms, such as “beneath”, “below”, “lower”, “above”, “upper”, and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. It will be understood that the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, term such as “below” can encompass both an orientation of above and below. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein are interpreted accordingly.
Although the terms first, second, etc. may be used herein to describe various elements, components, regions, layers and/or sections, it should be understood that these elements, components, regions, layers and/or sections should not be limited by these terms. These terms are used only to distinguish one element, component, region, layer, or section from another region, layer, or section. Thus, a first element, component, region, layer, or section discussed below could be termed a second element, component, region, layer, or section without departing from the teachings of the present invention.
Embodiments of a method for interpolating at least one intermediate polygon are described hereinafter. In the following description, meaning of specific details is given to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, modules, entities etc. In other instances, well-known structures, computer related functions or operations are not shown or described in detail, as they will be understood by those skilled in the art.
Further, the method is described with respect to slices from medical volumetric image data. However, it is apparent that also other categories or another kind of data, for example like graphical data in animation, might also be applied and processed, respectively.
Reference throughout this specification to “one/an aspect” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “according to one aspect” or the like in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments.
Referring now to FIG. 1 there is illustrated an example embodiment of the system according to the present invention for automatically segmenting slices 103a and 103c with respect to regions of interest 104a, 104c within the slices 103a and 103c, respectively.
The slices 103a and 103c are derived from a volumetric data block 102 obtained from a picture archive communication system 101 (PACS). The volumetric data cube 102 has been acquired from a patient by means of a tomographic image modality for example a computer tomography (CT) or a positron emission tomograph (PET), or other such imaging modality. The slices 103a and 103c are provided as medical image files in the well-known DICOM (Digital Imaging and Communications in Medicine) format.
A radiologist 120 examines the slices 103a and 103c with regions of interest 104a and 104c represented as cross-sectional views of an organ of interest. The radiologist 120 uses a marker tool 105 to outline the regions of interest 104a, 104c by contours 106a, 106c. The marker tool 105—for example a mouse or an electronic stylus—is suitable to capture sets of coordinate information of the pixels making up the contours 106a and 106c. 
According to one aspect of at least one embodiment of the present invention, the radiologist 120 is replaced by an automatic marking device not shown), being in communication with a medical expert system and a pattern recognition unit. According to this aspect, the user enters into the marking device a descriptor of the organ of interest. The descriptor is then communicated to the medical expert system. Responsive thereto, the medical expert system passes structural information describing geometrical features and approximate locations of the organ of interest. Using these files, the pattern recognition unit then scans the slices 103a and 103b and controls the automatic marking device to automatically generate the sets of coordinate information of the contours 106a and 106c. 
Those sets of coordinate information of the contours 106a and 106c are then passed to an approximation unit 108 in which the contours 106a and 106c are converted into polygons P1 and P2, respectively. The polygons P1 and P2 are represented as ordered sets of vertices and connecting edges between those vertices. The polygons P1 and P2 are then fed into the interpolation unit 109 according to the invention. The interpolation unit 109 that produces as an output an intermediate polygon Pi. The intermediate polygon Pi is then superposed by the super position unit 110 with the polygons P1 and P2 to obtain a reconstructed 3D data set 112 of the organ of interest after a 3D graphical unit 111 has converted the polygons P1, Pi and P2 back or into contours 106a, 106b and 106c, respectively. The reconstructed 3D data set 112 can then be used by the radiologist 120 for more detailed diagnostic purposes of the organ of interest represented by the 3D-data set or to control a linear accelerator for the purposes of radiotherapy of the patient.
The operation of the interpolation unit 109 will now be explained in more detail. First there are provided some technical notes.
A polygon P is considered to be represented as an ordered sequence of n vertices νi, i=0, . . . , n−1, n>2, connected by straight line segments forming a closed polyline.
A polygon is planar if all its vertices are located on a common Euclidean plane Π.
A polygon is simple if it does not intersect itself.
In the parameter form {right arrow over (ν)}(t), the points of a polygon are a geometric object regarded as being produced by a mapping of a free real parameter variable tεI=[0,1]⊂ into the real Euclidean plane  (onto the points of the polygon (xt,yt) in Cartesian coordinates):

{right arrow over (ν)}:I=[0,1]→

t{right arrow over (ν)}(t)=(xt,yt)

Remark: The two parameters t=0 and t=1 both refer to the point given by the first vertex ν0={right arrow over (ν)}(0)={right arrow over (ν)}(1) of polygon P. The parameter form defines sample points on the polygon {right arrow over (ν)}(t) for each parameter t. For simplicity of notation, a sample point at t will also be referred to by {right arrow over (ν)}(t).

All rectangular regions that are denoted with R in the procedure below are considered to be of equal size having the same orientation, that is, they have their axes aligned.
Prerequisites of and assumptions made by the method according to one aspect to at least one embodiment of the present invention:
The method assumes that the two polygons P1 and P2 are not rotated with respect to each other and there has not been a significant dilation or compression of an underlying three-dimensional geometry of the volumetric data set, i.e., the “anatomy” of the patient. More particularly, deformations of the underlying three- or higher dimensional geometry being captured by P1 and P2 are assumed to modify corresponding points only homeomorphically with respect to the parameter form of the two polygons P1 and P2. The deformation is assumed to preserve a continuous, injective—“one-to-one”—relationship between corresponding parameter values of the two polygons and thus may be regarded as a conformal mapping. Note that the prerequisites and assumptions made by the method according to at least one embodiment of the present invention are met by most three-dimensional medical image data as they are acquired for example by the medical imaging modalities CT, PET, or MR scanners, and the patient is normally required not to move whilst the tree-dimensional medical image data is being acquired. The prerequisites and assumptions are also fulfilled for most of the anatomy captured in the three-dimensional medical image data acquired by these modalities, in particular by all solid organs like bones, kidneys, livers and solid tissues like lesions.
The interpolation of the intermediate polygon Pi according to the invention from sparsely-spaced contours outlined by the radiologist is provided on the basis of the slices R1 and R2, the slices defining parallel image planes through the three- or higher-dimensional medical image data set is an efficient means to reduce the time and workload for the clinician to segment and measure extended three-dimensional objects like lesions.
A similarity measure D according to at least one embodiment of the present invention is specifically tailored to this task. It can be computed efficiently and enables an easy implementation of the method, the steps of which are outlined below.
It is to be understood, that the steps are to be applied repeatedly to further pairs of two polygons derived from further slices or from intermediate polygons already interpolated until a sufficient number of further intermediate polygons have been interpolated such that the organ of interest can be reconstructed to a level of detail as required.
The two simple planar polygons P1 and P2 are each located within its own frame of reference, P1 in R1 and P2 in R2, each constituting a fixed-sized rectangular region for the polygons. In particular, R1 and R2 can correspond to the slices 103a, 103c. Each one of the frame of reference R1 and R2 is located in its own three- or higher-dimensional Euclidean plane. More particularly, R1 is located on Π1 and R2 is located on Π2, given the constraints that Π1 and Π2 are parallel to each other, in symbols Π1∥Π2, and are not identical, in symbols, Π1≠Π2 and that the orthographic projection of R1 onto Π2 yields R2 and, vice versa, that the orthographic projection of R2 onto Π2 yields R1. Those geometrical relationships are shown in FIG. 2.
Furthermore, an intermediate three-dimensional Euclidean plane Πi specifies where the intermediate planar polygon Pi shall be interpolated from the surrounding parallel planar polygons P1 and P2. According to one aspect of an embodiment of the present invention, Πi may be taken to be parallel to Π1 and Π2, i.e., Π1∥Πi∥Π2, as shown in FIG. 1. According to another aspect of the present invention, the intermediate plane Πi may be taken to be non-parallel as long as the enclosed angle between the normal vectors {right arrow over (n)}1 of Π1 and {right arrow over (n)}i of Πi is less than or equal to 45 degrees (∠({right arrow over (n)}1,{right arrow over (n)}i)>45°) such that an intermediate frame of reference Ri of Pi is given by projecting R1 or R2 onto Πi and Ri is completely enclosed by Π1 and Π2.
The spatial domain polygon interpolation method according to an embodiment of the invention requires as input, along with the two polygons P1 and P2 a specification of the planes Π1, Π2 and Πi. The planes Π1, Π2 and Πi are specified by their normals and their mutual distances d1,2, d1,i and d2,i as shown in FIG. 2.
The output produced by the method according to an embodiment of the invention is a planar polygon Pi located within the intermediate frame of reference Ri on Πi interpolated from the two given adjacent polygons P1 and P2 as shown in FIG. 2.
The method according to an embodiment of the present invention comprises the following general steps:

    
    
        Iteratively generating pairs of corresponding points between the two polygons P1 and P2, the iteration being based on an initial pair of corresponding points.
        Defining and employing a distance-based similarity measure according to the present invention. The similarity measure is defined on a bounding circle BC of two centered polygons P1′ and P2′. The two centered polygons are derived from the two polygons P1 and P2. The bounding circle circumscribes both of the two centered polygons P1′ and P2′.
    
    


Another step generates pairs of corresponding points between P1 and P2 to interpolate the intermediate polygon Pi on the intermediate plane Πi.
The method is straightforward to implement and can be computed efficiently in O(N log N) time.
The step of defining the similarity measure includes the following steps for obtaining a pair of initial corresponding parameter values ({circumflex over (t)}1,{circumflex over (t)}2) specifying the initial pair of corresponding points of P1 and P2 in less than O(n3) time. In the following, for each of the steps, the order of time complexity is specified.
The steps below allow implementation by standard CAD or mathematical hard- or software modules, such as MATLAB®, Mathematica® or dedicated functions or methods available in C, C++ or JAVA function or method libraries.

    1. Linear time: Parameterize both, P1 and P2 to obtain a parameter form for each one of the two polygons P1 and P2. As the roles of the two parameter forms are entirely symmetric, they will be referred to collectively as {right arrow over (ν)}(t). The parameter form defines sample points on each of the polygons. Ensure that both P1 and P2 have equal orientation, for example clockwise.
    2. Linear time: Work out the centroids C(P1) and C(P2) of the two polygons P1 and P2, respectively.
    3. Linear time: Center the two polygons P1 and P2 about their in-plane origin O=(0,0) by translating all vertices of P1 by the direction vector {right arrow over (u)}1=−C(P1) and the vertices of P2 by the direction vector {right arrow over (u)}2=−C(P2) yielding the two translated polygons P1′ and P2′ as shown in FIG. 3.
    4. O(N log N) time: Work out the bounding circle BC circumscribing all vertices of both P1′ and P2. BC is specified via its centroid C(BC) and radius rB as indicated in FIG. 3.
    5. Linear time: According to one aspect of an embodiment of the present invention the method involves a step of calculating the perimeters of the two polygons, denoted L1=L(P1) and L2=L(P2), respectively, and the circumference of the bounding circle, denoted by LB=L(BC). This is to increase efficiency of implementation as it allows memory allocation during sampling and re-sampling procedures described below. Alternatively the step of calculating the perimeters and/or the circumference can be skipped or calculated “on the fly”.
    5. For both polygons P1′ and P2′ do the following:


Linear time: as shown in FIG. 4, for each sample point {right arrow over (ν)}(t) of P1′ and P2′ employ some equidistantly spaced discretization of the parameterized parameter t work out a distance of the current sample point {right arrow over (ν)}(t) to the bounding circle BC as follows:
Calculate the two points of intersection of the line that runs through the centroid C(BC) of the bounding circle BC and the sample point {right arrow over (ν)}(t). This line is divided into two line segments between its two points of intersection with the bounding circle and {right arrow over (ν)}(t). In order to unambiguously single out a distance-defining line segment among the two line segments, the length of which will be taken to be the distance of the sample point {right arrow over (ν)}(t) to the bounding circle BC, determine the polygon's current normal vector {right arrow over (n)}P(t) at the position of the current point {right arrow over (ν)}(t). The normal vector of the line {right arrow over (n)}1 applied at the current polygonal point {right arrow over (ν)}(t) divides the Euclidean plane into two half-planes each containing exactly one of the two line segments worked out above. Choose among the two line segments the line segment whose half-plane contains {right arrow over (n)}P(t).
This line segment is the distance-defining line segment. The point of intersection of the distance-defining line segment with BC corresponds to a parameterizing parameter of BC having a certain parameter value tB with tB=0 defining the point of intersection of the bounding circle with the positive x axis. The length of the distance-defining line segment l is the distance of the current polygonal point {right arrow over (ν)}(t) to the bounding circle BC at parameter tB. The length of the distance-defining line segment is shown by example in FIG. 4 for tB=0.89.
Logarithmic time: For each vertex {right arrow over (ν)}(t) of P1′ store the resulting pairs (tB,(t1,l1)), that is the parameter value tB associated with the respective length of the distances-defining line segment l1 and t1 being the parameter for the respective sampling point on P1′, in an ordered search data structure BBT1. According to one aspect of an embodiment of the present invention, BBT1 is a balanced binary search tree. The structure of BBT1 allows to linearly iterate over the stored tB values, which values serve as “search keys” in increasing order. Therewith, the search of an existing pair (tB,(t1,l1)), which is nearest to some given tB value, is bounded by maximal log2 N1 comparisons with N1 representing the number of stored key-value pairs in BBT1.
Furthermore, BBT1 allows for the definition of two constant-time operations LN(tB) and RN(tB) for returning the left and right neighbor of tB or an indication that no such neighbor exists. The invertibility {t1}→{tB} is ensured by inserting (tB,(t1,l1)) into BBT1 only if LN(tB) does not exist or RN(tB) does not exist or LN(tB).t1<t1<RN(tB).t1. Similarly, build up a corresponding search data structure BBT2 for the ordered pairs (tB,(t2,l2)) obtained for the vertices of P2′.
Linear time: According to one aspect of an embodiment of the present invention a distance profile D1 maps the irregularly sampled parameter positions {tB} to the length of the distance-defining line segments {l1}. Work out a corresponding curve to acquire a distance profile D2 accordingly as shown in FIG. 5. As can be seen in FIG. 5, the distance profiles D1 and D2 provide a measure for a deviation of the shape of the two polygons P1 and P2 from the circular shape of the bounding circle BC, For example, the closer D2 resembles a horizontal line, the lesser the deviation of the shape of P2 from the circular shape of the bounding circle BC.
According to another aspect of an embodiment of the present invention, the distance profiles D1 and D2 are taken to be the stored pairs (tB,(t1,l1)) and (tB,(t2,l2)) in BBT1 and BBT2 interpreted as discrete mappings {tB}→{(t1,l1)} und {tB}→{(t2,l2)} restricted to the second coordinate, that is to the lengths of the distance-defining line segments l1 and l2, respectively.
Equidistantly re-sampling the similarity mappings D1 and D2 on the basis of BBT1 and BBT2 at parameter positions {tilde over (t)}B according to one aspect of an embodiment of the present invention comprises the further steps of employing some use case specific re-sampling interval ΔB such that Shannon's sampling theorem is fulfilled. For simplicity, the re-sampled distance profiles are also denoted by D1 and D2.
Linear time: Compare the distance profiles D1 and D2 to obtain the similarity measure D, in a general form, as




  
    
      
        (
        
          
            P
            1
          
          ,
          
            P
            2
          
        
        )
      
      ↦
      
        D
        ⁡
        
          (
          
            
              D
              1
            
            ,
            
              D
              2
            
          
          )
        
      
    
    =
    
      
        (
        
          
            ∫
            0
            1
          
          ⁢
          
            
              
                
                
                  
                    D
                    1
                  
                  -
                  
                    D
                    2
                  
                
                
              
              2
            
            ⁢
            
              d
              t
            
          
        
        )
      
      
        1
        2
      
    
  
  ,




wherein the integration is along the parameter tB over the bounding circle BC. For the purposes of implementing the method for interpolation according to an embodiment of the present invention the similarity measure D is discretized and the integration becomes a summation over discrete values of tB.

According to an embodiment of the present invention, the similarity measure D is subjected to discrete numerical minimization as explained below. It is therefore permissible for the sake of numerical efficiency to skip the square root and squaring of the summands in the formula above for the similarity measure D and to rather consider the unsigned difference between the distance profiles D1 and D2:

D=|D1−D2|.

According to the prerequisites and assumptions above, the deformations of the underlying three-dimensional geometry are homeomorphic. This allows, working out {tilde over (t)}1 and {tilde over (t)}2 by linearly approximating from the left and right neighbors, LN({tilde over (t)}B) and RN({tilde over (t)}B), respectively, according to the formula




  
    
      t
      1
    
    ~
  
  =
  
    
      
        
          (
          
            
              
                t
                B
              
              ~
            
            -
            
              L
              ⁢
              
                
              
              ⁢
              
                N
                ⁡
                
                  (
                  
                    
                      t
                      B
                    
                    ~
                  
                  )
                
              
            
          
          )
        
        ⁢
        
          (
          
            
              BBT
              ⁢
              
                
              
              ⁢
              
                1
                ·
                
                  RN
                  ⁡
                  
                    (
                    
                      
                        t
                        B
                      
                      ~
                    
                    )
                  
                
                ·
                
                  t
                  1
                
              
            
            -
            
              BBT
              ⁢
              
                
              
              ⁢
              
                1
                ·
                L
              
              ⁢
              
                
              
              ⁢
              
                
                  N
                  ⁡
                  
                    (
                    
                      
                        t
                        B
                      
                      ~
                    
                    )
                  
                
                ·
                
                  t
                  1
                
              
            
          
          )
        
      
      
        
          RN
          ⁡
          
            (
            
              
                t
                B
              
              ~
            
            )
          
        
        -
        
          L
          ⁢
          
            
          
          ⁢
          
            N
            ⁡
            
              (
              
                
                  t
                  B
                
                ~
              
              )
            
          
        
      
    
    +
    
      BBT
      ⁢
      
        
      
      ⁢
      
        1
        ·
        L
      
      ⁢
      
        
      
      ⁢
      
        
          N
          ⁡
          
            (
            
              
                t
                B
              
              ~
            
            )
          
        
        ·
        
          t
          1
        
      
    
  




and similarly for {tilde over (t)}2, yielding the two pairs ({tilde over (t)}B, ({tilde over (t)}1, {tilde over (l)}1)) and ({tilde over (t)}B({tilde over (t)}2,{tilde over (l)}2)), respectively, at corresponding, equally-spaced parameter values {tilde over (t)}B, as shown in FIG. 5. The two pairs ({tilde over (t)}B,({tilde over (t)}1,{tilde over (l)}1)) and ({tilde over (t)}B({tilde over (t)}2,{tilde over (l)}2)) allow an efficient representation of the distance profiles D1 and D2 by storing the value pair ({tilde over (t)}1,{tilde over (l)}1) associated with {tilde over (t)}B in an indexed vector V1, and similarly for ({tilde over (t)}2,{tilde over (l)}2), in an indexed vector V2.

The number of elements in each vector is given by




  
    K
    =
    
      
        size
        ⁡
        
          (
          
            V
            1
          
          )
        
      
      =
      
        
          size
          ⁡
          
            (
            
              V
              2
            
            )
          
        
        =
        
          ⌊
          
            
              L
              B
            
            
              Δ
              ⁢
              
                
              
              ⁢
              B
            
          
          ⌋
        
      
    
  
  ,
  
    
      L
      B
    
    =
    
      L
      ⁡
      
        (
        
          B
          C
        
        )
      
    
  




denoting the circumference of the bounding circle.

The discretized similarity measure D is then accordingly represented as a difference vector:

V=|V1−V2|.

Linear time: Determining the initial pair of corresponding points by minimizing the discretized similarity measure

D=|D1−D2|.

See lower part of FIG. 5 for a schematic representation of the minimization of D.

The minimization of D is done by searching for the minimal difference with respect to the lengths of the distance-defining line segments l1 and l2 in the difference vector V=|V1−V2| over all k=0, . . . , K−1 indices and returning the initial pair of corresponding polygon parameters ({circumflex over (t)}1,{circumflex over (t)}2) associated by way of the parameter form {right arrow over (ν)}(t) with the initial pair of corresponding points, i.e., determine



  
    
      (
      
        
          
            t
            1
          
          ^
        
        ,
        
          
            t
            2
          
          ^
        
      
      )
    
    =
    
      (
      
        
          
            
              V
              1
            
            ⁡
            
              [
              
                k
                ^
              
              ]
            
          
          ·
          
            
              t
              1
            
            ~
          
        
        ,
        
          
            
              V
              2
            
            ⁡
            
              [
              
                k
                ^
              
              ]
            
          
          ·
          
            
              t
              2
            
            ~
          
        
      
      )
    
  




  with




  
    
      k
      ^
    
    =
    
      
        
          
            arg
          
          ⁢
          min
        
        
          
            k
            =
            0
          
          ,
          
            
          
          ⁢
          ...
          ⁢
          
            
          
          ,
          
            K
            -
            1
          
        
      
      ⁢
      
        
          
          
            
              
                
                  V
                  1
                
                ⁡
                
                  [
                  k
                  ]
                
              
              ·
              
                
                  l
                  1
                
                ~
              
            
            -
            
              
                
                  V
                  2
                
                ⁡
                
                  [
                  k
                  ]
                
              
              ·
              
                
                  l
                  2
                
                ~
              
            
          
          
        
        .
      
    
  



According to another aspect of an embodiment of the present invention, the above linear-time, local procedure for determining the initial pair of corresponding parameters between P1 and P2 can be replaced with the following more robust global procedure at the cost of O(N log N) computation time:
Work out {circumflex over (k)} by locating the maximum of the cyclic cross-correlation function ρV1V2[k] for V1[k]{tilde over (l)}1 and V2[k]{tilde over (l)}2 interpreted as discrete time series, which can be computed efficiently via the inverse fast Fourier transform of the cross-power spectrum SV1V2[q] of the two series




   
  
    
      
        
          
            
              S
              
                
                  V
                  1
                
                ⁢
                
                  V
                  2
                
              
            
            ⁡
            
              [
              q
              ]
            
          
          =
          
            
              
                1
                
                  2
                  ⁢
                  K
                
              
              ⁢
              
                
                
                  
                    
                      FFT
                      ⁢
                      
                        
                          {
                          
                            
                              
                                V
                                1
                              
                              ⁡
                              
                                [
                                k
                                ]
                              
                            
                            ⁢
                            
                              
                                l
                                1
                              
                              ~
                            
                          
                          }
                        
                        ⁡
                        
                          [
                          q
                          ]
                        
                      
                    
                    _
                  
                  ⁢
                  FFT
                  ⁢
                  
                    
                      {
                      
                        
                          
                            V
                            2
                          
                          ⁡
                          
                            [
                            k
                            ]
                          
                        
                        ·
                        
                          
                            l
                            2
                          
                          ~
                        
                      
                      }
                    
                    ⁡
                    
                      [
                      q
                      ]
                    
                  
                
                
              
            
            ⇒
            
              
                ρ
                
                  
                    V
                    1
                  
                  ⁢
                  
                    V
                    2
                  
                
              
              ⁡
              
                [
                k
                ]
              
            
          
        
      
    
    
      
        
          =
          
            IFFT
            ⁢
            
              {
              
                
                  S
                  
                    
                      V
                      1
                    
                    ⁢
                    
                      V
                      2
                    
                  
                
                ⁡
                
                  [
                  q
                  ]
                
              
              }
            
          
        
      
    
  




See for example E. O. Brigham, “The Fast Fourier Transform and Applications,” Englewood Cliffs, N.J.: Prentice Hall, 1988). Therewith, we work out the index of optimal correspondence,




  
    k
    ^
  
  =
  
    
      
        
          arg
        
        ⁢
        max
      
      
        
          k
          =
          0
        
        ,
        
          
        
        ⁢
        ...
        ⁢
        
          
        
        ,
        
          K
          -
          1
        
      
    
    ⁢
    
      
        ρ
        
          
            V
            1
          
          ⁢
          
            V
            2
          
        
      
      ⁡
      
        [
        k
        ]
      
    
  




and select the initial pair of corresponding polygon parameters ({circumflex over (t)}1,{circumflex over (t)}2)=(V1[{circumflex over (k)}]{tilde over (t)}1,V2[{circumflex over (k)}]{tilde over (t)}2) as above.

After having determined the initial pair of corresponding points, a sequence of pairs of corresponding points is iteratively generated, starting from the initial pair of corresponding polygon parameters ({circumflex over (t)}1,{circumflex over (t)}2).
According to one aspect of an embodiment of the present invention, the polygon parameter {circumflex over (t)}1 is incremented by a suitable off-set value Δt. Using the incremented polygon parameter {circumflex over (t)}1+Δt for a reverse look up in BBT1 via {tB})←{(t1,l1)} yields the “search key” {tilde over (t)}B and a second look-up in BBT2 via {tB}→{(t2,l2)} using the search key {tilde over (t)}B yields a parameter corresponding to the parameter {circumflex over (t)}2+Δt. This parameter together with the parameter {circumflex over (t)}1+Δt is the next pair of corresponding parameters defining the sequence. Application of the parameter form to the next pair of corresponding parameters results in the next pair of corresponding points after the initial pair of corresponding points. In this way, the sequence of corresponding parameters is iteratively generated by successively incrementing the parameter {circumflex over (t)}1+Δt for the points on the Polygon P1 to obtain corresponding points on the polygon P2.
Minimizing V=|V1−V2| needs to be performed only once to obtain the initial pair of corresponding points the initial pair of corresponding polygon parameters ({circumflex over (t)}1,{circumflex over (t)}2), whereas the next pairs of corresponding points in the sequence are obtained by the simple two-fold look-up procedure based on the search key {tilde over (t)}B. There is no mutual comparison of the points from the two polygons involved in determining the pair of corresponding points according to an embodiment of the invention.
Finally, the interpolation step includes:
For each pair of the corresponding parameters the corresponding pair of points of P1 and P2 are obtained by the parameter form. The points in each of the resulting pairs of corresponding points are then connected by a three-dimensional straight line segment. The point of intersection of the resulting line segment with the plane Πi is then determined, thus yielding the points of the intermediate polygon Pi by iterating over the sequence of pairs of corresponding points as shown in FIG. 2.
The above description of illustrated embodiments of the invention is not intended to be exhaustive or to limit the invention to precise forms disclosed. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes various equivalent modifications are possible within the scope of the invention and can be made without a deviating from the spirit and scope of the invention.
For instance, the description is based on the DICOM format. Alternatively, another medical format might also be used for the method and system according to an embodiment of the invention.
Further, the method might be implemented in software, in coded form. Alternatively, it is possible to implement the method according to an embodiment of the invention in hardware or hardware modules. The hardware modules are then adapted to perform the functionality of the steps of the method. Furthermore, it is possible to have a combination of hardware and software modules.
These and other modifications can be made to the invention with regard of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification and the claims. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.
Further, elements and/or features of different example embodiments may be combined with each other and/or substituted for each other within the scope of this disclosure and appended claims.
Still further, any one of the above-described and other example features of the present invention may be embodied in the form of an apparatus, method, system, computer program and computer program product. For example, of the aforementioned methods may be embodied in the form of a system or device, including, but not limited to, any of the structure for performing the methodology illustrated in the drawings.
Even further, any of the aforementioned methods may be embodied in the form of a program. The program may be stored on a computer readable media and is adapted to perform any one of the aforementioned methods when run on a computer device (a device including a processor). Thus, the storage medium or computer readable medium, is adapted to store information and is adapted to interact with a data processing facility or computer device to perform the method of any of the above mentioned embodiments.
The storage medium may be a built-in medium installed inside a computer device main body or a removable medium arranged so that it can be separated from the computer device main body. Examples of the built-in medium include, but are not limited to, rewriteable non-volatile memories, such as ROMs and flash memories, and hard disks. Examples of the removable medium include, but are not limited to, optical storage media such as CD-ROMs and DVDS; magneto-optical storage media, such as MOs; magnetism storage media, including but not limited to floppy disks (trademark), cassette tapes, and removable hard disks; media with a built-in rewriteable non-volatile memory, including but not limited to memory cards; and media with a built-in ROM, including but not limited to ROM cassettes; etc. Furthermore, various information regarding stored images, for example, property information, may be stored in any other form, or it may be provided in other ways.
Example embodiments being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the present invention, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.

## Claims

1. A method for interpolating an intermediate polygon from two polygons, the method comprising:
defining, by a processor, a similarity measure based on a geometrical reference object and distance profiles, the geometrical reference object being one of a circle, an ellipse and an ellipsoid circumscribing the two polygons and the distance profiles being stored as a balanced binary search tree;
determining based on the similarity measure, an initial pair of corresponding points by minimizing the similarity measure over the geometrical reference object, to obtain the initial pair of corresponding points from the associated two polygons;
iteratively generating, from the initial pair of corresponding points, a sequence of pairs of corresponding points, any pair of corresponding points being related to an immediate predecessor pair of corresponding points by way of the geometrical reference object; and
interpolating the intermediate polygon either from the initial pair of corresponding points or from one pair of corresponding points from the generated sequence of pairs of corresponding points.

2. A method according to claim 1, wherein defining the similarity measure comprises:
acquiring the respective distance profiles for each of the two polygons, wherein the respective distance profiles are each related to a deviation from the geometrical reference object of a respective one of the two polygons;
re-sampling the distance profile measures at common sampling points;
storing independently each of the re-sampled distance profiles as search data structures; and
comparing the stored distance profiles to obtain the similarity measure.

3. A method according to claim 2, wherein the search data structure is associated with the balanced binary search tree.

4. System suitable for automatically segmenting volume data slices acquired by a medical modality, the slices including marked slices having marked contours marking regions of interest within the marked slices and blank slices having no marked contours, the system comprising:
an interpolation unit, suitable to implement the method according to claim 1; and
a superposition unit, suitable to superpose the marked contours and the interpolated marked contours.

5. The system of claim 4, wherein the interpolation unit is suitable to implement the method according to claim 1, to obtain interpolated marked contours in the blank slices from the marked contours in the marked slices.

6. The system of claim 4, wherein the superposition unit is suitable to superpose the marked contours and the interpolated marked contours to obtain a representation of the regions of interests, the representation having a higher dimension than the slices.

7. A non-transitory computer readable medium including program segments for, when executed on a computer device, causing the computer device to implement the method of claim 1.

8. A method for measuring a similarity of two polygons, the method comprising:
associating, by a processor, a geometrical reference object with the two polygons, the geometrical reference object being a circle circumscribing the two polygons;
acquiring respective distance profiles for each of the two polygons, wherein the respective distance profiles are each related to a deviation from the geometrical reference object of a respective one of the two polygons and the distance profiles being stored as a balanced binary search tree;
measuring the similarity of the two polygons by comparing the distance profile, a degree of difference of the distance profiles being proportional to the similarity of the two polygons; and
minimizing the similarity measure over the geometrical reference object, to obtain the initial pair of corresponding points from the associated two polygons.

9. A method for measuring the similarity of two polygons according to claim 8, the method being used for shape morphing, the intermediate polygon being one of a number of polygons in morphing one of the two polygons into the other of the two polygons.

10. A method for measuring the similarity of two polygons according to claim 9, the method being used for shape morphing to assess a goodness of fit of an intermediate polygon with respect to the two polygons, the intermediate polygon being one of a number of polygons in morphing one of the two polygons into the other of the two polygons.

11. A system for interpolating an intermediate polygon from two polygons, the system comprising:
a processor to,
define a similarity measure based on a geometrical reference object and distance profiles, the geometrical reference object being a circle circumscribing the two polygons and the distance profiles being stored as a balanced binary search tree, and
determine, based on the similarity measure, an initial pair of corresponding points by minimizing the similarity measure over the geometrical reference object,

to obtain the initial pair of corresponding points from the associated two polygons;
a generator to iteratively generate, from the initial pair of corresponding points, a sequence of pairs of corresponding points, any pair of corresponding points being related to an immediate predecessor pair of corresponding points by way of the geometrical reference object; and
an interpolator to interpolate the intermediate polygon either from the initial pair of corresponding points or from one pair of corresponding points from the generated sequence of pairs of corresponding points.

12. A system according to claim 11, wherein defining the similarity measure includes acquiring the respective distance profiles for each of the two polygons, and the respective distance profiles are each related to a deviation from the geometrical reference object of a respective one the two polygons, and the system further comprises:
a re-sampler to re-sample the distance profile measures D1 and D2 at common sampling points;
a storage element to store independently each of the resampled distance profiles as search data structures associated with the balanced binary search tree; and
a comparer to compare the stored distance profiles to obtain the similarity measure.