banner

Spectral Domain OCT: MATLAB Resampling Code

%% Resample raw spectral image

function imageN = processRawFDI2(image,calibration)

index = calibration(:,1);
wtCoeff1 = calibration(:,2);
wtCoeff2 = calibration(:,3);
phaseSystem = calibration(:,4);

% Resample, correct phase, FFT
imageN = zeros(size(image));
%sig = zeros(size(imageN));
for j=1:size(imageN,2)
imageN(1,j) = image(1,j);
for k=2:size(imageN,1)
imageN(k,j) = wtCoeff1(k-1)*image(index(k-1)+1,j)+wtCoeff2(k-1)*image(index(k-1),j);
end
% resampled spectral data (function return)
imageN(:,j) = 2*imageN(:,j).*exp(-1i*phaseSystem);

% Fourier Transformed data with corrected system dispersion (not returned in this example)
imageFFT = abs(fft(2*imageN(:,j).*exp(-i*phaseSystem)));
end