Hi Kent,
On May 3, 2011, at 11:20 AM, Williams, Norman K wrote:
> OK.
>
>
> I'm not entirely clear how to coordinate different memory and disk
> footprints, particularly when using the C++ interface.
>
> The steps I know about:
>
> 1. Open the file
> 2. Open the DataSet.
> 3. Obtain the DataSpace from the Dataset.
> 4. Select a hyperslab to read data into a voxel buffer.
>
> I select a hyperslab from the dataset to read based on the image region
> specified by the user. It's a little more complicated than that in ITK,
> but that summarizes the process.
>
> At what stage in the process do I specify a different in-memory dataspace?
The voxel buffer is the buffer that you want to describe with the
in-memory dataspace. So, you'd define a new dataspace (with H5Screate) that
specified the correct dimensions for your buffer.
> And how do I specify it's position in the larger on-disk dataspace?
You specify a selection in the on-disk dataspace (probably with
H5Sselect_all, H5Sselect_hyperslab, H5Sselect_elements, etc) and a selection in
the in-memory dataspace (in the same way) and when you call H5Dread, the
elements are transferred from the on-disk dataset into the memory buffer.
> If there's example code in the manual, just point me there.
I think Binh-Minh already pointed you to the C++ examples, and you can
search for H5Sselect_hyperslab in the 'examples' subdirectory of the HDF5
distribution.
Quincey
> On 5/3/11 10:56 AM, "Quincey Koziol" <[email protected]> wrote:
>
>> Hi Kent,
>>
>> On May 3, 2011, at 10:16 AM, Williams, Norman K wrote:
>>
>>> I am using the H5Sselect_hyperslab method for both reading and writing
>>> already. Additionally when I write out an image, I 'chunk' the output
>>> and
>>> compress it.
>>>
>>>
>>> The question I have is what I can do to minimize the memory footprint.
>>> Based on my reading in the documentation, the Hyperslab interface
>>> actually
>>> scatters/gathers to/from an in-memory dataset, leading me to believe the
>>> entire dataset will be allocated in system memory.
>>>
>>> So the question is how would I use HDF5 in such a way as to minimize the
>>> memory footprint in this context?
>>
>> You are allowed to create a memory dataspace that is different from
>> the dataset's dataspace in the file. That will allow you to tune the
>> memory footprint.
>>
>
>
>
> ________________________________
> Notice: This UI Health Care e-mail (including attachments) is covered by the
> Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential
> and may be legally privileged. If you are not the intended recipient, you
> are hereby notified that any retention, dissemination, distribution, or
> copying of this communication is strictly prohibited. Please reply to the
> sender that you have received the message in error, then delete it. Thank
> you.
> ________________________________
>
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> [email protected]
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org