← Back to Patent Explorer
US5313567A Expired / Lapsed US ⏱️ 0.0 years remaining

Arrangement for determining and displaying volumetric data in an imaging system

Assignee: Nokia Bell Labs
•
Filing: 1991-06-13
•
Granted: 1994-05-17
•
Expires: 2011-06-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An imaging system apparatus and operating method thereof utilize a volumetric resampling technique with interpolation to determine sample point values on user-defined paths traced through a volumetric image comprising a group of predefined data values, which are themselves samples of a continuous volumetric object. Data values to be displayed are determined from the sample point values using user-selected interpolation and visualization operating modes.

Inventors

  • 👤 M. Reha Civanlar
  • 👤 Steven C. Dzik
  • 👤 Yuh-Tay Liow

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 16:50
CPC Classifications
G; G06; G06T; G06T15/00; G06T15/08; G06T17/00

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 284 words
Computing apparatus for determining an arbitrary sequence of data values from a group of predefined data values, said apparatus comprising means for storing said group of predefined data values, arranged in an M (M≧3) dimensional Cartesian coordinate system, said storing means including a plurality of memory banks which are arranged to store said group of predefined data values such that no predefined data value has a neighboring predefined data value which is stored in a memory bank which is the same as its memory bank, said storing means being so arranged that all of said plurality of memory banks can be accessed simultaneously, said storing means further including cache memory means for saving data values associated with an immediately preceding memory access request and means for comparing a memory address of a current memory access request with a memory address of said immediately preceding memory access request; means for selecting an operating dimension N (N≧1) which is less than or equal to M; means for describing a path including an arbitrary sequence of sampling points through said group of predefined data values, said path describing means including means for defining the starting point, ending point shape and sampling step size of said path in response to a user input, and means responsive to said defining means for calculating a memory address of each sampling point; means for simultaneously accessing said storing means, for each sampling point value to obtain, 2 N neighboring predefined data values using the memory address for each sampling point; and means, responsive to said selected dimension N, for interpolating a value for one or more sampling point values using 2 N neighboring predefined data values accessed from said storing means.
Claim 2
Dependent Claim 284 words
Computing apparatus for determining an arbitrary sequence of data values from a group of predefined data values, said apparatus comprising means for storing said group of predefined data values, arranged in an M (M≧3) dimensional Cartesian coordinate system, said storing means including a plurality of memory banks which are arranged to store said group of predefined data values such that no predefined data value has a neighboring predefined data value which is stored in a memory bank which is the same as its memory bank, said storing means being so arranged that all of said plurality of memory banks can be accessed simultaneously, said storing means further including cache memory means for saving data values associated with an immediately preceding memory access request and means for comparing a memory address of a current memory access request with a memory address of said immediately preceding memory access request; means for selecting an operating dimension N (N≧1) which is less than or equal to M; means for describing a path including an arbitrary sequence of sampling points through said group of predefined data values, said path describing means including means for defining the starting point, ending point shape and sampling step size of said path in response to a user input, and means responsive to said defining means for calculating a memory address of each sampling point; means for simultaneously accessing said storing means, for each sampling point value to obtain, 2 N neighboring predefined data values using the memory address for each sampling point; and means, responsive to said selected dimension N, for interpolating a value for one or more sampling point values using 2 N neighboring predefined data values accessed from said storing means.
Claim 3
Dependent Claim 25 words
The apparatus of claim 1 wherein for N equal to two, said interpolator means performs a two-dimensional bilinear interpolation using four neighboring predefined data values.
Claim 4
Dependent Claim 25 words
The apparatus of claim 1 wherein for N equal to three, said interpolator means performs a three-dimensional trilinear interpolation using eight neighboring predefined data values.
Claim 5
Dependent Claim 31 words
The apparatus of claim 1 including a plurality of prestored paths and wherein said apparatus enables a user to select one of said prestored paths for use by said describing means.
Claim 6
Dependent Claim 27 words
The apparatus of claim 1 wherein the describing means includes a plurality of coefficients of a multi-dimensional parametric equation selectable by a user for describing said path.
Claim 7
Dependent Claim 29 words
Apparatus of claim 1 further comprising means for displaying one or more display data values, each display data value determined using one or more of said sampling point values.
Claim 8
Dependent Claim 20 words
The apparatus of claim 6 wherein said displaying means utilizes a visualization operating mode including a Cine-loop with geometric manipulation.
Claim 9
Dependent Claim 20 words
The apparatus of claim 6 wherein said displaying means utilizes a visualization operating mode including multi-planar reformatting on arbitrary surfaces.
Claim 10
Dependent Claim 18 words
The apparatus of claim 6 wherein said displaying means utilizes a visualization operating mode including maximum intensity projection.
Claim 11
Dependent Claim 17 words
The apparatus of claim 6 wherein said displaying means utilizes a visualization operating mode including ray-casting-based rendering.
Claim 12
Independent Claim 195 words
A method of operating a computer apparatus for determining an arbitrary sequence of data values from a group of predefined data values arranged in an M(M≧3) dimensional Cartesian coordinate system comprising the steps of storing said group of predefined data values in a plurality of memory banks such that no predefined data value has a neighboring predefined data value which is stored in a memory bank which is the same as its memory bank; selecting an operating dimension N (N≧1) which is less than or equal to M; in response to a user input, describing a path including an arbitrary sequence of sampling points through said group of predefined data values, said path including the steps of defining the starting point, ending point, shape and sampling steps size of said path in response to a user input, and calculating in response to said defining step a memory address for each sampling point; simultaneously accessing said group of predefined data values, using said memory addresses, to obtain 2 N neighboring predefined data values for each sampling point, and interpolating said accessed predefined data values to determine a sampling point value for one or more sampling points.
Claim 13
Independent Claim 195 words
A method of operating a computer apparatus for determining an arbitrary sequence of data values from a group of predefined data values arranged in an M(M≧3) dimensional Cartesian coordinate system comprising the steps of storing said group of predefined data values in a plurality of memory banks such that no predefined data value has a neighboring predefined data value which is stored in a memory bank which is the same as its memory bank; selecting an operating dimension N (N≧1) which is less than or equal to M; in response to a user input, describing a path including an arbitrary sequence of sampling points through said group of predefined data values, said path including the steps of defining the starting point, ending point, shape and sampling steps size of said path in response to a user input, and calculating in response to said defining step a memory address for each sampling point; simultaneously accessing said group of predefined data values, using said memory addresses, to obtain 2 N neighboring predefined data values for each sampling point, and interpolating said accessed predefined data values to determine a sampling point value for one or more sampling points.
Claim 14
Dependent Claim 25 words
The method of claim 11 wherein for N equal to two, said interpolating step performs a two-dimensional bilinear interpolation using four neighboring predefined data values.
Claim 15
Dependent Claim 25 words
The method of claim 11 wherein for N equal to three, said interpolating step performs a three-dimensional trilinear interpolation using eight neighboring predefined data values.
Claim 16
Dependent Claim 34 words
The method of claim 11 wherein said describing step includes a plurality of prestored paths and wherein a user is enabled to select one of said prestored paths for use by said describing step.
Claim 17
Dependent Claim 27 words
The method of claim 11 wherein said describing step enables a user to select a plurality of coefficients of a multi-dimensional parametric equation for describing said path.
Claim 18
Dependent Claim 30 words
A method of claim 11 further comprising the step of displaying one or more display data values, each display data value determined using one or more of said sampling points.
Claim 19
Dependent Claim 53 words
The method of claim 16 wherein said displaying step utilizes a visualization operating mode which is one of a group of operating modes including Cine-loop, multi-planar reformatting (MPR), maximum intensity projection (MIP), and ray-casting-based rendering, and wherein said visualization operating mode is made operable using a prestored processing algorithm and a preselected path.
Claim 20
Dependent Claim 243 words
Computing apparatus for determing an arbitrary sequence of data values from a group of predefined data values, said apparatus comprising means for storing said group of predefined data values, arranged in an M(M≧3) dimensional Cartesian coordinate system, said storing means including a plurality of memory banks which are arranged to store said group of predefined data values such that no predefined data value has a neighboring predefined data value which is stored in a memory bank which is the same as its memory bank, said storing means further including cache memory means for saving data values associated with an immediately preceding memory access request and means for comparing a memory address of a current memory access request with a memory address of said immediately preceding memory access request; means for describing a path including an arbitrary sequence of sampling points through said group of predefined data values, said path describing means including means for defining the starting point, ending point shape and sampling step size of said path in response to a user input, and means responsive to said defining means for calculating a memory address of each sampling point; means, using a nearest neighbor interpolation rule, for accessing said storing means to access the nearest predefined data value for each sampling point and when a sampling step size is less than or equal to the distance between adjacent predefined data values, said cache memory means is accessed to obtain multiple sampling points.
Claim 21
Dependent Claim 243 words
Computing apparatus for determing an arbitrary sequence of data values from a group of predefined data values, said apparatus comprising means for storing said group of predefined data values, arranged in an M(M≧3) dimensional Cartesian coordinate system, said storing means including a plurality of memory banks which are arranged to store said group of predefined data values such that no predefined data value has a neighboring predefined data value which is stored in a memory bank which is the same as its memory bank, said storing means further including cache memory means for saving data values associated with an immediately preceding memory access request and means for comparing a memory address of a current memory access request with a memory address of said immediately preceding memory access request; means for describing a path including an arbitrary sequence of sampling points through said group of predefined data values, said path describing means including means for defining the starting point, ending point shape and sampling step size of said path in response to a user input, and means responsive to said defining means for calculating a memory address of each sampling point; means, using a nearest neighbor interpolation rule, for accessing said storing means to access the nearest predefined data value for each sampling point and when a sampling step size is less than or equal to the distance between adjacent predefined data values, said cache memory means is accessed to obtain multiple sampling points.
Claim 22
Dependent Claim 31 words
The apparatus of claim 18 including a plurality of prestored paths and wherein said apparatus enables a user to select one of said prestored paths for use by said describing means.
Claim 23
Dependent Claim 27 words
The apparatus of claim 18 wherein the describing means includes a plurality of coefficients of a multi-dimensional parametric equation selectable by a user for describing said path.
Claim 24
Dependent Claim 29 words
Apparatus of claim 18 further comprising means for displaying one or more display data values, each display data value determined using one or more of said sampling point values.
Claim 25
Dependent Claim 20 words
The apparatus of claim 21 wherein said displaying means utilizes a visualization operating mode including a Cine-loop with geometric manipulation.
Claim 26
Dependent Claim 20 words
The apparatus of claim 21 wherein said displaying means utilizes a visualization operating mode including multi-planar reformatting on arbitrary surfaces.
Claim 27
Dependent Claim 18 words
The apparatus of claim 21 wherein said displaying means utilizes a visualization operating mode including maximum intensity projection.
Claim 28
Dependent Claim 17 words
The apparatus of claim 21 wherein said displaying means utilizes a visualization operating mode including ray-casting-based rendering.
Claim 29
Independent Claim 234 words
A method of operating a computing apparatus for determining an arbitrary sequence of data values from a group of predefined data values, comprising the steps of storing said group of predefined data values, arranged in an M(M≧3) dimensional Cartesian coordinate system, in a storing means, said storing means including a plurality of memory banks which are arranged to store said group of predefined data values such that no predefined data value has a neighboring predefined data value which is stored in a memory bank which is the same as its memory bank, said storing step including the steps of saving, in a cache memory means, data values associated with an immediately preceding memory access request and comparing a memory address of a current memory access request with a memory address of said immediately preceding memory access request; describing a path including an arbitrary sequence of sampling points through said group of predefined data values, including defining the starting point, ending point shape and sampling step size of said path in response to a user input, and calculating a memory address of each sampling point; accessing using a nearest neighbor interpolation rule, said storing means to obtain the nearest predefined data value for each sampling point and when a sampling step size is less than or equal to the distance between adjacent predefined data values, accessing said cache memory means to obtain multiple sampling points.
Claim 30
Independent Claim 234 words
A method of operating a computing apparatus for determining an arbitrary sequence of data values from a group of predefined data values, comprising the steps of storing said group of predefined data values, arranged in an M(M≧3) dimensional Cartesian coordinate system, in a storing means, said storing means including a plurality of memory banks which are arranged to store said group of predefined data values such that no predefined data value has a neighboring predefined data value which is stored in a memory bank which is the same as its memory bank, said storing step including the steps of saving, in a cache memory means, data values associated with an immediately preceding memory access request and comparing a memory address of a current memory access request with a memory address of said immediately preceding memory access request; describing a path including an arbitrary sequence of sampling points through said group of predefined data values, including defining the starting point, ending point shape and sampling step size of said path in response to a user input, and calculating a memory address of each sampling point; accessing using a nearest neighbor interpolation rule, said storing means to obtain the nearest predefined data value for each sampling point and when a sampling step size is less than or equal to the distance between adjacent predefined data values, accessing said cache memory means to obtain multiple sampling points.
Claim 31
Dependent Claim 327 words
Computing apparatus for determining an arbitrary sequence of data values from a group of predefined data values, said apparatus comprising means for storing said group of predefined data values, arranged in an M(M≧3) dimensional Cartesian coordinate system, said storing means including a plurality of memory banks which are arranged to store said group of predefined data values such that no predefined data value has a neighboring predefined data value which is stored in a memory bank which is the same as its memory bank, said storing means being so arranged that all of said plurality of memory banks can be accessed simultaneously, said storing means further including cache memory means for saving data values associated with an immediately preceding memory access request and means for comparing a memory address of a current memory access request with a memory address of said immediately preceding memory access request; means for describing a path including an arbitrary sequence of sampling points through said group of predefined data values, said path describing means including means for defining the starting point, ending point shape and sampling step size of said path in response to a user input, and means responsive to said defining means for calculating a memory address of each sampling point; means, responsive to a user selected interpolation mode, for interpolating a value for one or more sampling point values, when the user selects a nearest neighbor interpolation rule, using the nearest predefined data value for each sampling point, and when a sampling step size is less than or equal to the distance between adjacent predefined data values, said cache memory means is accessed to obtain multiple sampling points, and when said user selects an operating dimension N(N≧1), which is less than or equal to M, said interpolation means uses 2 N neighboring predefined data values, which are simultaneously accessed from said storing means using the memory address of each sampling point, to determine one or more sampling point values.
Claim 32
Dependent Claim 327 words
Computing apparatus for determining an arbitrary sequence of data values from a group of predefined data values, said apparatus comprising means for storing said group of predefined data values, arranged in an M(M≧3) dimensional Cartesian coordinate system, said storing means including a plurality of memory banks which are arranged to store said group of predefined data values such that no predefined data value has a neighboring predefined data value which is stored in a memory bank which is the same as its memory bank, said storing means being so arranged that all of said plurality of memory banks can be accessed simultaneously, said storing means further including cache memory means for saving data values associated with an immediately preceding memory access request and means for comparing a memory address of a current memory access request with a memory address of said immediately preceding memory access request; means for describing a path including an arbitrary sequence of sampling points through said group of predefined data values, said path describing means including means for defining the starting point, ending point shape and sampling step size of said path in response to a user input, and means responsive to said defining means for calculating a memory address of each sampling point; means, responsive to a user selected interpolation mode, for interpolating a value for one or more sampling point values, when the user selects a nearest neighbor interpolation rule, using the nearest predefined data value for each sampling point, and when a sampling step size is less than or equal to the distance between adjacent predefined data values, said cache memory means is accessed to obtain multiple sampling points, and when said user selects an operating dimension N(N≧1), which is less than or equal to M, said interpolation means uses 2 N neighboring predefined data values, which are simultaneously accessed from said storing means using the memory address of each sampling point, to determine one or more sampling point values.
Claim 33
Independent Claim 319 words
A method of operating a computing apparatus for determining an arbitrary sequence of data values from a group of predefined data values, comprising the steps of storing said group of predefined data values, arranged in an M(M≧3) dimensional Cartesian coordinate system in a storing means, said storing means including a plurality of memory banks which are arranged to store said group of predefined data values such that no predefined data value has a neighboring predefined data value which is stored in a memory bank which is the same as its memory bank, said storing means being so arranged that all of said plurality of memory banks can be accessed simultaneously, said storing step including the steps of saving, in a cache memory means, data values associated with an immediately preceding memory access request and comparing a memory address of a current memory access request with a memory address of said immediately preceding memory access request; describing a path including an arbitrary sequence of sampling points through said group of predefined data values, including defining the starting point, ending point shape and sampling step size of said path in response to a user input, and calculating a memory address of each sampling point; in response to a user selected interpolation mode, interpolating a value for one or more sampling point values, when the user selects a nearest neighbor interpolation rule, accessing the nearest predefined data value for each sampling point value, and when a sampling step size is less than or equal to the distance between adjacent predefined data values, accessing said cache memory means to obtain multiple sampling point values, and when said user selects an operating dimension N(N≧1), which is less than or equal to M, interpolating the 2 N neighboring predefined data values, which are simultaneously accessed from said storing means using the memory address of each sampling point, to determine one or more sampling point values.
Claim 34
Independent Claim 319 words
A method of operating a computing apparatus for determining an arbitrary sequence of data values from a group of predefined data values, comprising the steps of storing said group of predefined data values, arranged in an M(M≧3) dimensional Cartesian coordinate system in a storing means, said storing means including a plurality of memory banks which are arranged to store said group of predefined data values such that no predefined data value has a neighboring predefined data value which is stored in a memory bank which is the same as its memory bank, said storing means being so arranged that all of said plurality of memory banks can be accessed simultaneously, said storing step including the steps of saving, in a cache memory means, data values associated with an immediately preceding memory access request and comparing a memory address of a current memory access request with a memory address of said immediately preceding memory access request; describing a path including an arbitrary sequence of sampling points through said group of predefined data values, including defining the starting point, ending point shape and sampling step size of said path in response to a user input, and calculating a memory address of each sampling point; in response to a user selected interpolation mode, interpolating a value for one or more sampling point values, when the user selects a nearest neighbor interpolation rule, accessing the nearest predefined data value for each sampling point value, and when a sampling step size is less than or equal to the distance between adjacent predefined data values, accessing said cache memory means to obtain multiple sampling point values, and when said user selects an operating dimension N(N≧1), which is less than or equal to M, interpolating the 2 N neighboring predefined data values, which are simultaneously accessed from said storing means using the memory address of each sampling point, to determine one or more sampling point values.

References Cited (Backward Citations)

US5008752A Cited
US5140416A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-05-16 1997-11-15 1998-05-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-05-16 2001-11-15 2002-05-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-05-16 2005-11-15 2006-05-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag