I would like to get the mean value of a set of 250 waves in horizontal direction. The „mean“ function does not help me because it is only working in the vertical direction.
a quite time consuming solution would be to make it like this:
Use the Average Waves package which you can load by selecting Analysis->Packages->Average Waves. The control panel that results has a Help button to bring up documentation, and there is an example experiment. To load the example, select File->Example Experiments->Analysis->Ave, Box Plot, Percentile.
an you please suggest me a way to calculate average of (say 50) waves and automatically enter in a new wave.
I tried Analysis>Wave Average and name template as *. it created one wave in which some average values are there but i am not able to figure out, which row correspond to average value of which wave?
You could try using WaveList to get the wavenames, then use a for loop and WaveStats to get the average for each wave, placing the value into a wave called Averages (or something like that). I have a similar function for finding the peak location (V_maxloc) in a series of photoluminesence scans and it only takes about 10-20 lines of code.
The reason why the Average Waves package did not work for you is that it averages rows of a set of waves. You want to get the average of each wave (a column), not average across rows of different waves.
I have created a snippet showing how to do this. Read the comments for an explanation.
In order to use this you need to understand some Igor concepts. If you have not already done it, I recommend that you do the first half of the Guided Tour of Igor. Choose Help->Getting Started.
If you have not already done it, you should read Chapter IV-3, User-Defined Functions, in the Igor manual.
The snippet uses wave reference waves and free waves. Here are the help topics:
If you don't have a solid understanding of wave references. Here is the help topic:
DisplayHelpTopic"Wave References"
The GetWaveAverages will do what you want but you must figure out how to create a wave containing the list of wave references for the waves you want to average. The GetWaveAveragesFromTable function shows one way to do this.
John Weeks
WaveMetrics, Inc.
support@wavemetrics.com
October 13, 2010 at 09:46 am - Permalink
October 16, 2010 at 05:24 am - Permalink
I tried Analysis>Wave Average and name template as *. it created one wave in which some average values are there but i am not able to figure out, which row correspond to average value of which wave?
May 22, 2012 at 12:41 am - Permalink
May 22, 2012 at 09:04 am - Permalink
May 22, 2012 at 06:56 pm - Permalink
I have created a snippet showing how to do this. Read the comments for an explanation.
In order to use this you need to understand some Igor concepts. If you have not already done it, I recommend that you do the first half of the Guided Tour of Igor. Choose Help->Getting Started.
If you have not already done it, you should read Chapter IV-3, User-Defined Functions, in the Igor manual.
The snippet uses wave reference waves and free waves. Here are the help topics:
DisplayHelpTopic "Free Waves"
If you don't have a solid understanding of wave references. Here is the help topic:
The GetWaveAverages will do what you want but you must figure out how to create a wave containing the list of wave references for the waves you want to average. The GetWaveAveragesFromTable function shows one way to do this.
May 22, 2012 at 09:37 pm - Permalink