Wiki
Clone wikiUFF / other_formats / The Duke format
ooMaT is an object-oriented MATLAB for N-Dimensional data processing. The tool is created around a datacontainer class that contains the dataset and maintains a structure describing the dataset. The tool can be obtained from https://gitlab.oit.duke.edu/ultrasound/ooMat
Data container class
The data container contains the data and the structure describing the dataset. Additionally, it keep a log of all the operations carried on the dataset.
Properties
#!Matlab data = []; units = ''; info = ''; dims = struct(); params = struct(); log = '';
Constructor call
#!Matlab %DATACONTAINER Construct new datacontainer %obj = DATACONTAINER(data,dims,varargin) %obj = DATACONTAINER(datastruct) % %DATACONTAINER creates a datacontainer from a dataset, dimensions, %and parameters. When called on a single argument, the argument %must be a complete datacontainer object, or else a structure with %the equivalent fields for dimensions and parameters. % %INPUTS % data: N-D numeric data % dims: structure containing dimension information. Can be % created from <a href="matlab:helpPopup('datacontainer/datadims')">datacontainer/datadims</a>, or directly, % as a structure with the following fields: % names: 1 x N cell array of the names of the dimensions % units: 1 x N cell array of the units for the dimensions % (names{i}): one field for each dimension, containing the % values of that dimension as a column % additional fields can be provided, such as 'apex' or % 'geometry', that may be used for certain specialized % functions. % % Additional parameters will be included as property-value % pairs in iqobj.params. % %See Also: datacontainer/datadims
The data container operating functions
#!matlab methods %Data Referencing self = slice(self,dim,index,varargin) self = slicex(self,dim,range,varargin); self = permute(self,varargin) self = concatenate(self,dim,varargin) s = struct(self) save(self,filename,overwrite) %Data Dimensions [dimidx, dimname, dimunit] = getdim(self,dim_name_or_index); [self] = setdim(self,dim,dimval,dimname,dimunit) self = setunit(self,unit) sz = datasize(self,dim) isadim = isdim(self,dimname) n = ndims(self) self = rescale(self,dim,tgtunit,varargin) self = rmdim(self,dim) self = sortdim(self,dim,mode) self = sort(self,dim,mode) self = unique(self,dim) self = splitdim(self,innerdim,odimname,outer_n,outer_x0); self = splicedim(self,innerdim,outerdim) grid = ndgrid(self) x = dimval(self,dim) self = setparam(self,paramname,value,dim) [A,B] = broadcast(A,B) %Data Display h = plot(self,varargin) h = plotv(self,varargin) str = genlabel(self,dim,index) [h, cb] = imagesc(self,varargin) M = animate(self,dim,varargin); [h, sublabel] = imagetile(self,dim,tilingspec,varargin); h = quiver(self,varargin) H = xsurf(self,dims,cutidx,varargin) h = surfc(self,varargin) [imH, imSld] = imageslider(self,dim,varargin); [imH, imSld] = imagesliders(self,dim,varargin); h = boxplot(self,dim,varargin); varargout = imagecolor(self,map,varargin) %Scan-Conversion self = scanconvert(self,varargin) self = cart2pol(self,xdim,ydim,th_rad,r,x0,y0) self = pol2cart(self,thdim,rdim,x,y,x0,y0) self = plaid2plaid(self,dim1,dim2,xformhandle,y1,y2,varargin) self = radon_sum(self,xdim,ydim,x0,dydx) self = shear(self,xdim,ydim,dydx,szflag) %Data Processing self = interp(self,dim,x,method,extrap) self = resample(self,dim,k,method,extrap) [self, locobj] = subsamplepeak(self,dim) self = differentiate(self,dim,spacing) self = partial(self,dim,order) self = modulate(self,dim,f,phi) self = filter(self,dim,cutoff,order,type) self = conv(self,g,dim,shape) [self, selfminus] = directionalfilter(self,dim1,dim2) varargout = gradient(self,dim,k) self = fft(self,dim,N) self = ifft(self,dim,N) self = normalize(self,range) self = hamming(self,dim) self = tukeywin(self,dim,R) self = logcompress(self) [shiftobj,ccobj] = normxcorr(self1,dim,self2,ksz_samp,srch_samp,decimationfactor); [polyobj, r2obj] = polyfit(self,dim,order) self = polyval(polyobj,x) stats = anova(self,dim); self = stdfilt(self,dim,k) self = shift(self,dim,dx) %Basic Functions self = sum(self,dim) [self, locobj] = min(self,dim) [self, locobj] = max(self,dim) self = mean(self,dim) self = median(self,dim) self = std(self,dim,n) iqrobj = iqr(self,dim); self = plus(self,B) self = minus(self,B) self = times(self,B) self = rdivide(self,B) self = ldivide(self,B) self = sqrt(self) self = power(self,B) self = abs(self) self = angle(self) self = real(self) self = imag(self) self = conj(self) self = samplewise(self,fun,varargin) iseq = eq(self1,self2) noteq = ne(self1,self2) is_empty = isempty(self)
Updated