Local definitions

Training data generation

bandMap = {{1, 2, 1}, {1, 1, 2}, {1, 2, 2}, {2, 2, 1}, {2, 1, 2}, {2, 2, 2}} ;

GenerateSixBandTrainingData[m_, part_, lpf_] := Module[{m1, m2, b1, b2}, m1 =  ... /@ b2, Flatten[#[[1, 2]]] & /@ b2, Flatten[#[[2, 2]]] & /@ b2} ] ;

Visualize centroids

VisualizeCentroids[means_, opts___] := Module[{n, m, g1}, n = Sqrt[Length[Firs ... 1;Show[GraphicsArray[Partition[g1, m]], DisplayFunction$DisplayFunction, opts] ] ;

Histogram computation

ComputeHistograms[cls_, nCodes_:6] := N[CategoryCounts[#, Table[i, {i, 1, 2^nCodes}]]/Length[#]] & /@ cls ;

Classification functions

ProbabilitiesOneHistogramOne[m_, lpf_, centroids_, hist_, {level_, a_, b_}] := Module[ ... b]]]] ; pos = AssignClassOne[mw, centroids] ;  (#[[pos]]) & /@ hist] ;

ProbabilitiesOneHistogram[mp_, lpf_, centroids_, hist_, {level_, a_, b_}] := Map[ProbabilitiesOneHistogramOne[#, lpf, centroids, hist, {level, a, b}] &, mp, {2}] ;

ProbabilitiesAllHistograms[mp_, lpf_, centroids_, hist_, bandMap_] := Table[ProbabilitiesOneHistogram[mp, lpf, centroids[[i]], hist[[i]], bandMap[[i]]], {i, 1, Length[bandMap]}] ;

AnalyzeOneImage[img_, part_, lpf_, centroids_, hist_, bandMap_] := Module[{mt, probs}, ...  part] ; probs = ProbabilitiesAllHistograms[mt, lpf, centroids, hist, bandMap] ] ;

ClassifyOnProbabilities[probs_] := Map[First[First[Position[#, Max[#]]]] &, probs, {2}] ;

VisualizeClassification[cls_, colors_, opts___] := Show[Graphics[RasterArray[Map[colors[[#]] &, cls, {2}]]], AspectRatioAutomatic, opts] ;

ClassificationPercentages[cls_, n_] := Module[{pct}, pct = CategoryCounts[cls//Flatten, Range[n]] ; 100pct/(Plus @@ pct) // N] ;

VisualizeResults[probs_, colors_, opts___] := Module[{cls, g1, pct, g2, g2b, pr}, > ... ct, Show[GraphicsArray[{{g1}, {g2b}}], opts, DisplayFunction$DisplayFunction]} ] ;


Created by Mathematica  (February 16, 2004)