3D interpolation with very large data sets

5 visualizzazioni (ultimi 30 giorni)
Finn
Finn il 28 Feb 2013
I would like to interpolate quite large 16 bit datasets. However, the code I normally use (see below) requires the input to be at least of type single and during calculation it produces 3 datasets of type double. Is there another solution for interpolation that requires less computer-power at the expense of accuracy?
>>
function [stackOut]=3Dinterpolation(stack,ny,nx,nz)
[y x z]= ndgrid(linspace(1,size(stack,1),ny),linspace(1,size(stack,2),nx),linspace(1,size(stack,3),nz)); stackOut=interp3(stack,y,x,z);
>>
Thank you, Finn
  1 Commento
Jan
Jan il 28 Feb 2013
Please specify "quite large" exactly. Some users are overwhelmed by 1000 elements already, some can bear billions.

Accedi per commentare.

Risposte (1)

Jan
Jan il 28 Feb 2013
Inside INTERP3 no magic things happen. I suggest to take a look into the code, copy what you need, and formulate it such that it acceptes your input type.
Btw., what does "16 bit dataset" exactly mean?
  1 Commento
Finn
Finn il 1 Mar 2013
I am working with 3D image stacks with 1 billion voxels of type uint16. I had a look into the INTERP3 code. Since this seems quite complex (..at least to me) I will stick to the current code and will use another computer for the calculations (64bit).
Best regards, Finn

Accedi per commentare.

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by