Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: gaussian convolution of XYZ data (code provided)
Replies: 3   Last Post: Apr 7, 2013 1:35 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Kate

Posts: 90
Registered: 8/28/10
Re: gaussian convolution of XYZ data (code provided)
Posted: Jan 10, 2013 8:23 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

help please

"Kate " <chino_tones@hotmail.com> wrote in message <kcleab$snu$1@newscl01ah.mathworks.com>...
> Good day everyone,
>
> I have a dataset of XYZ points. I then convert the dataset to a voxelized model.
> Here is the data of the XYZ points and the code showing the relating voxels for this data (NOTE: I use a function called "VOXEL_IMAGE" you an download at: http://www.mathworks.com/matlabcentral/fileexchange/30374-voxel-image
>
> %-------------begin---------------------------
>
> data=[0 0.33333 0.5
> 0.18182 0.44444 0.625
> 0 0.66667 0
> 0 0.22222 0.125
> 0.27273 0.66667 0.25
> 0.36364 0.44444 0.4375
> 0.27273 0 0.625
> 0.54545 0.55556 0.75
> 0.54545 0.22222 0.875
> 1 1 1]
>
> % for i=1:size(data,1)
> % varargout = voxel(data(i,:));
> % end
> color = 'y';
> alpha = 1;
> edgec = 'k';
>
> vs = 0.05;
> voxel_image(data, vs, color, alpha, edgec);
>
> %---------------------end---------------------------------
>
>
> Now, I want to apply a 3D Gaussian Filter to convolute with this 3D voxel data. The voxelized model is represented as:
>
> M(x,y,z)
>
> So I want to convolute as follows using the 3d gaussian, G(x,y,z,sigma ):
>
> M(x,y,z)*G(x,y,z,sigma) ;% where * represents the convolution
>
>
> So, I created my own 3D Gaussian function. Here is the 3DGaussian filter:
>
> %----------------------------
> function f=gaussian3d(sigma)
> % N is grid size set as 7, sigma speaks for itself
>
> N =7;
>
> [x y z]=meshgrid(round(-N/2):round(N/2), round(-N/2):round(N/2), round(-N/2):round(N/2));
>
> f=(1/(sqrt(2*pi)*sigma)^3)*exp(-x.^2/(2*sigma^2)-y.^2/(2*sigma^2)-z.^2/(2*sigma^2));
> %----------------------------
>
> I have no issues with the function or anything, my problem is that my gaussian3d filter is essentially a 3D array, whereas my Data is just a single XYZ matrix, and I do not know how to go about doing the 3d convolution. This is what I have so far.
>
>
> Any help would be appreciated.
>
> cheers.




Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.