function [Status, Prefix, View] = PrefixStatus (Prefix) % % [Status, Prefix, View] = PrefixStatus (Name) % %Purpose: % Determines if the name chosen is a valid for an AFNI Brick % If you pass a name containing prefix only and no view then % View is assumed to be +orig % % %Input Parameters: % Name: a string containing an AFNI Prefix, % or Prefix and view moon+orig or % Prefix, view and extension moon+acpc.HEAD % % % %Output Parameters: % Status : -1 error % : 0 Read Only % : 1 Read|Write % Prefix: The Prefix % View: The view, if found % %Key Terms: % %More Info : % % The function checks for the existence of a brick with a similar % prefix % % % Author : Ziad Saad % Date : Wed Sep 19 10:30:05 EDT 2001 % SSCC/NIMH/ National Institutes of Health, Bethesda Maryland %Define the function name for easy referencing FuncName = 'PrefixStatus'; %Debug Flag DBG = 1; %initailize return variables Status = 0; View = ''; %make sure you have no HEAD or BRIK as an extension [Prefix, Ext] = RemoveExtension(Prefix, '.HEAD|.BRIK|.BRIK.gz'); %make sure you have no view [Prefix, ViewName] = RemoveExtension(Prefix, '+orig|+acpc|+tlrc'); %check for conflict if (~isempty(Ext) & isempty(ViewName)), Status = -1; ErrEval(FuncName,'Err_Expected a correct view (+orig, +acpc or +tlrc) but found none.'); return; end if (~isempty(ViewName)), View = ViewName; else View = '+orig'; end %look for various files if (exist(sprintf('%s%s.HEAD', Prefix, View)) == 2), return; end if (exist(sprintf('%s%s.BRIK', Prefix, View)) == 2), return; end Status = 1; return;