Home > atmlab > arts > xml > xmlReadTensor5.m

xmlReadTensor5

PURPOSE ^

Reads a Tensor5 from an XML file.

SYNOPSIS ^

function result = xmlReadTensor5(fid, attrlist, itype, ftype, binary, fid2)

DESCRIPTION ^

 Reads a Tensor5 from an XML file.

    Internal function that should never be called directly.
    Use *xmlLoad* instead.

 FORMAT   result = xmlReadTensor5(fid, attrlist, itype, ftype, binary, fid2)

 OUT   result     Tensor5
 IN    fid        File descriptor of XML file
 IN    attrlist   List of tag attributes
 IN    itype      Integer type of input file
 IN    ftype      Floating point type of input file
 IN    binary     Flag. 1 = binary file, 0 = ascii
 IN    fid2       File descriptor of binary file

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

DOWNLOAD ^

xmlReadTensor5.m

SOURCE CODE ^

0001 % Reads a Tensor5 from an XML file.
0002 %
0003 %    Internal function that should never be called directly.
0004 %    Use *xmlLoad* instead.
0005 %
0006 % FORMAT   result = xmlReadTensor5(fid, attrlist, itype, ftype, binary, fid2)
0007 %
0008 % OUT   result     Tensor5
0009 % IN    fid        File descriptor of XML file
0010 % IN    attrlist   List of tag attributes
0011 % IN    itype      Integer type of input file
0012 % IN    ftype      Floating point type of input file
0013 % IN    binary     Flag. 1 = binary file, 0 = ascii
0014 % IN    fid2       File descriptor of binary file
0015 
0016 % 2002-10-18   Created by Oliver Lemke.
0017 
0018 function result = xmlReadTensor5(fid, attrlist, itype, ftype, binary, fid2)
0019 
0020 ns = str2num (xmlGetAttrValue (attrlist, 'nshelves'));
0021 nb = str2num (xmlGetAttrValue (attrlist, 'nbooks'));
0022 np = str2num (xmlGetAttrValue (attrlist, 'npages'));
0023 nr = str2num (xmlGetAttrValue (attrlist, 'nrows'));
0024 nc = str2num (xmlGetAttrValue (attrlist, 'ncols'));
0025 nelem =  ns * nb * np * nr * nc;
0026 
0027 if ~binary
0028   result = fscanf (fid, '%f', nelem);
0029 else
0030   result = fread (fid2, nelem, ftype);
0031 end
0032 xmlCheckSize (nelem, size (result));
0033 
0034 result = permute (reshape (result, [nc nr np nb ns]), [5 4 3 2 1]);
0035

Generated on Mon 15-Sep-2014 13:31:28 by m2html © 2005