Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Importar archivos HDF4 con funciones de nivel bajo

Este ejemplo muestra cómo leer los datos de un conjunto de datos científicos en un archivo HDF4, con las funciones del paquete matlat.io.hdf4.sd. En la terminología de HDF4, los arreglos numéricos almacenados en archivos HDF4 se llaman conjuntos de datos.

Agregar paquete a la lista de importación

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

import matlab.io.hdf4.*

Las llamadas subsiguientes en el paquete matlat.io.hdf4.sd solo tienen que incluir el prefijo sd, en vez de toda la ruta del paquete.

Abrir archivo HDF4

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

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

sd.start devuelve un identificador de archivos HDF4 SD, sdID.

Obtener información sobre el archivo HDF4

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

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

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

Obtener atributos del archivo HDF4

Obtenga los contenidos del primer atributo global. HDF4 utiliza la indexación de base cero, así que un valor de indexación de 0 especifica el primer índice.

Los archivos HDF4 pueden incluir de manera opcional información, llamada atributos, que describe los datos que contiene el archivo. Los atributos asociados a todo un archivo HDF4 son atributos globales. Los atributos asociados a un conjunto de datos son atributos locales.

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

Seleccionar conjuntos de datos para importar

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

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

sd.select devuelve un identificador de conjunto de datos HDF4 SD, sdsID.

Obtener información sobre el conjunto de datos

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

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

    20    10

datatype = 
'double'
nattrs = 11

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

Leer todo el conjunto de datos

Lea todos los contenidos 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 parte de 2 por 4 del conjunto de datos, empezando desde la primera columna en la segunda fila. Utilice la función matlab.io.hdf4.sd.readData, que corresponde a la rutina API de SD, SDreaddata. La entrada start es un vector de valores de índice que especifican la ubicación en el conjunto de datos en el que desea empezar a leer los datos. La entrada count es un vector que especifica el número de elementos que leer en cada dimensión del conjunto de datos.

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

    21    41    61    81
    22    42    62    82

Cerrar conjunto de datos HDF4

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

sd.endAccess(sdsID)

Cerrar archivo HDF4

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

sd.close(sdID)

Consulte también

| | | | |

Temas relacionados