Rank: 1953 based on 75 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
15 Dec 2010 Screenshot N-dimensional Fourier interpolation Performs N-D FFT interpolation with upsampling, downsampling, or mixed up- and downsampling Author: Matthias Schabel nd fft, interpolation, image processing 16 6
  • 2.0
2.0 | 1 rating
20 Sep 2006 Screenshot 3D Shepp-Logan phantom 3D extension of phantom.m Author: Matthias Schabel reconstruction, phantom, 3d, shepplogan, ellipsoids 59 5
  • 4.0
4.0 | 9 ratings
Comments and Ratings by Matthias View all
Updated File Comments Rating
15 Apr 2011 ordfilt3 Performs 3D order-statistic filtering on 3D volumetric data. Author: Toby Collins

I suggest a couple of minor changes :

1) Insert the following two lines after line 50 to get reasonable default values :

if (nargin < 3) winSize = 3; end;
if (nargin < 2) ord = 'med'; end;

2) Replace M = feature('memstats'); (which only works on Windows) with

try
M = feature('memstats');
catch e
M = 10^28; % or however many bytes of free space you figure your machine will have
end;

15 Apr 2011 ordfilt3 Performs 3D order-statistic filtering on 3D volumetric data. Author: Toby Collins

15 Apr 2011 Image Edge Enhancing Coherence Filter Toolbox Advanced 2D/3D noise removal and edge enhancing with anisotropic diffusion filtering ( Weickert ) Author: Dirk-Jan Kroon

To solve the mex compilation error :

on OSX, add the following as line 3 of diffusion_scheme_3D_novel_getUpdate.c :

#include "string.h"

and re-run the mex script

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
05 Jul 2013 N-dimensional Fourier interpolation Performs N-D FFT interpolation with upsampling, downsampling, or mixed up- and downsampling Author: Matthias Schabel Hawks, Michael

Kevin - I think the following one-line function (added to the bottom of the code) should do the trick.

function i = odd(x)
i = (floor(x/2)~=(x/2));

07 May 2013 3D Shepp-Logan phantom 3D extension of phantom.m Author: Matthias Schabel Jonathan

08 Aug 2012 3D Shepp-Logan phantom 3D extension of phantom.m Author: Matthias Schabel Amber

05 Dec 2011 3D Shepp-Logan phantom 3D extension of phantom.m Author: Matthias Schabel Cunha, Vanessa

Can someone explain me how do I work with these functions? It should not have a GUI file?

28 Aug 2011 N-dimensional Fourier interpolation Performs N-D FFT interpolation with upsampling, downsampling, or mixed up- and downsampling Author: Matthias Schabel Sharp, Kevin

This fails with ...

??? Undefined function or method 'odd' for input arguments of type 'double'.

Error in ==> fftInterpolate at 61
centeru = floor(newsz/2)+1+odd(newsz);

Contact us