Arrangement for determining and displaying volumetric data in an imaging system
AssigneeAT&T Bell Laboratories
InventorsM. Reha Civanlar, Steven C. Dzik, Yuh-Tay Liow
Life of this patent
Estimating the term…
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.
Claims28
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.gtoreq.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.gtoreq.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.sup.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.sup.N neighboring predefined data values accessed from said storing means.
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.gtoreq.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.gtoreq.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.sup.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.
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.gtoreq.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.
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.gtoreq.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.
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.gtoreq.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.gtoreq.1), which is less than or equal to M, said interpolation means uses 2.sup.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.
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.gtoreq.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.gtoreq.1), which is less than or equal to M, interpolating the 2.sup.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.
Dependencies are inferred from the claim text.