HDF5 default loading and mouse use

Hi,

I have two issues I would like to get help on:

1) Most recently I have noticed that the "HDF5 utilities.ipf" procedure window is loaded by default. I don't recall having it installed and I do not understand why this specific file keeps loading up. I would like to "un-install” it or, at least, load it up on demand just like all other files. My question is: Is this is this a default behavior for Igor 9 and, how do I impede this file from loading up?

2) I would like to use the mouse to collect (x,y) points on a graph. Specifically, I would like to use the right or left click button to collect the point number and wave value by clicking and depressing a mouse button while the cursor is positioned on a specific trace on a graph that has several waves displayed on it. Ideally, these numbers should be collected in a wave which can be submitted to subsequent operations. Currently, I use the cursors from the “Info” menu to read the individual trace values, but I find this procedure to be tedious. Could you please point me in the right direction on how I could achieve this?

 

Thank you

S

It's best to post separate questions in separate topics.

In Igor Pro 8, core HDF5 support was provided through an XOP (plug-in) and additional support was provided via the "HDF5 Browser.ipf" procedure file that the user had to activate.

In Igor Pro 9, core HDF5 support is built-in and the "HDF5 Browser.ipf" procedure file is automatically activated as well as the supporting file "HDF5 Utilities.ipf". The intention is to make all HDF5 support available by default so that you don't get errors on opening experiments or other procedure files that use HDF5.

So the presence of "HDF5 Utilities.ipf" is intentional. I recommend that you leave it that way, but you can get rid of it by deleting the  "HDF5 Utilities.ipf" and "HDF5 Browser.ipf" files from the "Igor Procedures" folder in the "Igor Pro Folder". This will cause errors if you load an experiment or procedure file that depends on "HDF5 Utilities.ipf" and will also make the HDF5 Browser disappear. Also you will need to delete the files any time you update Igor Pro.

For background information, execute these commands in Igor Pro 9:

DisplayHelpTopic "XOPs Removed From Igor Pro 9"
DisplayHelpTopic "HDF5 Packed Experiment Files in Igor Pro 9"
DisplayHelpTopic "HDF5 Browser Changes in Igor Pro 9"
DisplayHelpTopic "HDF5 Programming Changes in Igor Pro 9"

 

Collecting points with mouse:

My approach would be

1. set up a named hook for the graph window

2. respond to mouseover, mouseup events as required using the mouseloc substructure and TraceFromPixel() to identify points under the mouse cursor

3. pass the point number to another function to deal with selecting/storing points

 

 

more specifically, here is how you identify the point number:

string keyList = TraceFromPixel(s.mouseloc.h,s.mouseloc.v, "options...")           
string strHitP = StringByKey("HITPOINT", keyList)
int selectedPoint = str2num(strHitP)

 

In reply to by hrodstein

Hi Howard,

Thank you for your thorough reply. I do not use HDF5 files. For me, having the HDF5 utilities load by default just leads to more clutter. Perhaps I am wrong, but this behavior goes counter to what I thought is a guiding principle of this program that, to keep things simple and streamlined, one needs to load the only the procedures needed for the specific task at hand. If HDF5-support is such an important addition to Igor 9, I do not understand why it was not included as an implicit module just like any other built-in command. In other words, I feel that the developers are trying to “tell users” that they should pay attention to HDF5 at all times and I do not understand why that is the case. Regardless, from the help topics/documentation you listed I cannot figure out what Igor functionalities, other than those pertaining to HDF5, are impacted by removing the files from the “Igor Procedures” folder.

Best,

Sebastian

 

In reply to by tony

Hi Tony,

 Thank you so much for your reply. I wrote a quick test function, based on your reply, which seems to produce results. I have yet to implement the full function I need this feature for but, if I run in trouble, I will follow up on this post.

Best,

Sebastian

 

> So the presence of "HDF5 Utilities.ipf" is intentional. I recommend that you leave it that way, but you can get rid of it by deleting the  "HDF5 Utilities.ipf" and "HDF5 Browser.ipf" files from the "Igor Procedures" folder in the "Igor Pro Folder".

Implicit in this approach is that you will ...

* Make a copy of the Igor Procedures folder
* ZIP the copy
* Go on to delete (trash) the corresponding files

> Thank you for your thorough reply. I do not use HDF5 files. For me, having the HDF5 utilities load by default just leads to more clutter. Perhaps I am wrong, but this behavior goes counter to what I thought is a guiding principle of this program that, to keep things simple and streamlined, one needs to load the only the procedures needed for the specific task at hand. If HDF5-support is such an important addition to Igor 9, I do not understand why it was not included as an implicit module just like any other built-in command.

You are taking a stand that is somewhat akin to how a LaTeX document is created for compilation. Only the necessary packages should be loaded to run at compilation time.

I suspect by comparison that, once it is loaded, Igor Pro has no concern as far as execution speed with regard to the "extra" packages that are loaded but never used.

Putting the HDF5 packages in the Igor Procedures folder is a reasonable starting point to adding it as an "implicit" (built-in) option. Better still, you have the option to "opt-out" of using this module. Granted, this is not the same as the (perhaps preferred) option to have to opt-in to the module explicitly. Given that we loose no execution speed for the overhead, what are you really fighting about here?

If you are that bothered by the HDF5 tools, then I think you can go ahead and remove the HDF5 Browser.ipf and HDF5 Utilities.ipf from your Igor Profiles folder inside the Igor 9 folder as Howard suggested. You might have noticed that Igor 9 can save HDF5 files instead of the usual .pxp files. If you never use this and don't know anyone who uses this then you are fine without. But I guess this cannot be said for every user from here on.