|
|
(30 intermediate revisions by 3 users not shown) |
Line 2: |
Line 2: |
| BatchMake can process datasets locally or on distributed systems using Condor. | | BatchMake can process datasets locally or on distributed systems using Condor. |
|
| |
|
| Common Features:
| | = Documentation = |
| | *[[batchmake_install|Install BatchMake]] |
| | *[[batchmake_documentation|Functions]] |
| | *[[batchmake_grid|Grid]] |
| | *[[batchmake_faq|FAQ]] |
| | *[[batchmake_tutorial|Tutorial]] |
| | *[[MetaIO|MetaIO]] |
| | *[[batchmake_slicer|BatchMake in Slicer]] |
|
| |
|
| * BSD License
| | = Developers = |
| * CMake like scripting langage
| | *[[batchmake_developers|For Developers]] |
| * 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
| |
| | |
| | |
| ===ExtractString Extract a string from a string chain===
| |
| '''ExtractString( <output> <input> <lenght> [FROMEND] [KEEPEND] )'''
| |
| | |
| The parameter <output> will contain the <lenght> first characters of <input> if FROMEND is not set. With FROMEND the <lenght> last characters won't be copied. if KEEPEND is specified then the end of the string is returned.
| |
| | |
| '''Example :'''
| |
| set(example 'hello')
| |
| extractstring(result ${example} 1)
| |
| extractstring(result2 ${example} 2 FROMEND)
| |
| extractstring(result3 ${example} 2 KEEPEND)
| |
| extractstring(result4 ${example} 2 FROMEND KEEPEND)
| |
| echo(${result})
| |
| echo(${result2})
| |
| echo(${result3})
| |
| echo(${result4})
| |
| This script will print the following lines on the screen :
| |
| | |
| h
| |
| | |
| hel
| |
| | |
| llo
| |
| | |
| lo
| |
| | |
| = Distributed Computing =
| |
| | |
| = BatchBoards =
| |