6.00.x

An interior-point gradient method for large-scale totally nonnegative least squares problems IGOR.6.00.x-1.1

in
Downloaded 480 times
Download: IPGM_TNNLS_0.ipf
Size: 6.25 KB
md5_file hash: a42b2e474ee4a4a5a13c0d4d8b4c61a2
First released: August 30, 2009 - 17:00
Last updated: August 30, 2009 - 16:59

Debugged and tested version. Found two bugs in original release resulting in incorrect result. Tested against original code in Irena package.

An interior-point gradient method for large-scale totally nonnegative least squares problems IGOR.6.00.x-1.0

in
Downloaded 206 times
Download: IPGM_TNNLS.ipf
Size: 5.55 KB
md5_file hash: 5f15ba1e63edcca1541c0d0a4fd836e6
First released: August 27, 2009 - 19:14
Last updated: August 27, 2009 - 19:14

This is original release of the code.

Popup Menu of Root DataFolders

Average rating
(0 votes)

// This example shows a panel popup menu to list data folders from the root level
// It excludes the Packages folder from the list
// The New selection allows you to create a new data folder from the root level
// NOTE: this does NOT set the location to the folder ... see the comments for details
 
Function MakePanel()
 
	// make a sample panel
	// ... (use your own values here)
 
	NewPanel/W=(10,10,50,50)
 
	// ..
	// strings for popup menu
 
	string theTopFldr = StringFromList(0,ListofRootDataFolders())
	string fldrList = "ListofRootDataFolders()"

Generalized Spike Sorting Explorations IGOR.6.00.x-0.9-alpha

in
Downloaded 236 times
Download: GenSpikeSorting.zip
Size: 478.98 KB
md5_file hash: e2f55b7c5f7787282fec1a1e3be3c980
First released: August 3, 2009 - 14:02

Very early version.
Farthest Point clustering appears to work, KMeans is broken at this point.

Set Values in Marquee to NaN

Average rating
(2 votes)
Example Use

Adds one menu item per trace to the GraphMarquee menu. Selecting one sets only that trace's values which lie inside the marquee to NaN. Both Y vs X and waveform traces are supported.

No undo is provided.

#pragma rtGlobals=1		// Use modern global access method.
 
#include <Axis Utilities>
 
Menu "GraphMarquee", dynamic
	CommandPerTrace(),/Q, SetMarqueedValuesToNaN()
End
 
Function/S CommandPerTrace()
 
	String menuList=""
	String traceList=TraceNameList("",";",1+4)	// visible traces
	Variable i, n= ItemsInList(traceList)
	for(i=0; i<n; i+= 1)

Monte Carlo error analysis using Genetic Optimisation.

Average rating
(0 votes)

The following code requires that you have the genetic optimisation package installed (http://www.igorexchange.com/project/gencurvefit).
The snippet uses Monte Carlo resampling to estimate fit uncertainties and parameter correlations for a given set of data and a fit function. (see, for example http://www.casaxps.com/help_manual/error_analysis.htm)

Wave with Y values at a single X value from a graph

Average rating
(1 vote)

Function extractGraphAtXValue(theX, theGraph)
	Variable theX
	String theGraph
 
	String outwname = theGraph+"at"+num2str(theX)
	outwname = CleanupName(outwname, 1)
	extractGraphAtX(theX, theGraph, outwname)
end
 
Function extractGraphAtX(theX, theGraph, outwname)
	Variable theX
	String theGraph
	String outwname
 
	if (strlen(theGraph) == 0)
		theGraph = WinName(0,1)
	endif
 
	String tlist = TraceNameList(theGraph, ";", 1)
	Variable i
	Variable ntraces = ItemsInList(tlist)
	Variable pnt
 
	Make/D/O/N=(ntraces) $outwname
	Wave outw = $outwname
 

Extract Y Values at the cursor's X location for a bunch of plotted waves.

in
Average rating
(0 votes)

Place a cursor on a graph with a bunch of waves. This function will generate a table with a list of Y values corresponding to the X value of the cursor.

Function GetAllYValues()
	if(!strlen(CsrInfo(A)))
		return -1 // No cursor on the display.  
	endif
	Variable xx=xcsr(A)
	String traces=TraceNameList("",";",1)
	Variable i,numTraces=ItemsInList(traces)
	Make /o/n=(numTraces) YVals
	Make /o/T/n=(numTraces) TraceNames
	for(i=0;i<numTraces;i+=1)
		String trace=StringFromList(i,traces)
		Wave Wav=TraceNameToWaveRef("",trace)
		YVals[i]=Wav(xx)
		TraceNames[i]=trace

sending gmail with IGOR

Average rating
(0 votes)

From experimenting with the XOP's SOCKIT and base64 (available on IGORexchange), I've found how to send email from IGOR, using the SMTP protocol. It works quite well, although there is one catch. You have to install a program called Stunnel (http://www.stunnel.org/). They have windows binaries available there, and it's easy to install the mac version (./configure, make, sudo make install). There is a config file which one has to get the hang of, but it's not that difficult.

Development of an IGOR installer/package manager

Average rating
(0 votes)

This snippet is designed to act as a discussion place for an IGOR installer/package manager. Each (zipped) package should probably have a manifest of what it contains, so the installer has information on what the dependencies are, and how the package should be installed.

<?xml version="1.0"?>
<package name="SLIM" version="1.0" igorversion="504" location="User Procedures" platform="ALL" igorprocedures="FALSE" igorextensions="FALSE">
    <!-- A folder called SLIM would be created in /User Procedures.  All the content in the zip file would be copied into this folder-->

Syndicate content

Back to top