Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Importar archivos HDF4 mediante funciones de bajo nivel

En este ejemplo se muestra cómo leer datos de un conjunto de datos científicos en un archivo HDF4, utilizando las funciones del paquete.matlat.io.hdf4.sd En la terminología HDF4, las matrices numéricas almacenadas en los archivos HDF4 se denominan conjuntos de datos.

Agregar paquete a la lista de importación

Agregue la ruta de acceso a la lista de importación.matlab.io.hdf4.*

import matlab.io.hdf4.*

Las llamadas subsiguientes a funciones en el paquete solo necesitan tener el prefijo, en lugar de la ruta de acceso completa del paquete.matlat.io.hdf4.sdsd

Abra HDF4 File

Abra el archivo de ejemplo HDF4 y especifique el acceso de lectura mediante la función.sd.hdfmatlab.io.hdf4.sd.start Esta función corresponde a la rutina de la API SD,.SDstart

sdID = sd.start('sd.hdf','read');

Devuelve un identificador de archivo SD HDF4,.sd.startsdID

Obtenga información sobre HDF4 archivo

Obtenga el número de conjuntos de datos y atributos globales en el archivo, utilizando la función.matlab.io.hdf4.sd.fileInfo Esta función corresponde a la rutina de la API SD,.SDfileinfo

[ndatasets,ngatts] = sd.fileInfo(sdID)
ndatasets = 4 
ngatts = 1 

El archivo, contiene cuatro conjuntos de datos y un atributo global,sd.hdf

Obtener atributos de HDF4 archivo

Obtenga el contenido del primer atributo global. HDF4 utiliza la indización de base cero, por lo que un valor de índice de 0 especifica el primer índice.

Los archivos HDF4 opcionalmente pueden incluir información, llamada, que describe los datos que contiene el archivo.attributes Los atributos asociados con todo un archivo HDF4 son atributos.global Los atributos asociados a un conjunto de datos son atributos.local

attr = sd.readAttr(sdID,0)
attr =  '02-Sep-2010 11:13:16' 

Seleccione conjuntos de datos para importar

Determine el número de índice del conjunto de datos denominado.temperature A continuación, obtenga el identificador de ese conjunto de datos.

idx = sd.nameToIndex(sdID,'temperature'); sdsID = sd.select(sdID,idx);

Devuelve un identificador de conjunto de datos SD HDF4,.sd.selectsdsID

Obtener información sobre el conjunto de datos

Obtenga información sobre el conjunto de datos identificado mediante la función.sdsIDmatlab.io.hdf4.sd.getInfo Esta función corresponde a la rutina de la API SD,.SDgetinfo

[name,dims,datatype,nattrs] = sd.getInfo(sdsID)
name =  'temperature' 
dims = 1×2

    20    10

datatype =  'double' 
nattrs = 11 

Devuelve información sobre el nombre, el tamaño, el tipo de datos y el número de atributos del conjunto de datos.sd.getInfo

Leer conjunto de datos completo

Lea todo el contenido del conjunto de datos especificado por el identificador del conjunto de datos.sdsID

data = sd.readData(sdsID);

Leer parte del conjunto de datos

Lea una porción de 2 por 4 del conjunto de datos, comenzando desde la primera columna de la segunda fila. Utilice la función, que corresponde a la rutina de la API SD,.matlab.io.hdf4.sd.readDataSDreaddata La entrada es un vector de valores de índice que especifica la ubicación en el conjunto de datos donde desea empezar a leer los datos.start La entrada es un vector que especifica el número de elementos que se leen a lo largo de cada dimensión del conjunto de datos.count

start = [0 1]; count = [2 4]; data2 = sd.readData(sdsID,start,count)
data2 = 2×4

    21    41    61    81
    22    42    62    82

Cierre HDF4 conjunto de datos

Cierre el acceso al conjunto de datos mediante la función.matlab.io.hdf4.sd.endAccess Esta función corresponde a la rutina de la API SD,.SDendaccess Debe cerrar el acceso a todos los conjuntos de datos y al archivo HDF4 antes de cerrar el archivo.

sd.endAccess(sdsID)

Cerrar HDF4 archivo

Cierre el archivo HDF4 con la función.matlab.io.hdf4.sd.close Esta función corresponde a la rutina de la API SD,.SDend

sd.close(sdID)

Consulte también

| | | | |

Temas relacionados