Rank: 708 based on 170 downloads (last 30 days) and 2 files submitted
photo

Matthias Schabel

E-mail
Company/University
University of Utah Department of Radiology

Personal Profile:

Professional Interests:

 

Watch this Author's files

 

Files Posted by Matthias View all
Updated   File Tags Downloads
(last 30 days)
Comments Rating
12 Jan 2009 Screenshot N-dimensional Fourier interpolation Performs N-D FFT interpolation with upsampling, downsampling, or mixed up- and downsampling Author: Matthias Schabel image processing, nd fft, interpolation 48 2
20 Sep 2006 Screenshot 3D Shepp-Logan phantom 3D extension of phantom.m Author: Matthias Schabel ellipsoids, phantom, shepplogan, reconstruction, 3d 122 3
  • 4.0
4.0 | 3 ratings
Comments and Ratings by Matthias
Updated File Comments Rating
13 Jan 2009 N-dimensional Fourier interpolation Performs N-D FFT interpolation with upsampling, downsampling, or mixed up- and downsampling Author: Matthias Schabel

This code is needed as well (append on to end of fftInterpolate.m file):

function subData = subRange(data,rng)

if (isempty(rng))
    subData = data;
    return;
end;

sz = size(data);
dim = length(sz);

lo = rng(:,1)';
hi = rng(:,2)';

if (length(lo) ~= dim || length(hi) ~= dim)
    error('subRange :: dimension mismatch');
end;

% replace zeros with lower/upper limit
for i=1:dim
    if (lo(i) == 0) lo(i) = 1; end;
    if (hi(i) == 0) hi(i) = sz(i); end;
end;

if (any(lo<1) | any(hi > sz))
    error('subRange :: sub-range out of bounds');
end;

switch (dim)
    case 1, subData = data(lo(1):hi(1));
    case 2, subData = data(lo(1):hi(1),...
                    lo(2):hi(2));
    case 3, subData = data(lo(1):hi(1),...
                    lo(2):hi(2),...
                    lo(3):hi(3));
    case 4, subData = data(lo(1):hi(1),...
                    lo(2):hi(2),...
                    lo(3):hi(3),...
                    lo(4):hi(4));
    case 5, subData = data(lo(1):hi(1),...
                    lo(2):hi(2),...[]
                    lo(3):hi(3),...
                    lo(4):hi(4),...
                    lo(5):hi(5));
    otherwise,
            % generate string and use eval
            str = 'subData = data(';
            for i=1:dim
                str = [str 'lo(' num2str(i) '):hi(' num2str(i) ')'];
                if (i~=dim)
                    str = [str ','];
                else
                    str = [str ');'];
                end;
            end;
            eval(str);
end;
        
return;

Comments and Ratings on Matthias' Files View all
Updated File Comment by Comments Rating
02 Jun 2009 3D Shepp-Logan phantom 3D extension of phantom.m Author: Matthias Schabel KEN, Fine

good

24 Apr 2009 N-dimensional Fourier interpolation Performs N-D FFT interpolation with upsampling, downsampling, or mixed up- and downsampling Author: Matthias Schabel Benjamin

Matthias, I cannot get this to work. The example image posted seems to interpolate the peaks dataset by a factor of two. But when I run the following code, I don't get the same result:
>>> figure; subplot(1,2,1); imagesc(peaks);
>>> subplot(1,2,2); imagesc(fftInterpolate(peaks,2));
what's going on?

13 Jan 2009 N-dimensional Fourier interpolation Performs N-D FFT interpolation with upsampling, downsampling, or mixed up- and downsampling Author: Matthias Schabel Schabel, Matthias

This code is needed as well (append on to end of fftInterpolate.m file):

function subData = subRange(data,rng)

if (isempty(rng))
    subData = data;
    return;
end;

sz = size(data);
dim = length(sz);

lo = rng(:,1)';
hi = rng(:,2)';

if (length(lo) ~= dim || length(hi) ~= dim)
    error('subRange :: dimension mismatch');
end;

% replace zeros with lower/upper limit
for i=1:dim
    if (lo(i) == 0) lo(i) = 1; end;
    if (hi(i) == 0) hi(i) = sz(i); end;
end;

if (any(lo<1) | any(hi > sz))
    error('subRange :: sub-range out of bounds');
end;

switch (dim)
    case 1, subData = data(lo(1):hi(1));
    case 2, subData = data(lo(1):hi(1),...
                    lo(2):hi(2));
    case 3, subData = data(lo(1):hi(1),...
                    lo(2):hi(2),...
                    lo(3):hi(3));
    case 4, subData = data(lo(1):hi(1),...
                    lo(2):hi(2),...
                    lo(3):hi(3),...
                    lo(4):hi(4));
    case 5, subData = data(lo(1):hi(1),...
                    lo(2):hi(2),...[]
                    lo(3):hi(3),...
                    lo(4):hi(4),...
                    lo(5):hi(5));
    otherwise,
            % generate string and use eval
            str = 'subData = data(';
            for i=1:dim
                str = [str 'lo(' num2str(i) '):hi(' num2str(i) ')'];
                if (i~=dim)
                    str = [str ','];
                else
                    str = [str ');'];
                end;
            end;
            eval(str);
end;
        
return;

07 Apr 2007 3D Shepp-Logan phantom 3D extension of phantom.m Author: Matthias Schabel sara, boucenna

good

26 Oct 2006 3D Shepp-Logan phantom 3D extension of phantom.m Author: Matthias Schabel Fischer, André

Top Tags Applied by Matthias
3d, ellipsoids, image processing, phantom, reconstruction
Files Tagged by Matthias View all
Updated   File Tags Downloads
(last 30 days)
Comments Rating
12 Jan 2009 Screenshot N-dimensional Fourier interpolation Performs N-D FFT interpolation with upsampling, downsampling, or mixed up- and downsampling Author: Matthias Schabel image processing, nd fft, interpolation 48 2
20 Sep 2006 Screenshot 3D Shepp-Logan phantom 3D extension of phantom.m Author: Matthias Schabel ellipsoids, phantom, shepplogan, reconstruction, 3d 122 3
  • 4.0
4.0 | 3 ratings
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com