base.chm.tasks.list - CRBS/chmutil GitHub Wiki

This is the main configuration file for CHM jobs. Since chmutil is a Python application ConfigParser is used for the configuration which follows this format:

[DEFAULT]
KEY = VALUE

[SECTION]
KEY = VALUE
Described below are the common keys in the [DEFAULT] section
  • chmutilversion -- Outputs version of chmutil as obtained by createchmjob.py --version

  • jobdir Full path to job directory. This path is prepended to relative paths for CHM jobs making it easy to move this whole job to another filesystem or directory path.

  • images Full path to input images. This path is prepended to relative image paths for CHM jobs making adjustment easy.

  • chmbin Full path to CHM singularity image

  • model Full path to CHM trained model directory

  • tilespertask Number of tiles each CHM job should analyze. Each tile is defined by -t ROW,COL flag seen in the [#] jobs below.

  • tilesize Size of tiles in pixels CHM should analyze. Format is WidthxHeight

  • overlapsize Size of overlap in pixels. Basically this sets a border WidthxHeight within the tilesize that CHM should analyze and then basically throw away. This helps CHM produce better segmentation on features that cross the edges of a tile. The negative with increasing this value is increased computation cost since effectively it shrinks the tiles being analyzed.

  • disablehisteqimages (True|False) Disables default histogram equalization CHM performs on the input image before running segmentation. If set to False, the input image is equalized to the images used in training the model

  • taskspernode Number of tasks to run concurrently on a single compute node. This value needs to be set carefully cause it is possible to overload a compute node and cause jobs to fail or even take down the node. Default is to run 8 on Gordon, 11 on Comet, and 1 on rocce.

  • cluster Cluster the job has been generated for.

Described below are the common keys in the [SECTION] section

NOTE: In a configuration file SECTION is replaced with a number (ie 1, 2, 3...) known as a task id and corresponds to an individual CHM task.

  • inputimage Relative path to input image being analyzed by Task. The value of images key is prepended to this path.

  • args Command line arguments passed to CHM task. -t #,# tell the task what tiles to analyze.

  • outputimage Relative path CHM should write probability image to. The key value of jobdir/chmrun is prepended to this path.

Example:

[DEFAULT]
chmutilversion = 0.4.0
jobdir = /foo/tests/chmjob/comet
images = /foo/tests/chmjob/images
chmbin = /foo/tests/chmjob/chm.img
model = /foo/tests/chmjob/trainedmodel
tilespertask = 7
tilesize = 512x512
overlapsize = 0x0
disablehisteqimages = False
taskspernode = 16
cluster = comet

[1]
inputimage = histeqimage.png
args = -t 1,1 -t 1,2 -t 1,3 -t 1,4 -t 1,5 -t 1,6 -t 2,1
outputimage = tiles/histeqimage.png/001.histeqimage.png

[2]
inputimage = histeqimage.png
args = -t 2,2 -t 2,3 -t 2,4 -t 2,5 -t 2,6 -t 3,1 -t 3,2
outputimage = tiles/histeqimage.png/002.histeqimage.png

graphic showing what task one generates

The above figure shows the tiles (denoted by red grid lines and green text showing tile indexes) being analyzed in task 1

graphic showing what task two generates

This figure shows the tiles being analyzed in task 2