[NeXus-code-tickets] [NeXusCode] #249: NXtraverse

NeXus Data Format Library and Applications noreply at nexusformat.org
Wed Oct 6 08:10:24 BST 2010


#249: NXtraverse
---------------------------+------------------------------------------------
 Reporter:  Pedro.vicente  |       Owner:  Pedro.vicente
     Type:  task           |      Status:  assigned     
 Priority:  major          |   Milestone:               
Component:  napi           |     Version:  trunk        
 Keywords:                 |  
---------------------------+------------------------------------------------
Changes (by Pedro.vicente):

  * status:  new => assigned


Old description:

> NXtraverse, traverses and displays NeXus files (paths, data). Various
> aspects of NeXus datasets are optionally read and displayed. File
> traversal is achieved by using a recursive algorithm: NeXus datasets are
> displayed, NeXus groups are recursively iterated.
>
> Algorithm.  File iteration is achieved by recursively calling the
> following NeXus API functions,  starting at the HDF5 root group:
>
> NXgetgroupinfo; returns the number of objects (HDF5 groups and datasets).
>
> Iterate the objects obtained in 1); in each step the following functions
> are called
>
> NXgetnextentry; returns the object type (dataset or group). A selection
> is made: If the object is a dataset type, its contents are read. If the
> object is a group type, the group is opened with the NeXus API function
> NXopengroup, then the same sequence in 1) to 3) is recursively called,
> and then the group is closed with NXclosegroup.
>

> Usage. Usage of the tool is
>
> ./nxtraverse -f <filename> [-h] [-r] [-a] [-n N]
>
> [-f]    traverse file <filename>[-h]    print this usage message and
> exit[-r]    do not read data[-a]    do not read attributes[-n]
> print only N number of elements; N defaults to 5, * for all elements
>

> Ouput example
>
> ./nxtraverse -f BSS_5663_histo.nxs
>
> prints all objects (datasets, attributes, groups) in the file named
> “BSS_5663_histo.nxs”.  For arrays, the default first 5 elements are
> printed. Each object is displayed in 1 line. First the object path is
> displayed, after that, if the object is a dataset, data is displayed
> after an equal sign “=”. Attributes are distinguished from datasets by
> printing the symbol “#” after the dataset name they belong to.
>
> /entry
> /entry/DASlogs
> /entry/DASlogs/frequency
> /entry/DASlogs/frequency/average_value=0.013787
> /entry/DASlogs/frequency/average_value#units=Hz
> /entry/DASlogs/frequency/time=0 0.016667 0.033333 0.05 0.066666 ...

New description:

 NXtraverse, traverses and displays NeXus files (paths, data). Various
 aspects of NeXus datasets are optionally read and displayed. File
 traversal is achieved by using a recursive algorithm: NeXus datasets are
 displayed, NeXus groups are recursively iterated.

 Algorithm.  File iteration is achieved by recursively calling the
 following NeXus API functions,  starting at the HDF5 root group:

 NXgetgroupinfo; returns the number of objects (HDF5 groups and datasets).

 Iterate the objects obtained in 1); in each step the following functions
 are called

 NXgetnextentry; returns the object type (dataset or group). A selection is
 made: If the object is a dataset type, its contents are read. If the
 object is a group type, the group is opened with the NeXus API function
 NXopengroup, then the same sequence in 1) to 3) is recursively called, and
 then the group is closed with NXclosegroup.


 Usage. Usage of the tool is

 ./nxtraverse -f <filename> [-h] [-r] [-a] [-n N]

 [-f]    traverse file <filename>[-h]    print this usage message and
 exit[-r]    do not read data[-a]    do not read attributes[-n]    print
 only N number of elements; N defaults to 5, * for all elements


 Ouput example

 ./nxtraverse -f BSS_5663_histo.nxs

 prints all objects (datasets, attributes, groups) in the file named
 “BSS_5663_histo.nxs”.  For arrays, the default first 5 elements are
 printed. Each object is displayed in 1 line. First the object path is
 displayed, after that, if the object is a dataset, data is displayed after
 an equal sign “=”. Attributes are distinguished from datasets by printing
 the symbol “#” after the dataset name they belong to.

 /entry
 /entry/DASlogs
 /entry/DASlogs/frequency
 /entry/DASlogs/frequency/average_value=0.013787
 /entry/DASlogs/frequency/average_value#units=Hz
 /entry/DASlogs/frequency/time=0 0.016667 0.033333 0.05 0.066666 ...

--

-- 
Ticket URL: <http://trac.nexusformat.org/code/ticket/249#comment:1>
NeXus Data Format Library and Applications <http://www.nexusformat.org/>
NeXus Data Format Library and Applications



More information about the NeXus-code-tickets mailing list