www.gusucode.com > matlab 案例源码 matlab代码程序 > matlab/ImportHDF4FilesUsingLowLevelFunctionsExample.m
%% Import HDF4 Files Using Low-Level Functions % This example shows how to read data from a Scientific Data Set in an HDF4 % file, using the functions in the |matlat.io.hdf4.sd| package. In HDF4 % terminology, the numeric arrays stored in HDF4 files are called data sets. %% Add Package to Import List % Add the |matlab.io.hdf4.*| path to the import list. import matlab.io.hdf4.* %% % Subsequent calls to functions in the |matlat.io.hdf4.sd| package need % only be prefixed with |sd|, rather than the entire package path. %% Open HDF4 File % Open the example HDF4 file, |sd.hdf|, and specify read access, using the % |matlab.io.hdf4.sd.start| function. This function corresponds to the SD % API routine, |SDstart|. sdID = sd.start('sd.hdf','read'); %% % |sd.start| returns an HDF4 SD file identifier, |sdID|. %% Get Information About HDF4 File % Get the number of data sets and global attributes in the file, using the % |matlab.io.hdf4.sd.fileInfo| function. This function corresponds to the % SD API routine, |SDfileinfo|. [ndatasets,ngatts] = sd.fileInfo(sdID) %% % The file, |sd.hdf|, contains four data sets and one global attribute, %% Get Attributes from HDF4 File % Get the contents of the first global attribute. HDF4 uses zero-based indexing, % so an index value of 0 specifies the first index. % % HDF4 files can optionally include information, called _attributes_, that % describes the data that the file contains. Attributes associated with % an entire HDF4 file are _global_ attributes. Attributes associated with % a data set are _local_ attributes. attr = sd.readAttr(sdID,0) %% Select Data Sets to Import % Determine the index number of the data set named |temperature|. Then, % get the identifier of that data set. idx = sd.nameToIndex(sdID,'temperature'); sdsID = sd.select(sdID,idx); %% % |sd.select| returns an HDF4 SD data set identifier, |sdsID|. %% Get Information About Data Set % Get information about the data set identified by |sdsID| using the |matlab.io.hdf4.sd.getInfo| % function. This function corresponds to the SD API routine, |SDgetinfo|. [name,dims,datatype,nattrs] = sd.getInfo(sdsID) %% % |sd.getInfo| returns information about the name, size, data type, and % number of attributes of the data set. %% Read Entire Data Set % Read the entire contents of the data set specified by the data set identifier, % |sdsID|. data = sd.readData(sdsID); %% Read Portion of Data Set % Read a 2-by-4 portion of the data set, starting from the first column % in the second row. Use the |matlab.io.hdf4.sd.readData| function, which % corresponds to the SD API routine, |SDreaddata|. The |start| input is % a vector of index values specifying the location in the data set where % you want to start reading data. The |count| input is a vector specifying % the number of elements to read along each data set dimension. start = [0 1]; count = [2 4]; data2 = sd.readData(sdsID,start,count) %% Close HDF4 Data Set % Close access to the data set, using the |matlab.io.hdf4.sd.endAccess| % function. This function corresponds to the SD API routine, |SDendaccess|. % You must close access to all the data sets in and HDF4 file before closing % the file. sd.endAccess(sdsID) %% Close HDF4 File % Close the HDF4 file using the |matlab.io.hdf4.sd.close| function. This % function corresponds to the SD API routine, |SDend|. sd.close(sdID)