Commit 9ecea333 authored by jayd1860's avatar jayd1860
Browse files

v1.18.8

-- Fix incorrect code forgot to remove MemoryRequired method from GroupClass and SubjClass
parent e3362639
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -405,7 +405,7 @@ classdef StimClass < FileLoadSaveClass
                
        % ----------------------------------------------------------------------------------
        function nbytes = MemoryRequired(obj)
            nbytes = sizeof(obj.name) + sizeof(obj.data);
            nbytes = sizeof(obj.name) + sizeof(obj.data) + sizeof(obj.filename) + sizeof(obj.fileformat) + sizeof(obj.supportedFomats) + 8;
        end
        
    end
+1 −70
Original line number Diff line number Diff line
@@ -258,75 +258,6 @@ classdef GroupClass < TreeNodeClass

        
        
        % ----------------------------------------------------------------------------------
        function nbytes = MemoryRequired(obj, option)
            if ~exist('option','var')
                option = 'memory';
            end
            if isempty(obj)
                return;
            end
            
            nbytes = [0,0,0];
            ks = find(obj.groups.SubjsProcFlags==1);
            kr = find(obj.groups.RunsProcFlags==1);
            
            % We assume for practcal purposes that unprocessed nodes take up zero bytes 
            if ~isempty(kg)
                nbytes(1) = length(kg) * obj.groups(kg(1)).MemoryRequired();
            end
            if ~isempty(ks)
                [iG,iS] = ind2sub(size(obj.groups.SubjsProcFlags), ks);
                nbytes(2) = length(ks) * obj.groups(iG(1)).subjs(iS(1)).MemoryRequired();
            end
            if ~isempty(kr)
                [iG,iS,iR] = ind2sub(size(obj.groups.RunsProcFlags), kr);
                nbytes(3) = length(kr) * obj.groups(iG(1)).subjs(iS(1)).runs(iR(1)).MemoryRequired(option);
            end
                        
            % Add up the bytes. 
            nbytes = sum(nbytes);
        end
        
        
        % ----------------------------------------------------------------------------------
        function diskspaceToSpare = CheckAvailableDiskSpace(obj, hwait)
            if ishandle(hwait)
                obj.logger.Write(sprintf('Estimating disk space required to save processing results ...\n'), obj.logger.ProgressBar(), hwait);
            end
            memRequired = obj.MemoryRequired('disk');
            diskspaceToSpare = (getFreeDiskSpace() - memRequired);   % Disk space to spare in megabytes
            diskspacePercentRemaining = 100 * diskspaceToSpare/memRequired;
            msg = {};
            obj.logger.Write(sprintf('CheckAvailableDiskSpace:    disk space available = %0.1f MB,    required disk space estimate = %0.1f MB\n', getFreeDiskSpace()/1e6, memRequired/1e6));
            if diskspaceToSpare < 0
                msg{1} = sprintf('ERROR: Cannot save processing results requiring ~%0.1f MB of disk space on current drive with only %0.1f MB of free space available.\n', ...
                                  memRequired/1e6, getFreeDiskSpace()/1e6);
            elseif diskspacePercentRemaining < 200
                msg{1} = sprintf('WARNING: Available disk space on the current drive is low (%0.1f MB). This may cause problems saving processing results in the future.', ...
                                  getFreeDiskSpace()/1e6);
                msg{2} = sprintf('Consider moving your data set to a drive with more free space\n');
            end            
            if ~isempty(msg)
                MessageBox([msg{:}]);
                obj.logger.Write([msg{:}]);
            end            
        end
        
        
            
         % ----------------------------------------------------------------------------------        
        function nbytes = MemoryRequiredExact(obj, option)
            if ~exist('option','var')
                option = 'disk';
            end
            nbytes = obj.procStream.MemoryRequired();
            for ii = 1:length(obj.subjs)
                nbytes = nbytes + obj.subjs(ii).MemoryRequiredExact(option);
            end
        end

        
        % ----------------------------------------------------------------------------------
        function SetPath(obj, dirname)
            obj.path = dirname;
+0 −12
Original line number Diff line number Diff line
@@ -425,18 +425,6 @@ classdef SubjClass < TreeNodeClass
        end
                

        % ----------------------------------------------------------------------------------        
        function nbytes = MemoryRequiredExact(obj, option)
            if ~exist('option','var')
                option = 'disk';
            end
            nbytes = obj.procStream.MemoryRequired();
            for ii = 1:length(obj.runs)
                nbytes = nbytes + obj.runs(ii).MemoryRequired(option);
            end
        end

        
        % ----------------------------------------------------------------------------------
        function tblcells = GenerateTableCells_MeanHRF(obj, trange, width, iBlk)
            if ~exist('trange','var') || isempty(trange)
+1 −1
Original line number Diff line number Diff line
@@ -2,5 +2,5 @@ function vrnnum = getVernum()

vrnnum{1} = '1';   % Major version #
vrnnum{2} = '18';  % Major sub-version #
vrnnum{3} = '7';   % Minor version #
vrnnum{3} = '8';   % Minor version #
vrnnum{4} = '0';   % Minor sub-version # or patch #: 'p1', 'p2', etc