How do I extract the original waves making up a contour map.

Hi Guys,

I have a contour map that is created directly from a .nx.hdf data file.

The contour has data in 3 dimensions, X-coordinate, Y-coordinate and Z-the intensity

How do I browse up the original waves from this hdf file.
It sounds if you're doing a neutron experiment (is it supposed to be a Nexus file). You should install the HDF5 xop and the HDF5 browser, which should enable you to open the HDF5 file, browse inside it, then allow you to load the wave of interest, if it exists.
andyfaff wrote:
It sounds if you're doing a neutron experiment (is it supposed to be a Nexus file). You should install the HDF5 xop and the HDF5 browser, which should enable you to open the HDF5 file, browse inside it, then allow you to load the wave of interest, if it exists.


Yes it is,

The HDF5 browser generates a list of all the Nexus files with each corresponding to a particular 2D contour the intensity of which is indicated by a color bar.

I tried to right click on the contour to browse the original data waves from it. But there isn't any way I can do it.

If you have done the same thing before, can please give me the steps through which you extracted your original waves?
I know that it is possible to put images into Nexus files (not necessarily with the data). Can you zip a copy of the file and post it on this page?
andyfaff wrote:
I know that it is possible to put images into Nexus files (not necessarily with the data). Can you zip a copy of the file and post it on this page?


Yep, here it's!
QKK0004401.nx_.zip
Ok:
1) install the HDF5 xop (place a shortcut to the Igor Pro Folder/More Extensions/File Loaders/HDF5.xop file in Igor Pro Folder/Igor Extensions)
2) install the HDF5 Browser.ipf file (place a shortcut to the Igor Pro Folder/Wavemetrics Procedures/File Input Outpus/HDF5 Browser.ipf file in Igor Pro Folder/Igor Procedures)
3) Restart Igor
4) Select the "Data->Load Waves->New HDF5 Browser" menu option
5) Press "Open HDF5 file", select your HDF5 file.
6) In the Groups box on the left hand side navigate to the root:entry1:data path. In the datasets box on the right hand side select the hmm_xy dataset. Press "Load Dataset".
7) You'll get the data loaded and displayed in a graph.

In any case please PM me, if you're at ANSTO I can show you how to do this personally.

Andy
andyfaff wrote:
Ok:
1) install the HDF5 xop (place a shortcut to the Igor Pro Folder/More Extensions/File Loaders/HDF5.xop file in Igor Pro Folder/Igor Extensions)
2) install the HDF5 Browser.ipf file (place a shortcut to the Igor Pro Folder/Wavemetrics Procedures/File Input Outpus/HDF5 Browser.ipf file in Igor Pro Folder/Igor Procedures)
3) Restart Igor
4) Select the "Data->Load Waves->New HDF5 Browser" menu option
5) Press "Open HDF5 file", select your HDF5 file.
6) In the Groups box on the left hand side navigate to the root:entry1:data path. In the datasets box on the right hand side select the hmm_xy dataset. Press "Load Dataset".
7) You'll get the data loaded and displayed in a graph.

In any case please PM me, if you're at ANSTO I can show you how to do this personally.

Andy


Hi Andy,

Have I got something missing here?

Becuase I didn't actually run the experiment myself, the files were given to me from my colleague who sent his samples away for the experiment before he left.



HDF5Browser0.JPG
Igor_user wrote:


Hi Andy,

Have I got something missing here?

Becuase I didn't actually run the experiment myself, the files were given to me from my colleague who sent his samples away for the experiment before he left.


The steps above will load the hmm_xy wave. If you look at the picture you just posted you will see that the Dim Sizes for hmm_xy are 1;192;192. If you look at the Dataset Attributes you'll see that the last two indices in that dataset are y and x. The purpose of a 3D array instead of a 2D array is to provide the ability to store multiple detector images in a single array (e.g. if you do a scan).

To get the data in a 2D format do the following:
make/o/d/n=(dimsize(hmm_xy, 1), dimsize(hmm_xy, 2)) detector2D
detector2D[][] = hmm_xy[0][q][p]


Then you can plot in 2D to your hearts content. You can, of course, load the dataset and do the conversion programmatically, it's just a little more involved.