A modified Fuzzy-C-Means (FCM) approach to segment an image while estimating and accounting for the bias/inhomogeneity field.
See code/main.mlx
and run it cell by cell.
code/main.mlx
: The main script/driver programcode/computeA.m
: Computes the bias-removed imagecode/distance.m
: Computes the "distance" values used inupdateU.m
code/iterate.m
: Driver class for the algorithmcode/KMeans.m
: Returns the initial segmentation using the standard K-means algorithmcode/objectiveFunction.m
: Evaluates the objective function at the current estimatescode/showSegmented.m
: Plots the segmented image using a custom colormapcode/updateB.m
: Computes the optimal value of the bias field, within every iteration.code/updateC.m
: Computes the optimal value of the class means, within every iteration.code/updateU.m
: Computes the optimal value of the class memberships, within every iteration.
(This was done as a course assignment for CS736: Medical Image Computing, Spring 2021, IIT Bombay)