Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
visualize 3 dimensional data

Subject: visualize 3 dimensional data

From: Christian Baumberger

Date: 13 May, 2010 06:02:08

Message: 1 of 3

Hi all,

we have a data set with x, y z - coordinates and should somehow visualize the data in 3d. Is there a way to visualize the density of the data? Similar to how it is done for MRI data. The data set consists of a matrix n x 3, where n is the number of data points. The columns represent the three coordinates x, y, and z. The goal would be to show regions of different density with different colors, so that maxima can easily be found in the data set.

Thanks for your help!

Christian and Thomas

Subject: visualize 3 dimensional data

From: Sean

Date: 13 May, 2010 13:34:20

Message: 2 of 3

"Christian Baumberger" <chribabe@gmail.com> wrote in message <hsg4l0$408$1@fred.mathworks.com>...
> Hi all,
>
> we have a data set with x, y z - coordinates and should somehow visualize the data in 3d. Is there a way to visualize the density of the data? Similar to how it is done for MRI data. The data set consists of a matrix n x 3, where n is the number of data points. The columns represent the three coordinates x, y, and z. The goal would be to show regions of different density with different colors, so that maxima can easily be found in the data set.
>
> Thanks for your help!
>
> Christian and Thomas

First off, don't you need a 4th dimension i.e. the intensity? [x y z intensity]

Create a 3d matrix:
let's call it M3D

>>M3D = zeros(max(your_nx3_matrix));
>>M3D(sub2ind(size(M3D), your_nx3(:,1), your_nx3(:,1))) = intensity;

to visualize quickly:
>>implay(M3D)

To find maxima:
Try different intensity thresholds and visualize with an isosurface/patch e.g.

>>M3Dbw = M3D>170; %Everything greater than intensity 170 is white, else black
>>fv = isosurface(M3Dbw,0);
>>patch(fv,'FaceColor','blue','EdgeColor','none');

 

Subject: visualize 3 dimensional data

From: Ravi

Date: 17 Jun, 2010 05:17:05

Message: 3 of 3

Hi,

I just wanted to point out that MATLAB isosurface function has a lot of problems for complex data.

I have created a program that renders exact error-free surfaces from 3-D voxel data, such as from MRI, CT Scan.

The following is the link to the discussion thread

http://www.mathworks.com/matlabcentral/newsreader/view_thread/268226#755017

You can download the program from

http://www.hermesacademy.com/products

Ravi



"Sean " <sean.dewolski@nospamplease.umit.maine.edu> wrote in message <hsgv4s$btf$1@fred.mathworks.com>...
> "Christian Baumberger" <chribabe@gmail.com> wrote in message <hsg4l0$408$1@fred.mathworks.com>...
> > Hi all,
> >
> > we have a data set with x, y z - coordinates and should somehow visualize the data in 3d. Is there a way to visualize the density of the data? Similar to how it is done for MRI data. The data set consists of a matrix n x 3, where n is the number of data points. The columns represent the three coordinates x, y, and z. The goal would be to show regions of different density with different colors, so that maxima can easily be found in the data set.
> >
> > Thanks for your help!
> >
> > Christian and Thomas
>
> First off, don't you need a 4th dimension i.e. the intensity? [x y z intensity]
>
> Create a 3d matrix:
> let's call it M3D
>
> >>M3D = zeros(max(your_nx3_matrix));
> >>M3D(sub2ind(size(M3D), your_nx3(:,1), your_nx3(:,1))) = intensity;
>
> to visualize quickly:
> >>implay(M3D)
>
> To find maxima:
> Try different intensity thresholds and visualize with an isosurface/patch e.g.
>
> >>M3Dbw = M3D>170; %Everything greater than intensity 170 is white, else black
> >>fv = isosurface(M3Dbw,0);
> >>patch(fv,'FaceColor','blue','EdgeColor','none');
>
>

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us