BatchMake

From KitwarePublic
Jump to navigationJump to search

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)

Distributed Computing

BatchBoards