Changeset 21704


Ignore:
Timestamp:
05/04/17 14:13:44 (8 years ago)
Author:
schlegel
Message:

CHG: add some checking in compressed mat for the case SMB is nan

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/solve/WriteData.m

    r21668 r21704  
    174174        s=size(data);
    175175
    176         if s(1)==1 | s(2)==1,
    177                 %No need to use Compressed format
    178                 error('Not needed (should call WriteData with DoubleMat)');
     176        if (s(1)==1 & s(2)==1 & isnan(data)),
     177                s(1)=0; s(2)=0;
    179178        end
    180179
     
    192191        fwrite(fid,s(2),'int');
    193192
    194         %Write offset and range
    195         A = data(1:end-1,:);
    196         offset = min(A(:));
    197         range = max(A(:)) - offset;
    198         fwrite(fid,offset,'double');
    199         fwrite(fid,range,'double');
    200 
    201         %Convert data to uint8 and write it
    202         A=uint8((A-offset)/range*255);
    203         fwrite(fid,A','uint8'); %get to the "c" convention, hence the transpose
    204 
    205         %Write last row as double (time)
    206         fwrite(fid,data(end,:),'double');
     193        if s(1)*s(2),
     194
     195                %Write offset and range
     196                A = data(1:end-1,:);
     197                offset = min(A(:));
     198                range = max(A(:)) - offset;
     199                fwrite(fid,offset,'double');
     200                fwrite(fid,range,'double');
     201
     202                %Convert data to uint8 and write it
     203                A=uint8((A-offset)/range*255);
     204                fwrite(fid,A','uint8'); %get to the "c" convention, hence the transpose
     205
     206                %Write last row as double (time)
     207                fwrite(fid,data(end,:),'double');
     208        else
     209
     210                %Write empty offset and range
     211                fwrite(fid,0,'double');
     212                fwrite(fid,0,'double');
     213        end
    207214        % }}}
    208215elseif strcmpi(format,'MatArray'), % {{{
Note: See TracChangeset for help on using the changeset viewer.