3D interpolation with very large data sets

조회 수: 5 (최근 30일)
Finn
Finn 2013년 2월 28일
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
Jan
Jan 2013년 2월 28일
Please specify "quite large" exactly. Some users are overwhelmed by 1000 elements already, some can bear billions.

댓글을 달려면 로그인하십시오.

답변 (1개)

Jan
Jan 2013년 2월 28일
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
Finn
Finn 2013년 3월 1일
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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Interpolation에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by