Thank you very much for your help! I was able to save a 2D array by using
your "H5D Create-Write 2D I32 array.vi" plus the "H5F Open-Create-Replace
File.vi" and "H5Fclose.vi" VIs from the toolset since I did not see these
VIs in your library. However, I am still having some problems and have a
few questions:
1. Sometimes it works fine and sometimes I get the following error: "An
exception occurred within the external code called by a Call Library Node.
This may have corrupted LabVIEW's memory..." Do you know what may be
causing this? Might it have something to do with my combining of your
library and the toolset "F" VIs? If you have a library that includes all H5
VIs that I would need I would prefer it to the toolset.
2. Can you define the "chunk size" for me? I appear to get fairly good
results (low size and low errors) with 1024 but this does not make a lot of
sense.
3. If I try to save (add) data to the same file and data name I get an
error. Eventually I plan on saving a 4096x4096 array of U16 data so it
would take a lot of memory to buffer and save all of the data at one time.
It would be a lot more efficient to save several rows of data at a time. Is
this possible or does all the data have to be saved at once?
4. As I mentioned, my end goal is to save a 4096x4096 array of U16 data (it
is an x-ray image file). I think I can figure out how to convert your VIs
to U16 from the notes you gave me. Please advise if there is anything
additional I should know.
Thanks again, Neal Pederson, np@vicontrols.com
"DFGray"
wrote in message
news:5065000000050000006ABB0000-1031838699000@exchange.ni.com...
> There is no support for 2D arrays because the toolset was designed to
> complement the digitizer and function generator products. 2D support
> is relatively easy to create. However, the answer depends upon
> whether you want to use HDF5 in general, or the Hierarchical Waveform
> Storage (HWS) structure used by soft front panels. We will cover the
> first case first, since it is easier.
>
> The HDF5 base API is C. The data type for both read and write
> functions is almost always void*, meaning you can wire anything into
> it. HDF5 determines how to read/write data by looking at the type and
> dataspace inputs. The LabVIEW toolset is a very thin layer over the C
> API, so the HDF5 documentation (available at the NCSA website
> ref=http://hdf.ncsa.uiuc.edu/HDF5/>http://hdf.ncsa.uiuc.edu/HDF5/)
> should give you all you need. ...