Importing Scientific Data Files
value =
This is a sample entry.
6
Close the CDF file.
cdflib.close(cdfid);
Importing Network Common Data Form (NetCDF)
Files
Network Common Data Form (NetCDF) is a set of software libraries and
machine-independent data formats that support the creation, access, and
sharing of array-oriented scientific data. NetCDF is used by a wide range of
engineering and scientific fields that want a standard way to store data so
that it can be shared. For more information, read the NetCDF documentation
available at the Unidata Web site.
MATLAB provides two methods to import data from an NetCDF file:
• High-level functions that simplify the process of importing data
• Low-level functions that enable more complete control over the importing
process, by providing access to the routines in the NetCDF C library
Note For information about importing to Common Data Format (CDF) files,
which have a completely separate, incompatible format, see “Importing
Common Data File Format (CDF) Files” on page 2-50.
Using the MATLAB High-Level NetCDF Functions to Import Data
MATLAB includes several functions that you can use to examine the contents
of a NetCDF file and import data from the file into the MATLAB workspace.
ncdisp
—View the contents of a NetCDF file
ncinfo
—Create a structure that contains all the metadata that defines a
NetCDF file
ncread
—Read data from a variable in a NetCDF file
2-57
Program to automatically convert pdf to tiff - Library SDK class:C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net, ASP.NET MVC, Ajax, WinForms, WPF
Online C# Tutorial for How to Convert PDF File to Tiff Image File
www.rasteredge.com
Program to automatically convert pdf to tiff - Library SDK class:VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.net, ASP.NET MVC, Ajax, WinForms, WPF
Free VB.NET Guide to Render and Convert PDF Document to TIFF
www.rasteredge.com
2
Importing Data
ncreadatt
—Read data from an attribute associated with a variable in a
NetCDF file or with the file itself (a global attribute).
For details about how to use these functions, see their reference pages, which
include examples. The following section illustrates how to use these functions
to perform a common task: finding all the unlimited dimensions in a NetCDF
file.
Finding All Unlimited Dimensions in a NetCDF File. This example shows
how to find all unlimited dimensions in an existing NetCDF file, visually
and programmatically.
1
To determine which dimensions in a NetCDF file are unlimited, display the
contents of the example NetCDF file, using
ncdisp
.The
ncdisp
function
identifies unlimited dimensions with the label
UNLIMITED
.
Source:
\\matlabroot\toolbox\matlab\demos\example.nc
Format:
netcdf4
Global Attributes:
creation_date = '29-Mar-2010'
Dimensions:
x = 50
y = 50
z = 5
.
.
.
Groups:
/grid2/
Attributes:
description = 'This is another group attribute.'
Dimensions:
x
= 360
y
= 180
time = 0
(UNLIMITED)
Variables:
temp
2-58
Library SDK class:C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#
you automatically fill in field data to PDF file. Please note: position or name should be provided for filling in field data. String inputFilePath = Program.
www.rasteredge.com
Library SDK class:VB.NET PDF Form Data fill-in library: auto fill-in PDF form data
PDF to text, C#.NET convert PDF to images code sample shows how to automatically fill in Dim inputFilePath As String = Program.RootPath + "\\" 1_AF.pdf" Dim
www.rasteredge.com
Importing Scientific Data Files
Size:
[]
Dimensions: x,y,time
Datatype:
int16
2
To determine all unlimited dimensions programmatically, first get
information about the file using
ncinfo
. This example gets information
about a particular group in the file.
ginfo = ncinfo('example.nc','/grid2/');
3
Get a vector of the Boolean values that indicate, for this group, which
dimension is unlimited.
unlimDims = [finfo.Dimensions.Unlimited]
unlimDims =
0
0
1
4
Use this vector to display the unlimited dimension.
disp(ginfo.Dimensions(unlimDims))
Name: 'time'
Length: 0
Unlimited: 1
Using the MATLAB Low-Level NetCDF Functions to Import Data
MATLAB provides access to the routines in the NetCDF C library that you
can use to read data from NetCDF files and write data to NetCDF files.
MATLAB provides this access through a set of MATLAB functions that
correspond to the functions in the NetCDF C library. MATLAB groups the
functions into a package, called
netcdf
.To call one of the functions in the
package, you must specify the package name. For a complete list of all the
functions, see
netcdf
.
This section does not describe all features of the NetCDF library or explain
basic NetCDF programming concepts. To use the MATLAB NetCDF functions
effectively, you should be familiar with the information about NetCDF
contained in the
NetCDF C Interface Guide
.
2-59
Library SDK class:VB.NET Image: RasterEdge JBIG2 Codec Image Control for VB.NET
online through our VB.NET PDF web viewer. JBIG2 Codec: Compression Technique in VB.NET. RasterEdge JBIG2 Codec for VB.NET will automatically segment the bi
www.rasteredge.com
Library SDK class:VB Imaging - VB ISBN Barcode Tutorial
Automatically compute and add check digit for ISBN BarcodeHeight = 200 barcode. AutoResize = true 'convert barcode to a Book Number) in VB project & program.
www.rasteredge.com
2
Importing Data
Mapping NetCDF API Syntax to MATLAB Function Syntax. For the
most part, the MATLAB NetCDF functions correspond directly to routines
in the NetCDF C library. For example, the MATLAB function
netcdf.open
corresponds to the NetCDF library routine
nc_open
. In some cases, one
MATLAB function corresponds to a group of NetCDF library functions. For
example, instead of creating MATLAB versions of every NetCDF library
nc_put_att_type
function, where
type
represents a data type, MATLAB
uses one function,
netcdf.putAtt
,to handle all supported data types.
The syntax of the MATLAB functions is similar to the NetCDF library
routines, with some exceptions. For example, the NetCDF C library routines
use input parameters to return data, while their MATLAB counterparts
use one or more return values. For example, the following is the function
signature of the
nc_open
routine in the NetCDF library. Note how the
NetCDF file identifier is returned in the
ncidp
argument.
int nc_open (const char *path, int omode, int *ncidp); /* C syntax */
The following shows the signature of the corresponding MATLAB function,
netcdf.open
.Like its NetCDF C library counterpart, the MATLAB NetCDF
function accepts a character string that specifies the file name and a
constant that specifies the access mode. Note, however, that the MATLAB
netcdf.open
function returns the file identifier,
ncid
,as a return value.
ncid = netcdf.open(filename, mode)
To see a list of all the functions in the MATLAB NetCDF package, see the
netcdf
reference page.
Exploring the Contents of a NetCDF File. This example shows how to use
the MATLAB NetCDF functions to explore the contents of a NetCDF file. The
section uses the example NetCDF file included with MATLAB,
example.nc
,
as an illustration. For an example of reading data from a NetCDF file, see
“Reading Data from a NetCDF File” on page 2-64
1
Open the NetCDF file using the
netcdf.open
function. This function
returns an identifier that you use thereafter to refer to the file. The
example opens the file for read-only access, but you can specify other access
modes. For more information about modes, see
netcdf.open
.
ncid = netcdf.open('example.nc','NC_NOWRITE');
2-60
Library SDK class:VB.NET TWAIN: TWAIN Image Scanning Device Control in VB.NET
attention that the image is automatically captured for VB.NET TWAIN image scanning program at any powerful & profession imaging controls, PDF document, image
www.rasteredge.com
Library SDK class:C# HTML5 PDF Viewer SDK deployment on Visual Studio .NET
NET convert PDF to text, C#.NET convert PDF to images Once you do this, dependencies will automatically be included attempt was made to load a program with an
www.rasteredge.com
Importing Scientific Data Files
2
Explore the contents of the file using the
netcdf.inq
function. This
function returns the number of dimensions, variables, and global attributes
in the file, and returns the identifier of the unlimited dimension in the file.
(An unlimited dimension can grow.)
[ndims,nvars,natts,unlimdimID]= netcdf.inq(ncid)
ndims =
3
nvars =
3
natts =
1
unlimdimID =
-1
3
Get more information about the dimensions, variables, and global
attributes in the file by using NetCDF inquiry functions. For example,
to get information about the global attribute, first get the name of the
attribute, using the
netcdf.inqAttName
function. After you get the name,
'creation_date'
in this case, you can use the
netcdf.inqAtt
function to
get information about the data type and length of the attribute.
To get the name of an attribute, you must specify the ID of the variable
the attribute is associated with and the attribute number. To access a
global attribute, which isn’t associated with a particular variable, use
the constant
'NC_GLOBAL'
as the variable ID. The attribute number is
azero-based index that identifies the attribute. For example, the first
attribute has the index value
0
,and so on.
global_att_name = netcdf.inqAttName(ncid,netcdf.getConstant('NC_GLOBAL'),0)
2-61
Library SDK class:VB.NET PowerPoint: VB Codes to Create Linear and 2D Barcodes on
PowerPoint PDF 417 barcode library is a mature and image into REImage within VB.NET PPT barcoding program. digit of EAN-8 can be automatically calculated and
www.rasteredge.com
Library SDK class:VB.NET Image: How to Decode and Scan 2D PDF-417 Barcode on Image
Reading library in VB image program still supports Automatically detect orientation of the recognized PDF417 barcode at Imaging: How to Read 2D PDF-417 Barcode
www.rasteredge.com
2
Importing Data
global_att_name =
creation_date
[xtype attlen] = netcdf.inqAtt(ncid,netcdf.getConstant('NC_GLOBAL'),global_att_name)
xtype =
2
attlen =
11
4
Get the value of the attribute, using the
netcdf.getAtt
function.
global_att_value = netcdf.getAtt(ncid,netcdf.getConstant('NC_GLOBAL'),global_att_name)
global_att_value =
29-Mar-2010
5
Get information about the dimensions defined in the file through a series
of calls to
netcdf.inqDim
. This function returns the name and length of
the dimension. The
netcdf.inqDim
function requires the dimension ID,
which is a zero-based index that identifies the dimensions. For example,
the first dimension has the index value
0
,and so on.
[dimname, dimlen] = netcdf.inqDim(ncid,0)
dimname =
x
dimlen =
50
2-62
Library SDK class:C# PDF Print Library: Print PDF documents in C#.net, ASP.NET
C#.NET convert PDF to text, C#.NET convert PDF to images Free library control SDK for automatically printing PDF document An attempt to load a program with an
www.rasteredge.com
Library SDK class:C# Image: How to Integrate Web Document and Image Viewer
Image Web Viewer Control in C#.NET Program. RasterEdgeImagingDeveloperGuide8.0.pdf: from this user manual do this, dependencies will automatically be included in
www.rasteredge.com
Importing Scientific Data Files
6
Get information about the variables in the file through a series of calls to
netcdf.inqVar
.This function returns the name, data type, dimension
ID, and the number of attributes associated with the variable. The
netcdf.inqVar
function requires the variable ID, which is a zero-based
index that identifies the variables. For example, the first variable has
the index value
0
,and so on.
[varname, vartype, dimids, natts] = netcdf.inqVar(ncid,0)
varname =
avagadros_number
vartype =
6
dimids =
[]
natts =
1
The data type information returned in
vartype
is the numeric value of
the NetCDF data type constants, such as,
NC_INT
and
NC_BYTE
.See the
NetCDF documentation for information about these constants.
2-63
2
Importing Data
Reading Data from a NetCDF File. After you understand the contents of a
NetCDF file, by using the inquiry functions, you can retrieve the data from
the variables and attributes in the file. To read the data associated with
the variable
avagadros_number
in the example file, use the
netcdf.getVar
function. The following example uses the NetCDF file identifier returned
in the previous section, “Exploring the Contents of a NetCDF File” on page
2-60. The variable ID is a zero-based index that identifies the variables. For
example, the first variable has the index value
0
,and so on. (To learn how
to write data to a NetCDF file, see “Exporting (Writing) Data to a NetCDF
File” on page 3-36.)
A_number = netcdf.getVar(ncid,0)
A_number =
6.0221e+023
The NetCDF functions automatically choose the MATLAB class that best
matches the NetCDF data type, but you can also specify the class of the return
data by using an optional argument to
netcdf.getVar
. The following table
shows the default mapping. For more information about NetCDF data types,
see the NetCDF C Interface Guide.
NetCDF Data Type
MATLAB Class
Notes
NC_BYTE
int8
or
uint8
NetCDF interprets byte data as
either signed or unsigned.
NC_CHAR
char
NC_SHORT
int16
NC_INT
int32
NC_FLOAT
single
NC_DOUBLE
double
Importing Flexible Image Transport System (FITS)
Files
The FITS file format is the standard data format used in astronomy,
endorsed by both NASA and the International Astronomical Union (IAU).
2-64
Importing Scientific Data Files
For more information about the FITS standard, go to the FITS Web site,
http://fits.gsfc.nasa.gov/
.
The FITS file format is designed to store scientific data sets consisting of
multidimensional arrays (1-D spectra, 2-D images, or 3-D data cubes) and
two-dimensional tables containing rows and columns of data. A data file in
FITS format can contain multiple components, each marked by an ASCII text
header followed by binary data. The first component in a FITS file is known
as the primary, which can be followed by any number of other components,
called extensions, in FITS terminology. For a complete list of extensions,
see
fitsread
.
To get information about the contents of a Flexible Image Transport System
(FITS) file, use the
fitsinfo
function. The
fitsinfo
function returns a
structure containing the information about the file and detailed information
about the data in the file.
To import data into the MATLAB workspace from a Flexible Image Transport
System (FITS) file, use the
fitsread
function. Using this function, you can
import the primary data in the file or you can import the data in any of the
extensions in the file, such as the
Image
extension, as shown in this example.
1
Determine which extensions the FITS file contains, using the
fitsinfo
function.
info = fitsinfo('tst0012.fits')
info =
Filename: 'matlabroot\tst0012.fits'
FileModDate: '12-Mar-2001 19:37:46'
FileSize: 109440
Contents: {'Primary'
'Binary Table'
'Unknown'
'Image'
'ASCII T
PrimaryData: [1x1 struct]
BinaryTable: [1x1 struct]
Unknown: [1x1 struct]
Image: [1x1 struct]
AsciiTable: [1x1 struct]
2-65
2
Importing Data
The
info
structure shows that the file contains several extensions including
the
Binary Table
,
ASCII Table
,and
Image
extensions.
2
Read data from the file.
To read the
Primary
data in the file, specify the filename as the only
argument:
pdata = fitsread('tst0012.fits');
To read any of the extensions in the file, you must specify the name of the
extension as an optional parameter. This example reads the
Binary Table
extension from the FITS file:
bindata = fitsread('tst0012.fits','binarytable');
Importing Hierarchical Data Format (HDF5) Files
Hierarchical Data Format, Version 5, (HDF5) is a general-purpose,
machine-independent standard for storing scientific data in files, developed
by the National Center for Supercomputing Applications (NCSA). HDF5 is
used by a wide range of engineering and scientific fields that want a standard
way to store data so that it can be shared. For more information about the
HDF5 file format, read the HDF5 documentation available at the HDF Web
site (
http://www.hdfgroup.org
).
MATLAB provides two methods to import data from an HDF5 file:
• High-level functions that make it easy to import data, when working with
numeric datasets
• Low-level functions that enable more complete control over the importing
process, by providing access to the routines in the HDF5 C library
Note For information about importing to HDF4 files, which have a completely
separate, incompatible format, see “Importing Hierarchical Data Format
(HDF4) Files” on page 2-73.
2-66
Documents you may be interested
Documents you may be interested