Rough-set Based Color Channel Selection
With the spirit of reproducible research, this repository contains all the codes required to produce the results in the manuscript: S. Dev, F. M. Savoy, Y. H. Lee, S. Winkler, Rough-set Based Visible Color Channel Selection, IEEE Geoscience and Remote Sensing Letters, accepted, 2016.
Please cite the above paper if you intend to use whole/part of the code. This code is only for academic and research purposes.
The preprint version of this manuscript is
All codes are written in MATLAB.
This entire repository is structured as follows. The folder
helperScripts contains all the helper functions necessary for various tasks, the folder
preComputed contains a few pre-computed results for reproducible purposes, and the folder
roughSetScripts contains all the rough-set related scripts that can be used in any contexts.
The dataset used in this manuscript is HYTA dataset from Li et. al, A Hybrid Thresholding Algorithm for Cloud Detection on Ground-Based Color Images, Journal of Atmospheric and Oceanic Technology, 2011. Please contact the respective authors for the dataset.
accuracy.mCalculates the Precision, Recall, F-score and Accuracy values for any binary thresholded image, when the corresponding binary ground-truth map is present.
color16_struct.mGenerates the 16 different color channels for a sample image. The results are stored in a structure array.
generate_KL.mGenerates the KL divergence values for HYTA images.
generate_LF.mGenerates the Loading Factors for HYTA images.
generate_ROC.mGenerates the ROC values for HYTA images.
generate_SVMresults.mGenerates the SVM results for the 16 color channels.
normalize.mNormalizes any given array.
RGBPlane.mOutputs the Red, Green, and Blue plane of a sample image.
showasImage.mNormalizes any given matrix in range [0,255] such that it can be visualizes as an image.
indisc_att.mPartitions the decision table based on indiscernibility of the attributes.
positive_region.mGenerates the positive region for an attribute and its gamma-value.
In order to reproduce the figures and tables in the associated manuscript, please run the following scripts. The scripts:
Fig4.m generates the various figures and tables of the manuscript.
Illustrative example to explain the various rough-set terminologies and definitions.
Please run the script
roughSetIllustration.m for the illustrative example.
Suppose there are 7 observations viz. x1, x2, x3, x4, x5, x6 and x7. Each observation has two conditional attributes: AGE and LEMS, and one decision attribute: WALK. The AGE indicates the age of the observation, and LEMS indicate Lower Extremity Motor Score of the observation (a higher LEMS value is conducive for walking). The decision attribute WALK is binary in nature: 1 indicates TRUE and 0 indicates FALSE - it indicates whether the person is able to walk or not.
In this illustration, we will walk through the various common terminologies used in rough set theory.
Let the decision table be as follows:
For example, the partition created by indiscernibility of the first attribute (AGE) is executed via
[IND_att1] = indisc_att(dec_table , 1); (described in
dec_table is the matrix representing the decision table, and
1 indicates the column number of the particular conditional attribute.
The generated output is as follows:
The partitions created by AGE attribute is: [3x1 double] [2x1 double] [2x1 double]
The individual double vectors indicates the various partitions generated using AGE attribute, viz. [x1,x2,x6], [x3,x4] and [x5,x7].
Moreover, we can also compute the dependence value of an attribute with respect to the decision attribute. It is executed via
[POS_att , gamma_att] = positive_region(dec_table , 1 , 3); (described in
1 indicates the column number of the particular conditional attribute, and
3 indicates the column number of the decision attribute.
The generated output is as follows:
The observations that fall under positive region are: 5 7 The dependence value of the queried attribute w.r.t. decision attribute is: 0.2857
This indicates the observations x5 and x7, and the corresponding dependence value of AGE attribute w.r.t. WALK attribute is 0.28.