BatchMake: Difference between revisions
Line 87: | Line 87: | ||
===DashboardNotify - Add a new string to the central database=== | ===DashboardNotify - Add a new string to the central database=== | ||
'''DashboardNotify( <message> )''' | '''DashboardNotify( <message> )''' | ||
'''Example :''' | |||
DashboardNotify('End of first experiment') | |||
===DashboardSend - Send the results of a program to the central database for data collection=== | |||
'''DashboardSend( <methodid> <value1> <value2> )''' | |||
'''Example :''' | |||
DashboardSend(1,${value1},${value2}) | |||
===DeleteFile Delete a file on disk === | |||
'''DeleteFile( <filename> )''' | |||
'''Example :''' | |||
DeleteFile('myfile.txt') | |||
===Echo Print messages on the standard output=== | |||
Echo( <value1> <value2> ... ) | |||
'''Example :''' | |||
sequence(seq 1 2 1) | |||
sequence(seq2 1 2 1) | |||
foreach(value ${seq}) | |||
foreach(value2 ${seq2}) | |||
Echo(value: ${value} ${value2}) | |||
endforeach(value2) | |||
endforeach(value) | |||
This script will print the following lines on the screen : | |||
value: 1 1 | |||
value: 1 2 | |||
value: 2 1 | |||
value: 2 2 | |||
===ExtractSlice Extract a slice from a 3D image volume=== | |||
'''ExtractSlice( <3D image filename> <2D image filename> <orientation> <slice> )''' | |||
'''Example :''' | |||
ExtractSlice('head.mha','slice.jpg',0,23) | |||
This command extracts the saggital slice #23 from the volume head.mha and write the extracted slice to slice.jpg | |||
= Distributed Computing = | = Distributed Computing = | ||
= BatchBoards = | = BatchBoards = |
Revision as of 16:50, 9 October 2007
BatchMake is a cross platform tool for batch processing of large amount of data. BatchMake can process datasets locally or on distributed systems using Condor.
Common Features:
- BSD License
- CMake like scripting langage
- Distributed Scripting via Condor
- Central remote website for online statistical analysis
- User Interface using FLTK
- Cross platform
BatchMake
List of available commands:
- AppendFile Add a string to the end of a file
- CloseTCPSocket Close a TCP/IP socket
- DashboardExperiment Specify the encrypted name of the experiment to report on
- DashboardHost Specify the hostname of the central database manager
- DashboardNotify Specify the hostname of the central database manager
- DashboardSend Send the results of a program to the central database for data collection
- DeleteFile Delete a file on disk
- Echo Print messages on the standard output
- ExtractSlice Extract a slice from a 3D image volume
- ExtractString Extract a string from a string chain
- ForEach Create a "for" loop
- GetParam Access directly a parameter from a sequence
- If Defines a conditional statement
- Inc Increment a number by a certain amount
- Include Include another batchmake script
- Int Convert a variable to integer
- ListDirInDir List all the directories in a specified directory
- ListFileInDir List all the files in a specified directory
- OpenTCPSocket Open a TCP/IP socket
- Randomize Create a random number
- Run Execute a program in a thread
- Sequence Create a sequence of numbers
- Set Assign a value to a variable
- SetApp Assign a variable to an Application defined by the Application Wrapper
- SetAppOption Assign a value to a predefined option of a program
- SendTCP Send a message via TCP socket
- Sin Evaluate the sin() function
- WriteFile Write variables into a file
How to use each command:
AppendFile - Add a string to the end of a file
AppendFile( <filename> <value1> <value2> ... )
The first parameter is the name of the file and all the others parameters will be added at the end of this file.
Example :
sequence(seq 1 3 1) foreach(value ${seq}) appendFile('C:/bmtest.txt' 'value: ${value}\n') endforeach(value)
This script will add the following strings at the end of the file entitled "C:/bmtest.txt" :
"value: 1"
"value: 2"
"value: 3"
CloseTCPSocket - Close a TCP/IP socket
CloseTCPSocket( <SocketName> )
Example :
CloseTCPSocket(MySocket)
DashboardExperiment - Specify the encrypted name of the experiment to report on
DashboardExperiment( <encryptedExperiment> )
The encryptedExperiment is given when creating a new experiment online (this requires a login/pass)
Example :
DashboardExperiment( 7YF04vELWW4m1B88t)
DashboardHost - Specify the hostname of the central database manager
DashboardHost( <hostname> )
Example :
DashboardHost(www.kitware.com)
DashboardNotify - Add a new string to the central database
DashboardNotify( <message> )
Example :
DashboardNotify('End of first experiment')
DashboardSend - Send the results of a program to the central database for data collection
DashboardSend( <methodid> <value1> <value2> )
Example :
DashboardSend(1,${value1},${value2})
DeleteFile Delete a file on disk
DeleteFile( <filename> )
Example :
DeleteFile('myfile.txt')
Echo Print messages on the standard output
Echo( <value1> <value2> ... )
Example :
sequence(seq 1 2 1) sequence(seq2 1 2 1) foreach(value ${seq}) foreach(value2 ${seq2}) Echo(value: ${value} ${value2}) endforeach(value2) endforeach(value)
This script will print the following lines on the screen :
value: 1 1
value: 1 2
value: 2 1
value: 2 2
ExtractSlice Extract a slice from a 3D image volume
ExtractSlice( <3D image filename> <2D image filename> <orientation> <slice> )
Example :
ExtractSlice('head.mha','slice.jpg',0,23)
This command extracts the saggital slice #23 from the volume head.mha and write the extracted slice to slice.jpg