An interior-point gradient method for large-scale totally nonnegative least squares problems IGOR.6.00.x-1.1Posted August 30th, 2009 by ilavsky
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.0Posted August 27th, 2009 by ilavsky
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.
// 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()"
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.
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)
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)
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
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
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.
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-->