Rank: 1558 based on 74 downloads (last 30 days) and 3 files submitted
photo

Andriy Myronenko

E-mail
Company/University
Accuray

Personal Profile:

home page: https://sites.google.com/site/myronenko/

Professional Interests:
Image processing, non-rigid image registration

 

Watch this Author's files

 

Files Posted by Andriy View all
Updated   File Tags Downloads
(last 30 days)
Comments Rating
10 May 2011 Screenshot 2D interpolation Fast 2D linear interpolation of scalar of vector valued 2D images. Author: Andriy Myronenko interp2, interpolation, 2d interpolation 20 2
  • 5.0
5.0 | 1 rating
10 May 2011 Screenshot 3D interpolation Fast 3D linear interpolation of scalar or vector valued 3D images. Author: Andriy Myronenko interp3, interpolation, 3d interpolations, volume interpolation 24 4
  • 4.5
4.5 | 4 ratings
06 May 2010 Screenshot Multidimensional Discrete Cosine Transform (DCT) Fast forward and inverse Multidimensional Discrete Cosine Transforms (DCT, IDCT). Author: Andriy Myronenko dct, idct, discrete cosine trans..., inverse discrete cosi..., is this discrete cosi..., fast discrete cosine ... 30 10
  • 4.33333
4.3 | 6 ratings
Comments and Ratings by Andriy View all
Updated File Comments Rating
28 May 2009 Multidimensional Discrete Cosine Transform (DCT) Fast forward and inverse Multidimensional Discrete Cosine Transforms (DCT, IDCT). Author: Andriy Myronenko

To candelabro
1) As for the zero-padding, modifying fft(x,n) is incorrect.
Just pad the input 3D vector x before taking the dct.
For instance, use :

newsize=[M N K]; % Define padded size of the 3D array;
tmp=zeros([M N K]); % padded data buffer
cutsize=min([size(x); newsize]);
tmp(1:cutsize(1),1:cutsize(2),1:cutsize(3))=x(1:cutsize(1),1:cutsize(2),1:cutsize(3));
x=tmp;
y=mirt_dctn(x); take 3D DCT (padded or reduced to the M N K size)

2) The positive and negative frequencies is only appropriate for fft. If you really want to have the analogy with fft, then remember that DCT gives an output for positive frequencies. And negative frequencies can be obtained by mirror flip.

22 May 2009 Multidimensional Discrete Cosine Transform (DCT) Fast forward and inverse Multidimensional Discrete Cosine Transforms (DCT, IDCT). Author: Andriy Myronenko

to Paul Matthews,
thanks for the feedback,

I was surprised by your results at first, then I find out that your results in 1D are correct only for ROW vectors. Try the same with COLUMN vectors, please:

tic; for i=1:3000;x=rand(512,1);dct(x);end; toc % 0.81s
tic; for i=1:3000;x=rand(512,1);idct(x);end; toc % 0.91s

tic; for i=1:3000;x=rand(512,1);mirt_dctn(x);end; toc % 0.66s
tic; for i=1:3000;x=rand(512,1);mirt_idctn(x);end; toc % 0.70s

For the larger 1D vectors, mirt_dctn (and mirt_idctn) performance improvement is even bigger
tic; for i=1:3000;x=rand(4096,1);mirt_dctn(x);end; toc % 2.1s
tic; for i=1:3000;x=rand(4096,1);dct(x);end; toc % 4.55s.

PS: I'll take a look why my 'row' vector processing takes longer, and correct it shortly.

Comments and Ratings on Andriy's Files View all
Updated File Comment by Comments Rating
23 Jul 2014 3D interpolation Fast 3D linear interpolation of scalar or vector valued 3D images. Author: Andriy Myronenko Wang

great!!

20 Aug 2013 3D interpolation Fast 3D linear interpolation of scalar or vector valued 3D images. Author: Andriy Myronenko Robin

Works great. Thanks to Thomas for the tip - I was also tripped up by the (y,x,z) input ordering.

11 Jun 2013 Multidimensional Discrete Cosine Transform (DCT) Fast forward and inverse Multidimensional Discrete Cosine Transforms (DCT, IDCT). Author: Andriy Myronenko Du Toit, Philip

Which definition of DCT are you using? See http://en.wikipedia.org/wiki/Discrete_cosine_transform.
Thanks

22 Sep 2012 Multidimensional Discrete Cosine Transform (DCT) Fast forward and inverse Multidimensional Discrete Cosine Transforms (DCT, IDCT). Author: Andriy Myronenko Singh, akhilesh

fine

31 Jul 2012 3D interpolation Fast 3D linear interpolation of scalar or vector valued 3D images. Author: Andriy Myronenko Hampshire, Thomas

Please note the dimension order when addressing the image 'imput_image':
(y,x,z). This has me confused for a while
Need to add following function to compile using VS:

static inline double round(double val){
return floor(val + 0.5);
}

Contact us