I am seeing some wave behavior in Igor that I do not understand. For a lot of my data analysis, when I create a new project, it really is just my previous project with certain waves killed, and others maintained. Apparently, something has gone terribly wrong in this process. I have about 10-15 waves that I can view when I call them up in a table macro I created earlier. They are there. They also appear in the data browser. I cannot, however view them in the wave browser, append them to a new table besides the one created by my macro, cannot plot them, and most importantly of all, cannot use them for calculations I need in my research. I figure that either something is truly broken, or I have hit upon some feature or design in Igor that I am not aware of that explains this behavior. Please help!
I cannot, however view them in the wave browser, append them to a new table besides the one created by my macro, cannot plot them, and most importantly of all, cannot use them for calculations I need in my research. I figure that either something is truly broken, or I have hit upon some feature or design in Igor that I am not aware of that explains this behavior. Please help!
Without details on what "I can't..." means, it's hard to give advice. There are lots of reason why you might not be able to do those things.
However, I'm wondering if the reason you can't do those things is because you can't see the waves in the wave lists in dialogs. And the most common reason for that is that the waves are not in the current data folder, and the Dialog Wave Browsers are set to hide data folders (the default to avoid alarming non-power users).
To enable showing data folders in dialogs, click the small button with the down-arrow on it in the lower left corner of any dialog wave browser. Select Show Data Folders.
That is a global setting- once you have selected it in one browser in any dialog, they will all show data folders.
Let me know if I've got the answer, or provide more details if I haven't.
Yes, it is true that I am unable to see the waves in the dialog browsers. However, the problem goes beyond just not seeing the waves easily in the dialog browser. Let me give a more concrete example of this problem.
I have a wave named "LoopT". I can see this wave if I call the macro which I defined earlier, change values in the wave, etc. However, if I go to the command line and say something like "LoopT=0" I get an error about "expected wave name, variable name, or operation". So to me it's not just that I don't see it in the dialogs, it's that Igor behaves like this wave does not exist.
I found a workaround: by bringing up a new table, and simply copying and pasting my waves from the macro table into the new table, I am then able to work with the waves. However, I am still a little puzzled by this behavior. I think you are right in that it probably has something to do with where the data is being stored. I have a whole bunch of nested "afpTemp" folders (not sure how those come about). That doesn't seem right. Where waves get stored is something I haven't had to consider before, I just assumed that they resided with the .pxp file and that was that. Looks like I have some reading to do in the manual.
If you have any more ideas about what is happening, please post, this problem was very very frustrating till I found a workaround, and I'm not a big fan of bandaids.
...Let me give a more concrete example of this problem.
I have a wave named "LoopT". I can see this wave if I call the macro which I defined earlier, change values in the wave, etc. However, if I go to the command line and say something like "LoopT=0" I get an error about "expected wave name, variable name, or operation". So to me it's not just that I don't see it in the dialogs, it's that Igor behaves like this wave does not exist. ...
For the statement LoopT=0 to work on the command line, you must be resident in the data folder containing the wave LoopT. To see this in action, open a blank experiment and do the following on the command line:
Use the data browser to inspect your data. Choose Data Browser from the Data menu.
Also read about data folders by executing this command:
DisplayHelpTopic "Data Folders"
Also, if you are using a recent version of Igor, you can turn column info tags on for tables by choosing Show Column Info Tags from the Table menu when a table is the top window. Then hover the mouse over the name of a column. This will show a tag that will show the location of the wave in the data folder hierarchy.
Thank you all so much for your help. I think I understand the issue now, I was just unaware of the data folder structure. What still confuses me is why Igor was making all of these temp folders and then using them as the current data folder. I think it might have something to do with packages I was loading- does that sound plausible?
I think it might have something to do with packages I was loading- does that sound plausible?
Yes.
A package should not change the current data folder unless the point of the package is to create new data. If a package is changing the current data folder to a folder created for the package's private storage then this is a bug in the package.
Without details on what "I can't..." means, it's hard to give advice. There are lots of reason why you might not be able to do those things.
However, I'm wondering if the reason you can't do those things is because you can't see the waves in the wave lists in dialogs. And the most common reason for that is that the waves are not in the current data folder, and the Dialog Wave Browsers are set to hide data folders (the default to avoid alarming non-power users).
To enable showing data folders in dialogs, click the small button with the down-arrow on it in the lower left corner of any dialog wave browser. Select Show Data Folders.
That is a global setting- once you have selected it in one browser in any dialog, they will all show data folders.
Let me know if I've got the answer, or provide more details if I haven't.
John Weeks
WaveMetrics, Inc.
support@wavemetrics.com
August 20, 2008 at 08:56 am - Permalink
I have a wave named "LoopT". I can see this wave if I call the macro which I defined earlier, change values in the wave, etc. However, if I go to the command line and say something like "LoopT=0" I get an error about "expected wave name, variable name, or operation". So to me it's not just that I don't see it in the dialogs, it's that Igor behaves like this wave does not exist.
I found a workaround: by bringing up a new table, and simply copying and pasting my waves from the macro table into the new table, I am then able to work with the waves. However, I am still a little puzzled by this behavior. I think you are right in that it probably has something to do with where the data is being stored. I have a whole bunch of nested "afpTemp" folders (not sure how those come about). That doesn't seem right. Where waves get stored is something I haven't had to consider before, I just assumed that they resided with the .pxp file and that was that. Looks like I have some reading to do in the manual.
If you have any more ideas about what is happening, please post, this problem was very very frustrating till I found a workaround, and I'm not a big fan of bandaids.
August 20, 2008 at 03:25 pm - Permalink
For the statement LoopT=0 to work on the command line, you must be resident in the data folder containing the wave LoopT. To see this in action, open a blank experiment and do the following on the command line:
NewDataFolder/S testA
make/n=10 LoopT
LoopT = 10
SetDataFolder root:
LoopT = 11
SetDataFolder testA
LoopT = 12
The line LoopT = 11 will fail.
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAH
August 20, 2008 at 05:23 pm - Permalink
Also read about data folders by executing this command:
DisplayHelpTopic "Data Folders"
Also, if you are using a recent version of Igor, you can turn column info tags on for tables by choosing Show Column Info Tags from the Table menu when a table is the top window. Then hover the mouse over the name of a column. This will show a tag that will show the location of the wave in the data folder hierarchy.
August 20, 2008 at 07:45 pm - Permalink
August 21, 2008 at 08:41 am - Permalink
Yes.
A package should not change the current data folder unless the point of the package is to create new data. If a package is changing the current data folder to a folder created for the package's private storage then this is a bug in the package.
August 21, 2008 at 12:36 pm - Permalink