The Expectation-Maximization/Maximization of the Posterior Marginals" (EM/MPM) algorithm for simultaneous parameter estimation and segmentation of textured images is implemented by way of a Markov random field model for the pixel class labels and alternately approximates the MPM estimate of the pixel class labels and estimates parameters of the observed image model. The goal of the EM/MPM algorithm is to minimize the expected value of the number of misclassified pixels.
The EMMPMWorkbench is a Dekstop GUI application that allows users to segment images using the EMMPM algorithm. The code is open-source and is located on GitHub.com/bluequartzsoftware