View-dependent stochastic volume rendering with Monte Carlo ray exploration
AssigneeInternational Business Machines Corporation
InventorKun Zhao
Life of this patent
Estimating the term…
Abstract
Methods and systems for data visualization include comparing a random value to opacity values along a plurality of rays to determine a stopping point for each ray in a three-dimensional dataset. An expected brightness is determined for each ray based on a brightness value at the stopping point of each ray. An image is generated that visualizes the three-dimensional dataset based on the expected brightness for each ray.
Claims19
A computer-implemented method for data visualization, comprising:
- comparing a random value to opacity values along a plurality of rays to determine a stopping point for each ray in a three-dimensional dataset;
- determining an expected brightness for each ray based on a brightness value at the stopping point of each ray;
- generating an image that visualizes the three-dimensional dataset based on the expected brightness for each ray;
- and
- transforming the three-dimensional dataset along the plurality of rays, such that each ray comprises a plurality of samples from the three-dimensional dataset, with each sample comprising an opacity value and a brightness value,
- wherein the rays are represented as rows of a matrix, with each column of a matrix representing a respective distance from a shared observation point, and
- wherein comparing the random value to the opacity values along the plurality of rays comprises sequentially comparing the random value to the opacity value of each sample in order of increasing distance from the shared observation point until the random value is lower than the opacity value of a given sample and determining the given sample to be the stopping point of the ray.
A non-transitory computer readable storage medium comprising a computer readable program for data visualization, wherein the computer readable program when executed on a computer causes the computer to perform the steps of:
- comparing a random value to opacity values along a plurality of rays to determine a stopping point for each ray in a three-dimensional dataset;
- determining an expected brightness for each ray based on a brightness value at the stopping point of each ray;
- generating an image that visualizes the three-dimensional dataset based on the expected brightness for each ray;
- and
- transforming the three-dimensional dataset along the plurality of rays, such that each ray comprises a plurality of samples from the three-dimensional dataset, with each sample comprising an opacity value and a brightness value,
- wherein the rays are represented as rows of a matrix, with each column of a matrix representing a respective distance from a shared observation point, and
- wherein comparing the random value to the opacity values along the plurality of rays comprises sequentially comparing the random value to the opacity value of each sample in order of increasing distance from the shared observation point until the random value is lower than the opacity value of a given sample and determining the given sample to be the stopping point of the ray.
A computer-implemented method for data visualization, comprising:
- transforming a three-dimensional dataset along a plurality of rays to form a matrix, where each ray is represented as row of the matrix, such that each ray comprises a plurality of samples from the three-dimensional dataset, with each sample comprising an opacity value and a brightness value;
- sequentially comparing a random value to opacity values along each of the plurality of rays in order of increasing distance from a shared observation point until the random value is lower than the opacity value of a given sample to determine a stopping point for each ray in the transformed three-dimensional dataset;
- determining an expected brightness for each ray based on a brightness value at the stopping point of each ray;
- iterating said sequential comparison and said determination for each of the plurality of rays until a maximum number of iterations has been reached, wherein determining the expected brightness for each ray at each iteration comprises combining an expected brightness determined at a previous iteration with the brightness value of the stopping point of each ray for a current iteration;
- and
- generating an image that visualizes the three-dimensional dataset based on the expected brightness for each ray.
A system for data visualization, comprising:
- a projection module comprising a processor configured to compare a random value to opacity values along a plurality of rays to determine a stopping point for each ray in a three-dimensional dataset;
- a brightness module configured to determine an expected brightness for each ray based on a brightness value at the stopping point of each ray;
- a visualization module configured to generate an image that visualizes the three-dimensional dataset based on the expected brightness for each ray;
- and
- a transform module configured to transform the three-dimensional dataset along the plurality of rays, such that each ray comprises a plurality of samples from the three-dimensional dataset, with each sample comprising an opacity value and a brightness value,
- wherein the rays are represented as rows of a matrix, with each column of a matrix representing a respective distance from a shared observation point, and
- wherein the projection module is further configured to sequentially compare the random value to the opacity value of each sample in order of increasing distance from the shared observation point until the random value is lower than the opacity value of a given sample and to determine the given sample to be the stopping point of the ray.
A system for data visualization, comprising:
- a transform module configured to transform a three-dimensional dataset along a plurality of rays to form a matrix, where each ray is represented as row of the matrix, such that each ray comprises a plurality of samples from the three-dimensional dataset, with each sample comprising an opacity value and a brightness value;
- a projection module comprising a processor configured to sequentially compare a random value to opacity values along each of the plurality of rays in order of increasing distance from a shared observation point until the random value is lower than the opacity value of a given sample to determine a stopping point for each ray in the transformed three-dimensional dataset;
- a brightness module configured to determine an expected brightness for each ray based on a brightness value at the stopping point of each ray, wherein said projection module and said brightness module are configured to iterate said sequential comparison and said determination for each of the plurality of rays until a maximum number of iterations has been reached, and wherein the brightness module is further configured to combine an expected brightness determined at a previous iteration with the brightness value of the stopping point of each ray for a current iteration;
- and
- a visualization module configured to generate an image that visualizes the three-dimensional dataset based on the expected brightness for each ray.
Dependencies are inferred from the claim text.