chmutil 0.8.4
Utility package to run CHM jobs on clusters
Keywords: chmutil

===============================
chmutil
===============================


.. image:: https://img.shields.io/pypi/v/chmutil.svg
           :target: https://pypi.python.org/pypi/chmutil

.. image:: https://pyup.io/repos/github/crbs/chmutil/shield.svg
        :target: https://pyup.io/repos/github/crbs/chmutil

.. image:: https://travis-ci.org/CRBS/chmutil.svg?branch=master
       :target: https://travis-ci.org/CRBS/chmutil

.. image:: https://coveralls.io/repos/github/CRBS/chmutil/badge.svg?branch=master
   :target: https://coveralls.io/github/CRBS/chmutil?branch=master

Utility package to run `Cascaded Hierarchical Model (CHM) <https://www.sci.utah.edu/software/chm.html>`_ jobs on clusters.

`For more information visit our wiki page <https://github.com/CRBS/chmutil/wiki>`_

Tools
--------

* **createchmjob.py** -- Creates a set of CHM jobs to process a set of images on various compute clusters (Gordon, Comet, & Rocce)

* **checkchmjob.py** -- Checks status of jobs generated by **createchmjob.py** script

* **createchmtrainjob.py** -- Creates a CHM train job, runnable on various compute clusters (Comet & Rocce), which teaches CHM how to segment a desired feature. The output from this job is a trained model that is needed as an input for **createchmjob.py**

* **createchmimage.py** -- Simple image conversion utility

* **createprobmapoverlay.py** -- Overlays semi-transparent colored probability maps over base image

* **mergetiles.py** -- Merges a set of image tiles in a directory into single image

* **chmrunner.py** -- Internal tool that runs a CHM task created by **createchmjob.py**

* **mergetilerunner.py** -- Internal tool that runs Merge task created by **createchmjob.py**

Dependencies
--------------

* `argparse <https://pypi.python.org/pypi/argparse>`_

* `configparser <https://pypi.python.org/pypi/configparser>`_

* `Pillow <https://pypi.python.org/pypi/Pillow>`_

* `CHM singularity image <https://github.com/crbs/chm_singularity>`_ (not required to build this software, but is needed to run the jobs)

Compatibility
-------------

* Should work on Python 2.7 & 3+ on Linux distributions

Installation
------------

::

  pip install chmutil

Usage
--------

::

  # creates a job assuming images are in ./images and ./trainedmodel has
  # chm model
  createchmjob.py ./images ./trainedmodel myrun --cluster rocce

License
-------

See LICENSE.txt_


Bugs
-----

Please report them `here <https://github.com/CRBS/chmutil/issues>`_


Credits
---------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _LICENSE.txt: https://github.com/CRBS/chmutil/blob/master/LICENSE.txt
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage



=======
History
=======

0.8.4 (2018-03-20)
------------------

* Try number two to get comet configuration to load singularity 2.3.2.
  See issue 76 below.

0.8.3 (2018-03-16)
------------------

* Added --dontdeletescratch option to createtrainingmrcstack.py to skip
  deletion of scratchdir. 
  `Issue #78 <https://github.com/CRBS/chmutil/issues/78>`_

* Updated comet configuration to load singularity 2.3.2.
  `Issue #76 <https://github.com/CRBS/chmutil/issues/76>`_

0.8.2 (2017-07-27)
------------------

* Fixed typo in history notes which caused pypi not to render project description properly

0.8.1 (2017-07-27)
------------------

* Fixed bug in createtrainingmrcstack.py which caused program to fail due
  to incorrect call to get_image_path_list(). 
  `Issue #48 <https://github.com/CRBS/chmutil/issues/48>`_

* Increased required memory for merge tasks on Rocce cluster from 10 to
  20 gigabytes of ram and added virtual_free constraint to handle
  gigapixel images.
  `Issue #49 <https://github.com/CRBS/chmutil/issues/49>`_

0.8.0 (2017-06-23)
------------------

* Added --gentifs to createchmjob.py to generate tif probability map images
  `Issue #43 <https://github.com/CRBS/chmutil/issues/43>`_

* Fixed bug in checkchmjob.py --detailed where ram value was incorrect
  `Issue #44 <https://github.com/CRBS/chmutil/issues/44>`_

* Added information about input images to checkchmjob.py --detailed
  `Issue #28 <https://github.com/CRBS/chmutil/issues/28>`_


0.7.0 (2017-06-09)
------------------

* Added --gentiles flag to createchmimage.py to generate tiles from
  image that can be viewed in probability map viewer.
  `Issue #42 <https://github.com/CRBS/chmutil/issues/42>`_

* Added --rawthreshold flag to createprobmapoverlay.py which 
  lets caller specify exact pixel intensity value instead of
  percentage as offered with --threshpc.
  `Issue #41 <https://github.com/CRBS/chmutil/issues/41>`_

* Added virtual_free to requirements for SGE jobs submitted
  by createchmtrainjob.py to rocce cluster. 
  `Issue #40 <https://github.com/CRBS/chmutil/issues/40>`_

0.6.0 (2017-03-03)
------------------

* Added --detailed option to checkchmjob.py. 
  `Issue #6 <https://github.com/CRBS/chmutil/issues/6>`_

* Added --addprobmap to createprobmapoverlay.py to enable
  additional probability maps to be overlayed. 
  `Issue #25 <https://github.com/CRBS/chmutil/issues/25>`_

* Added createchmtrainjob.py script that creates a CHM
  train job. 
  `Issue #19 <https://github.com/CRBS/chmutil/issues/19>`_

* Fixed incorrect script names in readme.txt generated by
  createchmjob.py. 
  `Issue #20 <https://github.com/CRBS/chmutil/issues/20>`_

0.5.1 (2017-01-12)
------------------

* Fixed account not being put into runjobs.gordon and runmerge.gordon.
  `Issue #11 <https://github.com/CRBS/chmutil/issues/11>`_

* Fixed errors in checking job status examples in readme.txt 
  created by createchmjob.py.
  `Issue #12 <https://github.com/CRBS/chmutil/issues/12>`_

0.5.0 (2017-01-11)
------------------

* First release on PyPI.