Load All Matrix Files From Folder
hrodstein
Menu "Load Waves"
"Load All .dat Matrix Files From Folder", LoadAllMatrixFilesFromFolder("", ".dat", 0)
End
// LoadAllMatrixFilesFromFolder(pathName, extension, makePlots)
// This function loads each matrix file in a given file folder into Igor.
// pathName is the name of an Igor symbolic path or "" to get a dialog.
// The name of each matrix file is assumed to end with the specified file name extension.
// The output wave name is the file name less the extension.
// If makePlots is true, a new image plot is created for each matrix.
//
// NOTE: You may need to change the LoadWave command to fit your file format.
// Use Data->Load Waves->Load Waves to find the right command and then adjust the LoadWave command below.
Function LoadAllMatrixFilesFromFolder(pathName, extension, makePlots)
String pathName // Name of an Igor symbolic path or "" to get a dialog
String extension // File name extension - e.g., "txt" or ".dat"
Variable makePlots // 1 to display each matrix in a plot
if (strlen(pathName) == 0)
NewPath/O/M="Choose a folder containing Matrix Files" LoadIndexedMatrixPath
if (V_flag != 0)
return -1 // User cancelled
endif
pathName = "LoadIndexedMatrixPath"
endif
String fileName
Variable index
index = 0
do
fileName = IndexedFile($pathName, index, extension)
if (strlen(fileName) == 0)
break // No more files.
endif
String matrixName = CleanupName(fileName, 0)
Variable existsCode = exists(matrixName)
if (existsCode!=0 && existsCode!=1)
// matrixName conflicts with some name other than a wave name so make it unique
matrixName = UniqueName(matrixName, 1, 0)
endif
String columnInfoStr
sprintf columnInfoStr, "N='%s';", matrixName
LoadWave/G/D/P=$pathName/O/M/B=columnInfoStr fileName
Wave matrix = $matrixName // Create a wave reference
if (makePlots)
NewImage matrix
endif
index += 1
while (1)
End
"Load All .dat Matrix Files From Folder", LoadAllMatrixFilesFromFolder("", ".dat", 0)
End
// LoadAllMatrixFilesFromFolder(pathName, extension, makePlots)
// This function loads each matrix file in a given file folder into Igor.
// pathName is the name of an Igor symbolic path or "" to get a dialog.
// The name of each matrix file is assumed to end with the specified file name extension.
// The output wave name is the file name less the extension.
// If makePlots is true, a new image plot is created for each matrix.
//
// NOTE: You may need to change the LoadWave command to fit your file format.
// Use Data->Load Waves->Load Waves to find the right command and then adjust the LoadWave command below.
Function LoadAllMatrixFilesFromFolder(pathName, extension, makePlots)
String pathName // Name of an Igor symbolic path or "" to get a dialog
String extension // File name extension - e.g., "txt" or ".dat"
Variable makePlots // 1 to display each matrix in a plot
if (strlen(pathName) == 0)
NewPath/O/M="Choose a folder containing Matrix Files" LoadIndexedMatrixPath
if (V_flag != 0)
return -1 // User cancelled
endif
pathName = "LoadIndexedMatrixPath"
endif
String fileName
Variable index
index = 0
do
fileName = IndexedFile($pathName, index, extension)
if (strlen(fileName) == 0)
break // No more files.
endif
String matrixName = CleanupName(fileName, 0)
Variable existsCode = exists(matrixName)
if (existsCode!=0 && existsCode!=1)
// matrixName conflicts with some name other than a wave name so make it unique
matrixName = UniqueName(matrixName, 1, 0)
endif
String columnInfoStr
sprintf columnInfoStr, "N='%s';", matrixName
LoadWave/G/D/P=$pathName/O/M/B=columnInfoStr fileName
Wave matrix = $matrixName // Create a wave reference
if (makePlots)
NewImage matrix
endif
index += 1
while (1)
End
Forum
Support
Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More
I understand that I have to load .spe files instead of .dat by using this useful procedure "Load All .dat Matrix Files From Folder", and I also noticed that there was a procedure "Winspec.ipf" or "SpeLoader.ipf" available.It can help load .spe files. http://www.igorexchange.com/node/2756
My question here is how to combine these two together to get a new procedure to directly load .spe files. Many thanks.
Make some changes before you have to.
October 26, 2015 at 02:45 pm - Permalink