Index: other-projects/is-sheet-music-encore/trunk/Makefile
===================================================================
--- other-projects/is-sheet-music-encore/trunk/Makefile	(revision 33243)
+++ other-projects/is-sheet-music-encore/trunk/Makefile	(revision 33304)
@@ -125,5 +125,5 @@
 	cd image-identification-terminal; less results.txt
 
-run-all:
+run-both-MU:
         #Compile
 	cd image-identification-terminal; javac javaAccuracyCalculator.java
@@ -147,2 +147,20 @@
 	cd image-identification-terminal; less log-houghlinesP-refined-MU.txt
 
+run-houghlineP-refined-corpus:
+	cd image-identification-terminal; cd log-all; rm *.txt
+        #Compile
+	cd image-identification-terminal; javac javaAccuracyCalculator.java
+	cd image-identification-terminal; javac -cp /Scratch/cpb16/opencv-3.4.2/build/bin/opencv-342.jar javaImageClassifier.java;
+        #Run javaImageClassifier on all images in Corpus
+	cd image-identification-terminal; ./runClassifer.sh /Scratch/cpb16/is-sheet-music-encore/download-images/MU houghlinesP-refined log-all/log-houghlinesP-refined-MU.txt -all
+	cd image-identification-terminal; ./runClassifer.sh /Scratch/cpb16/is-sheet-music-encore/download-images/BK houghlinesP-refined log-all/log-houghlinesP-refined-BK.txt -all
+	cd image-identification-terminal; ./runClassifer.sh /Scratch/cpb16/is-sheet-music-encore/download-images/MP houghlinesP-refined log-all/log-houghlinesP-refined-MP.txt -all
+	cd image-identification-terminal; ./runClassifer.sh /Scratch/cpb16/is-sheet-music-encore/download-images/SE houghlinesP-refined log-all/log-houghlinesP-refined-SE.txt -all
+        #Calculate the Accuracy of the classifier
+	cd image-identification-terminal; java javaAccuracyCalculator log-all/log-houghlinesP-refined-MU.txt houghlinesP-refined-MU log-all/results.txt
+	cd image-identification-terminal; java javaAccuracyCalculator log-all/log-houghlinesP-refined-BK.txt houghlinesP-refined-BK log-all/results.txt
+	cd image-identification-terminal; java javaAccuracyCalculator log-all/log-houghlinesP-refined-MP.txt houghlinesP-refined-MP log-all/results.txt
+	cd image-identification-terminal; java javaAccuracyCalculator log-all/log-houghlinesP-refined-SE.txt houghlinesP-refined-SE log-all/results.txt
+        #Display the results
+	cd image-identification-terminal; less log-all/results.txt
+
Index: other-projects/is-sheet-music-encore/trunk/image-identification-development/.idea/workspace.xml
===================================================================
--- other-projects/is-sheet-music-encore/trunk/image-identification-development/.idea/workspace.xml	(revision 33243)
+++ other-projects/is-sheet-music-encore/trunk/image-identification-development/.idea/workspace.xml	(revision 33304)
@@ -20,8 +20,16 @@
         <entry file="file://$PROJECT_DIR$/src/Main.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-810">
-              <caret line="126" column="37" lean-forward="true" selection-start-line="126" selection-start-column="37" selection-end-line="126" selection-end-column="37" />
+            <state relative-caret-position="801">
+              <caret line="326" selection-start-line="326" selection-end-line="326" />
               <folding>
                 <element signature="imports" expanded="true" />
+                <element signature="class#StartAndEndPoint#0;class#Main#0" />
+                <element signature="method#removeDuplicates#0;class#Main#0" />
+                <element signature="method#StandardDeviation#0;class#Main#0" />
+                <element signature="method#toBufferedImage#0;class#Main#0" />
+                <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+                <element signature="method#ClassifierLineCount#0;class#Main#0" />
+                <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+                <element signature="e#7430#7439#0" expanded="true" />
               </folding>
             </state>
@@ -34,4 +42,5 @@
     <findStrings>
       <find>aeu.ark+=13960=t93787r1w-10.png</find>
+      <find>returnArray</find>
     </findStrings>
   </component>
@@ -44,5 +53,5 @@
   </component>
   <component name="ProjectFrameBounds" extendedState="6">
-    <option name="x" value="992" />
+    <option name="x" value="65" />
     <option name="y" value="24" />
     <option name="width" value="928" />
@@ -133,9 +142,7 @@
   <component name="ToolWindowManager">
     <frame x="65" y="24" width="1855" height="1056" extended-state="6" />
-    <editor active="true" />
     <layout>
       <window_info anchor="right" id="Palette" order="4" />
       <window_info anchor="bottom" id="TODO" order="10" />
-      <window_info anchor="bottom" id="Messages" order="3" weight="0.32842106" />
       <window_info anchor="right" id="Palette&#9;" order="1" />
       <window_info id="Image Layers" order="4" />
@@ -143,6 +150,6 @@
       <window_info anchor="bottom" id="Event Log" order="1" side_tool="true" />
       <window_info anchor="right" id="Maven Projects" order="3" />
-      <window_info active="true" anchor="bottom" id="Run" order="6" visible="true" weight="0.21881391" />
       <window_info anchor="bottom" id="Version Control" order="2" />
+      <window_info anchor="bottom" id="Run" order="6" weight="0.22392638" />
       <window_info anchor="bottom" id="Terminal" order="0" weight="0.42638037" />
       <window_info id="Capture Tool" order="2" />
@@ -153,6 +160,6 @@
       <window_info id="UI Designer" order="1" />
       <window_info anchor="right" id="Theme Preview" order="2" />
+      <window_info id="Favorites" order="3" side_tool="true" />
       <window_info anchor="bottom" id="Debug" order="7" weight="0.39894736" />
-      <window_info id="Favorites" order="3" side_tool="true" />
       <window_info anchor="right" content_ui="combo" id="Hierarchy" order="7" weight="0.25" />
       <window_info anchor="bottom" id="Inspection" order="9" weight="0.4" />
@@ -162,4 +169,5 @@
       <window_info anchor="bottom" id="Cvs" order="8" weight="0.25" />
       <window_info anchor="bottom" id="Find" order="5" weight="0.32924336" />
+      <window_info anchor="bottom" id="Messages" order="3" weight="0.32822084" />
     </layout>
     <layout-to-restore>
@@ -197,8 +205,116 @@
   <component name="XDebuggerManager">
     <breakpoint-manager>
-      <option name="time" value="3" />
+      <option name="time" value="4" />
     </breakpoint-manager>
   </component>
   <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/src/Main.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="4770">
+          <caret line="318" column="55" selection-start-line="318" selection-start-column="55" selection-end-line="318" selection-end-column="55" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Main.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="3600">
+          <caret line="240" selection-start-line="240" selection-end-line="240" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Main.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="2730">
+          <caret line="182" column="44" lean-forward="true" selection-start-line="182" selection-start-column="44" selection-end-line="182" selection-end-column="44" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Main.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="2130">
+          <caret line="142" column="30" selection-start-line="142" selection-start-column="30" selection-end-line="142" selection-end-column="30" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Main.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="2025">
+          <caret line="135" column="56" lean-forward="true" selection-start-line="135" selection-start-column="56" selection-end-line="135" selection-end-column="56" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Main.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1890">
+          <caret line="126" column="37" lean-forward="true" selection-start-line="126" selection-start-column="37" selection-end-line="126" selection-end-column="37" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/src/Main.java">
       <provider selected="true" editor-type-id="text-editor">
@@ -207,4 +323,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -217,4 +341,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -227,4 +359,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -237,4 +377,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -247,4 +395,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -257,4 +413,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -267,4 +431,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -277,4 +449,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -287,4 +467,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -297,4 +485,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -307,4 +503,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -317,4 +521,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -327,4 +539,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -337,4 +557,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -347,4 +575,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -357,4 +593,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -367,4 +611,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -377,4 +629,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -387,4 +647,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -397,4 +665,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -407,4 +683,12 @@
           <folding>
             <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
@@ -418,10 +702,29 @@
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/Main.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-810">
-          <caret line="126" column="37" lean-forward="true" selection-start-line="126" selection-start-column="37" selection-end-line="126" selection-end-column="37" />
-          <folding>
-            <element signature="imports" expanded="true" />
+    <entry file="jar:///usr/lib/jvm/java-8-oracle/src.zip!/java/lang/Object.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="238">
+          <caret line="234" column="18" selection-start-line="234" selection-start-column="18" selection-end-line="234" selection-end-column="18" />
+          <folding>
+            <element signature="e#10065#10066#0" expanded="true" />
+            <element signature="e#10148#10149#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Main.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="801">
+          <caret line="326" selection-start-line="326" selection-end-line="326" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="class#StartAndEndPoint#0;class#Main#0" />
+            <element signature="method#removeDuplicates#0;class#Main#0" />
+            <element signature="method#StandardDeviation#0;class#Main#0" />
+            <element signature="method#toBufferedImage#0;class#Main#0" />
+            <element signature="method#ClassifierPixelCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineCount#0;class#Main#0" />
+            <element signature="method#ClassifierLineClusterOLD#0;class#Main#0" />
+            <element signature="e#7430#7439#0" expanded="true" />
           </folding>
         </state>
Index: other-projects/is-sheet-music-encore/trunk/image-identification-development/src/Main.java
===================================================================
--- other-projects/is-sheet-music-encore/trunk/image-identification-development/src/Main.java	(revision 33243)
+++ other-projects/is-sheet-music-encore/trunk/image-identification-development/src/Main.java	(revision 33304)
@@ -10,4 +10,6 @@
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
 import javax.imageio.ImageIO;
 
@@ -17,4 +19,8 @@
 //https://www.wikihow.com/Calculate-Percentage-in-Java
 //https://riptutorial.com/opencv/example/21963/converting-an-mat-object-to-an-bufferedimage-object
+//https://beginnersbook.com/2013/12/java-arraylist-of-object-sort-example-comparable-and-comparator/
+//https://www.programiz.com/java-programming/examples/standard-deviation
+//https://www.geeksforgeeks.org/how-to-remove-duplicates-from-arraylist-in-java/
+
 
 
@@ -38,4 +44,79 @@
 public class Main {
 
+    //DEPENDENT FUNCTIONS AND CLASSES
+    static class StartAndEndPoint {
+        //PRIVATES
+        private Point _p1;
+        private Point _p2;
+        //CONSTRUCTOR
+        public StartAndEndPoint(Point p1, Point p2){
+            _p1 = p1;
+            _p2 = p2;
+        }
+        //GETTERS
+        public Point getP1(){
+            return _p1;
+        }
+        public Point getP2(){
+            return  _p2;
+        }
+        //SETTERS
+        public void setP1(Point p1){
+            _p1 = p1;
+        }
+        public void setP2(Point p2){
+            _p2 = p2;
+        }
+
+        //ToString
+        public  String toString(){
+            return "Start: " + _p1 + " End: " + _p2;
+        }
+        /*
+        //CompareToOverride
+        //Compares start point y co ordinates of input PointArray
+        //With this. start point y co ordinate
+        @Override
+        public double compareTo(StartAndEndPoint comparePointArray){
+            Point comparePoint = (comparePointArray.getP1());
+            return (this.getP1().y) - (comparePoint.y);
+        }
+        */
+    }
+    public static <T> ArrayList<T> removeDuplicates(ArrayList<T> list) {
+        //DIRECTLY COPIED//DIRECTLY COPIED//DIRECTLY COPIED//DIRECTLY COPIED//DIRECTLY COPIED//DIRECTLY COPIED
+        // Function to remove duplicates from an ArrayList
+        // Create a new ArrayList
+        ArrayList<T> newList = new ArrayList();
+        // Traverse through the first list
+        for (T element : list) {
+            // If this element is not present in newList
+            // then add it
+            if (!newList.contains(element)) {
+                newList.add(element);
+            }
+        }
+        // return the new list
+        return newList;
+        //DIRECTLY COPIED//DIRECTLY COPIED//DIRECTLY COPIED//DIRECTLY COPIED//DIRECTLY COPIED//DIRECTLY COPIED
+    }
+    public static double StandardDeviation(double parseArray[])
+    {
+        double mean;
+        double sum =0;
+        double standardDeviation = 0;
+        //calculate sum of array
+        for(int i =0; i > parseArray.length; i++){
+            sum += parseArray[i];
+        }
+        //calculate mean of array
+        mean = sum/parseArray.length;
+        //calculate SD of array
+        for(int j =0; j > parseArray.length; j++){
+            standardDeviation += Math.pow(parseArray[j]-mean, 2);
+        }
+        return Math.sqrt(standardDeviation/parseArray.length);
+    }
+
     //GLOBAL_CONSTANTS
     static int CLASSIFIER_HOUGHLINESP_MIN 	= 10;
@@ -43,8 +124,9 @@
     static int HOUGHLINEP_THRESHOLD			= 10;
     static int MINLINECOUNT                 = 40;
-    static double MAXLINEGAP              	= 4;
+    static double MAXLINEGAP              	= 1;  //4
     static double SLOPEGRADIENT			  	= 0.02;
     //SHOULD TURN INTO ARGS
 
+    //CLASSIFYING FUNCTIONS
     private static  BufferedImage toBufferedImage(Mat mat){
         //MOSTLY COPY PASTE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -100,5 +182,5 @@
         return false;
     }
-    private static boolean Classifier(int lineCount){
+    private static boolean ClassifierLineCount(int lineCount){
 
            if(lineCount>MINLINECOUNT){
@@ -109,29 +191,195 @@
             }
     }
+    private static ArrayList ClassifierLineClusterOLD(BufferedImage img){
+        ArrayList returnArray = new ArrayList();
+        try {
+
+            //IF THIS WORKS THEN IMPLEMENT A VERSION THAT USES POINTS from the draw line code.
+            //ALSO CHECK OUT K NEAREST NEIGHBOR?
+            //0xFFFF0000 = RED
+
+            //go thru every pixel until find red pixel
+            //get y pos of red pixel
+            //continue with loop until find another red pixel
+            //get y pos of red pixel
+            //compare y pos (if close together then continue loop) else break
+
+            int x = img.getWidth();
+            int y = img.getHeight();
+            int closeLineCount = 0;
+            ArrayList<Integer> redPixelYpos = new ArrayList<Integer>();
+
+
+
+            //Go Thru every pixel
+            for(int i=0; i < y; i++){
+                for(int j=0;j < x; j++){
+                    //Get value for current pixels RGB value
+                    int currPixelRGB = img.getRGB(j, i);
+                    //Check if pixel is red (hex value of red)
+                    if(currPixelRGB == 0xFFFF0000) {
+
+                        //Store y pos of red pixel if there is no duplicate
+                        if(!redPixelYpos.contains(i)){
+                            redPixelYpos.add(i);
+                            //System.out.println(i );
+                        }
+                    }
+                }
+            }
+            //Check if any of the lines found are close together and that there has been more than one line found
+            if(redPixelYpos.size()>1){
+                //go through list and compare every value
+                for(int i =0; i< redPixelYpos.size(); i++){
+                    //System.out.println("i: " +redPixelYpos.get(i));
+                    for(int j=0; j< redPixelYpos.size(); j++){
+                        //System.out.println("j: "+redPixelYpos.get(j));
+                        //Check if difference is less than 4 and the values are not duplicates.
+                        if(Math.abs(redPixelYpos.get(i) - redPixelYpos.get(j)) < 4 && !redPixelYpos.get(j).equals(redPixelYpos.get(i))){
+                            closeLineCount++;
+                        }
+                    }
+                }
+            }
+            int clusterCount = closeLineCount/4;
+
+            if(closeLineCount >= 4){
+                returnArray.add(true);
+                returnArray.add(closeLineCount);
+                returnArray.add(clusterCount);
+            }
+            else{
+                returnArray.add(false);
+                returnArray.add(closeLineCount);
+                returnArray.add(clusterCount);
+            }
+        }
+        catch (Exception e) {
+            System.err.println(e);
+        }
+    return returnArray;
+    }
+
+    private static ArrayList ClassifierLineCluster(ArrayList<StartAndEndPoint> linePointsArray){
+        ArrayList returnArray = new ArrayList();
+        ArrayList<Double> closeLineYPos = new ArrayList();
+        ArrayList<double[]> clusterArray = new ArrayList();
+        int clusterCount = 0;
+        try {
+            if(linePointsArray.size()> 1) {
+
+                //Display input array TESTING PURPOSES
+                for (int i = 0; i < linePointsArray.size(); i++) {
+                    System.out.println(linePointsArray.get(i).toString());
+                }
+
+
+                //Check if y points are close together
+                //go thru list and compare values against each other
+                for (int i = 0; i < linePointsArray.size(); i++){
+                    //System.out.println("i: "+ linePointsArray.get(i).getP1().y);
+                    for (int j = 0; j < linePointsArray.size(); j++) {
+                        //System.out.println("j: "+ linePointsArray.get(j).getP1().y);
+                        //Check if difference is less than 4 and the values are not duplicates.
+                        if(Math.abs(linePointsArray.get(j).getP1().y - linePointsArray.get(i).getP1().y) < 5){
+                            if(linePointsArray.get(j).getP1().y != linePointsArray.get(i).getP1().y){
+                                closeLineYPos.add(linePointsArray.get(j).getP1().y);
+                            }
+                        }
+                    }
+                }
+
+                System.out.println(" ");
+
+                //Have all y coordinates that close to each other.
+                //Now check if there are four of these are close to each other.
+                if(closeLineYPos.size() >= 4) {
+                    //Sort array and remove duplicates
+                    Collections.sort(closeLineYPos);
+                    closeLineYPos = removeDuplicates(closeLineYPos);
+
+
+                   /*for (double num : closeLineYPos){
+                      System.out.println(num);
+                   } */
+
+
+                    //Check first four items, traverse down a step {0,1,2,3} -> {1,2,3,4} -> {2,3,4,5}
+                    for(int i= 0; i< closeLineYPos.size(); i++){
+                        //If last comparator is within the array bounds.
+                        if(i + 3 == closeLineYPos.size()){
+                            break;
+                        }
+                        else{
+                            double[] tempArray = new double[4];
+                            tempArray[0] = closeLineYPos.get(i + 0);
+                            tempArray[1] = closeLineYPos.get(i + 1);
+                            tempArray[2] = closeLineYPos.get(i + 2);
+                            tempArray[3] = closeLineYPos.get(i + 3);
+                            System.out.println(tempArray[0] + " , " + tempArray[1] + " , " + tempArray[2] + " , " + tempArray[3]);
+                            //Check standard deviation
+                            if(StandardDeviation(tempArray) < 5){
+                                //Store array
+                                clusterArray.add(tempArray);
+                                //Check if more than one item in array
+                                if(clusterArray.size() > 1){
+                                    //check for duplicate yPos in stored arrays (tempArray)
+
+                                }
+
+
+                            }
+                        }
+                    }
+
+                    //for (double num : closeLineYPos){
+                    //    System.out.println(num);
+                    //}
+                }
+
+                //PROBLEM. Definition of cluster. Need to check if cluster.
+                //check if four lines are close to each other.(four for loops)
+                //  then store these four items in an array and add one to the counter.
+                //  (will need to check if found 5th item. - DONT NEED TO? Value gained from finding the 5th line? The staffline height?)
+                //
+
+
+
+                //SETUP RETURN ARRAY
+                if(closeLineYPos.size() >= 4){
+                    returnArray.add(true);
+                    returnArray.add(closeLineYPos.size());
+                    returnArray.add(clusterCount);
+                }
+                else{
+                    returnArray.add(false);
+                    returnArray.add(closeLineYPos.size());
+                    returnArray.add(clusterCount);
+                }
+            }
+        }
+        catch (Exception e) {
+            System.err.println(e);
+        }
+        return returnArray;
+    }
+
 
 
     public static void main(String[] args) {
+
         System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
+
         try {
-            //temp array for terminalversion
-
-            ArrayList returnArray = new ArrayList();
-            returnArray.add(true);
-            returnArray.add(10);
-
+            ArrayList<StartAndEndPoint> pointArrayList = new ArrayList<>();
 
             //Variables
             Mat edgesDetected = new Mat();
             Mat edgesDetectedRGB = new Mat();
-            Mat edgesExtra = new Mat();
-            Mat edgesDetectedRGBProb;
-            Mat edgeDoesntMakeSense;
-            Mat justEdges; //TESTING
-
             String directory = "/Scratch/cpb16/is-sheet-music-encore/download-images/MU/";
             //!!!!!!!!!!!!!!!!!!!!!!!!!!!NOT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
             //mdp.39015097852365-2.png 176 lines    Contents page.
             //mdp.39015097852555-3.png 76  lines
-            String default_file = directory+"SheetMusic/mdp.39015080972303-3.png";
+            String default_file = directory+"SheetMusic/coo.31924062612282-9.png";
             //String default_file ="TestImages/NotNot/mdp.39015080972303-3.png";
 
@@ -152,29 +400,8 @@
             Mat original = Imgcodecs.imread(filename, Imgcodecs.IMREAD_GRAYSCALE);
             // Edge detection
-            //01 CANNY
-            //Imgproc.Canny(original, edgesDetected, 50, 200, 3, false);
-            //Imgproc.Canny(original, edgesDetected,0, 100, 3, false );
-            //Imgproc.Canny(original, edgesDetected,80, 120);
-            //02 BINARYINV
-            Imgproc.adaptiveThreshold(original, edgesDetected,255, Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C,Imgproc.THRESH_BINARY_INV,15, 2);
-
-            //Imgproc.adaptiveThreshold(original, edgesExtra,255, Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C,Imgproc.THRESH_BINARY_INV,15, 2);
-            //Imgproc.medianBlur(edgesExtra, edgesDetected, 3);
-            //03 BINARY
-            //Imgproc.adaptiveThreshold(original, edgesDetected,255, Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C,Imgproc.THRESH_BINARY,15, 2);
-            //04 NO PROC
-            //edgesDetected = original.clone();
-            //05 OTSU THRESHOLD
-            //Imgproc.threshold(original, edgesDetected,0,255,Imgproc.THRESH_BINARY_INV+Imgproc.THRESH_OTSU);
-
-
-
-
+            Imgproc.adaptiveThreshold(original, edgesDetected,255, Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C,Imgproc.THRESH_BINARY_INV, 15, 4);
 
             //Convert to RGB for future use
             Imgproc.cvtColor(edgesDetected, edgesDetectedRGB, Imgproc.COLOR_GRAY2BGR);
-            justEdges = edgesDetectedRGB.clone();//TESTING
-            edgesDetectedRGBProb = edgesDetectedRGB.clone();
-            edgeDoesntMakeSense = edgesDetectedRGB.clone();
 
             Mat linesP = new Mat(); // will hold the results of the detection
@@ -184,40 +411,17 @@
 
             Imgproc.HoughLinesP(edgesDetected, linesP, 1, Math.PI / 720, HOUGHLINEP_THRESHOLD, minLineLength,MAXLINEGAP); // runs the actual detection
-            //Imgproc.HoughLinesP(edgesDetected, linesP, 1, Math.PI / 180, HOUGHLINEP_THRESHOLD, minLineLength,MAXLINEGAP); // runs the actual detection
-            System.out.println("Before Graident Filtering num lines: " + linesP.rows());
-
-            //Imgproc.HoughLinesP(edgesDetected,linesP,1,Math.PI/2, 50, 80, 5);
+            System.out.println("Before Gradient Filtering num lines: " + linesP.rows());
+
             // Draw the lines
             for (int x = 0; x < linesP.rows(); x++) {
                 double[] l = linesP.get(x, 0);
-
-                //Find angle that line is at
-                //double rho = linesP.get(x, 0)[0];
-                //double theta = linesP.get(x, 0)[1];
-                //double cosTheta = Math.cos(theta);
-                //double sinTheta = Math.sin(theta);
-                //double x0 = cosTheta * rho;
-                //double y0 = sinTheta * rho;
-                //double xpt1 = x0 + 1000 * (-sinTheta);
-                //double ypt1 = y0 + 1000 * (cosTheta);
-                //double xpt2 = x0 - 1000 * (-sinTheta);
-                //double ypt2 = y0 - 1000 * (cosTheta);
-                //double angle =  Math.atan2((float)ypt2 - (float)ypt1, (float)xpt2 - (float)xpt1)*(Math.PI);
-                //double testAngle = (ypt2 - ypt1)/(xpt2 - xpt1);
-
-                //New angles
                 Point p1 = new Point(l[0], l[1]);
                 Point p2 = new Point(l[2], l[3]);
                 double m = Math.abs(p2.y - p1.y)/(p2.x - p1.x);
-                //System.out.println(l[0]);
-                //System.out.println(l[1]);
-                //System.out.println(l[2]);
-                //System.out.println(l[3]);
-
 
                 if(m<=SLOPEGRADIENT) {
-                    //System.out.println("m: " + m);
-                    Imgproc.line(edgesDetectedRGB, new Point(l[0], l[1]), new Point(l[2], l[3]), new Scalar(0, 0, 255), 1, Imgproc.LINE_AA, 0);
+                    Imgproc.line(edgesDetectedRGB, p1, p2, new Scalar(0, 0, 255), 1, Imgproc.LINE_4, 0);
                     horizontalLineCount++;
+                    pointArrayList.add(new StartAndEndPoint(p1, p2));
                 }
 
@@ -226,16 +430,15 @@
             //Prove by finding number of points from one end to other:
             //Get width of image.
-            System.out.println("every matrix widths: "+edgesDetectedRGB.size().width);
             File filenameTest = new File("TestImages/NotSheetMusic02.png");
             BufferedImage i = ImageIO.read(filenameTest);
-            System.out.println("input image width: "+ i.getWidth());
-
             BufferedImage toBeClassifiedImg = toBufferedImage(edgesDetectedRGB);
-            System.out.println("Result: " + Classifier(horizontalLineCount));
-
-
-            System.out.println();
+
+            System.out.println("LINE COUNT RESULT:   " +  ClassifierLineCount(horizontalLineCount) + '\t' +"LineCount: " + horizontalLineCount); //COUNT OF LINES CLASSIFICATION
+            System.out.println("LINE CLUSTER RESULT: " +  ClassifierLineClusterOLD(toBeClassifiedImg).get(0) + '\t' + "LinesFound: " + ClassifierLineClusterOLD(toBeClassifiedImg).get(1) + '\t' + "ClustersFound: " + ClassifierLineClusterOLD(toBeClassifiedImg).get(2));
+            //System.out.println("NEW CLUSTER RESULTS: " +  ClassifierLineCluster(pointArrayList).get(0) + '\t' + "LinesFound: " + ClassifierLineCluster(pointArrayList).get(1) + '\t' + "ClustersFound: " + ClassifierLineCluster(pointArrayList).get(2));
+            System.out.println(ClassifierLineCluster(pointArrayList));
+
             //Display Results
-            HighGui.imshow("Source", original);
+            //HighGui.imshow("Source", original);
             //HighGui.imshow("Just Edges", justEdges); //TESTING
             HighGui.imshow("Detected Lines (in red) - positive", edgesDetectedRGB);
Index: other-projects/is-sheet-music-encore/trunk/image-identification-terminal/javaAccuracyCalculator.java
===================================================================
--- other-projects/is-sheet-music-encore/trunk/image-identification-terminal/javaAccuracyCalculator.java	(revision 33243)
+++ other-projects/is-sheet-music-encore/trunk/image-identification-terminal/javaAccuracyCalculator.java	(revision 33304)
@@ -70,10 +70,28 @@
 				
 				//Correctly identified SheetMusic as SheetMusic
-				trueAccuracyRate = ((float)truePositive/(float)sheetMusicCount)*(float)100;
-
-				//Amount of Correctly identified NotSheetSheetMusic as NotSheetMusic
-				falseAccuracyRate = ((float)trueNegative/(float)notSheetMusicCount)*(float)100;
+				if(sheetMusicCount != 0){
+					trueAccuracyRate = ((float)truePositive/(float)sheetMusicCount)*(float)100;
+				}
+				else {
+					trueAccuracyRate = 0;
+				}
 				
-				overallAccuracyRate = (truePositive + trueNegative)/(float)(sheetMusicCount+notSheetMusicCount)*(float)100;
+				if(notSheetMusicCount != 0){
+					//Amount of Correctly identified NotSheetSheetMusic as NotSheetMusic
+					falseAccuracyRate = ((float)trueNegative/(float)notSheetMusicCount)*(float)100;
+				}
+				else {
+					falseAccuracyRate = 0;
+				}
+				
+				if(notSheetMusicCount != 0 && sheetMusicCount != 0) {
+					overallAccuracyRate = (truePositive + trueNegative)/(float)(sheetMusicCount+notSheetMusicCount)*(float)100;
+				}
+				else if (sheetMusicCount = 0) {
+					overallAccuracyRate = falseAccuracyRate/2;
+				}
+				else {
+					overallAccuracyRate = trueAccuracyRate/2;
+				}
 				
 				fw.write("Date: " + d.toString() + '\n'
Index: other-projects/is-sheet-music-encore/trunk/image-identification-terminal/javaImageClassifier.java
===================================================================
--- other-projects/is-sheet-music-encore/trunk/image-identification-terminal/javaImageClassifier.java	(revision 33243)
+++ other-projects/is-sheet-music-encore/trunk/image-identification-terminal/javaImageClassifier.java	(revision 33304)
@@ -33,7 +33,7 @@
 	static int CLASSIFIER_HOUGHLINESP_MAX 	= 65;
 	static int HOUGHLINEP_THRESHOLD			= 10;
-	static int MINLINECOUNT                 = 40; //50
+	static int MINLINECOUNT                 = 40;
 	static double MAXLINEGAP              	= 4;
-	static double SLOPEGRADIENT			  	= 0.02; //0.01
+	static double SLOPEGRADIENT			  	= 0.02;
 
     public static void main(String[] args) {  	
@@ -136,4 +136,5 @@
 	    //Imgproc.Canny(original, edgesDetected, 50, 200, 3, false);
 	    Imgproc.adaptiveThreshold(original, edgesDetected,255, Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C,Imgproc.THRESH_BINARY_INV,15, 2);
+	    //Imgproc.blur(edgesExtra, edgesDetected, new Size(3,1));
         //Imgproc.medianBlur(edgesExtra, edgesDetected, 3);
         
@@ -160,5 +161,5 @@
             if(m<SLOPEGRADIENT) {
             	//System.out.println("m: " + m);
-            	Imgproc.line(edgesDetectedRGB, new Point(l[0], l[1]), new Point(l[2], l[3]), new Scalar(0, 0, 255), 1, Imgproc.LINE_AA, 0);
+            	//Imgproc.line(edgesDetectedRGB, new Point(l[0], l[1]), new Point(l[2], l[3]), new Scalar(0, 0, 255), 1, Imgproc.LINE_AA, 0); SINCE NOT SAVING IMAGES OR COUNTING PIXELS
             	horizontalLineCount++;
             }
@@ -166,5 +167,5 @@
 	    
 	    //Convert MAT into a BufferedImage
-	    BufferedImage toBeClassifiedImg = toBufferedImage(edgesDetectedRGB);
+	    //BufferedImage toBeClassifiedImg = toBufferedImage(edgesDetectedRGB); SINCE NOT SAVING IMAGES OR COUNTING PIXELS
 	    //Calculate if its sheet music or not
 	    isSheetMusic = classifier_HoughLinesP_refined(horizontalLineCount);  
Index: other-projects/is-sheet-music-encore/trunk/image-identification-terminal/results.txt
===================================================================
--- other-projects/is-sheet-music-encore/trunk/image-identification-terminal/results.txt	(revision 33243)
+++ other-projects/is-sheet-music-encore/trunk/image-identification-terminal/results.txt	(revision 33304)
@@ -1,104 +1,5 @@
-Date: Thu Jun 20 18:40:41 NZST 2019
-Classifier: houghlinesP
-truePositive: 3098
-falseNegative: 63
-falsePositve: 624
-trueNegative: 1216
-SheetMusicAccuracyRate: 98.00696%
-NotSheetMusicAccuracyRate: 66.08695%
-OverallAccuracyRate: 86.26274%
+BEST RESULTS TO DATE
 
-Date: Thu Jun 20 18:40:42 NZST 2019
-Classifier: houghlinesP-refined
-truePositive: 1666
-falseNegative: 1495
-falsePositve: 123
-trueNegative: 1717
-SheetMusicAccuracyRate: 52.70484%
-NotSheetMusicAccuracyRate: 93.315216%
-OverallAccuracyRate: 67.64648%
-
-
-
-
-BEST SO FAR
-Date: Tue Jun 25 16:02:11 NZST 2019
-Classifier: houghlinesP-refined
-truePositive: 80
-falseNegative: 20
-falsePositve: 11
-trueNegative: 89
-SheetMusicAccuracyRate: 80.0%
-NotSheetMusicAccuracyRate: 89.0%
-OverallAccuracyRate: 84.5%
-
-Date: Tue Jun 25 16:21:55 NZST 2019
-Classifier: houghlinesP
-truePositive: 3063
-falseNegative: 98
-falsePositve: 596
-trueNegative: 1244
-SheetMusicAccuracyRate: 96.89972%
-NotSheetMusicAccuracyRate: 67.608696%
-OverallAccuracyRate: 86.12277%
-
-Date: Tue Jun 25 20:06:21 NZST 2019
-Classifier: houghlinesP-refined-all
-truePositive: 1723
-falseNegative: 1438
-falsePositve: 86
-trueNegative: 1754
-SheetMusicAccuracyRate: 54.508064%
-NotSheetMusicAccuracyRate: 95.32609%
-OverallAccuracyRate: 69.52609%
-
-Date: Tue Jun 25 20:13:22 NZST 2019
-Classifier: houghlinesP-refined
-truePositive: 80
-falseNegative: 20
-falsePositve: 11
-trueNegative: 89
-SheetMusicAccuracyRate: 80.0%
-NotSheetMusicAccuracyRate: 89.0%
-OverallAccuracyRate: 84.5%
-
-Date: Tue Jun 25 22:40:22 NZST 2019
-Classifier: houghlinesP-refined-all-canny
-truePositive: 1124
-falseNegative: 2037
-falsePositve: 61
-trueNegative: 1779
-SheetMusicAccuracyRate: 35.558365%
-NotSheetMusicAccuracyRate: 96.684784%
-OverallAccuracyRate: 58.048393%
-
-MAX 65
-MIN 10
-ALL MU
-RESULT:
-
-
-Date: Wed Jun 26 20:08:09 NZST 2019
-Classifier: houghlinesP-refined-all-canny
-truePositive: 1124
-falseNegative: 2037
-falsePositve: 61
-trueNegative: 1779
-SheetMusicAccuracyRate: 35.558365%
-NotSheetMusicAccuracyRate: 96.684784%
-OverallAccuracyRate: 58.048393%
-
-Date: Wed Jun 26 20:44:04 NZST 2019
-Classifier: houghlinesP-refined-all
-truePositive: 1725
-falseNegative: 1436
-falsePositve: 87
-trueNegative: 1753
-SheetMusicAccuracyRate: 54.571335%
-NotSheetMusicAccuracyRate: 95.271736%
-OverallAccuracyRate: 69.54609%
-
-BOTH PRE THURSDAY MEETING
-Date: Wed Jun 26 21:40:37 NZST 2019
+Date: Tue Jul 02 12:35:16 NZST 2019
 Classifier: houghlinesP
 truePositive: 3103
@@ -110,68 +11,6 @@
 OverallAccuracyRate: 85.642876%
 
-Date: Wed Jun 26 21:40:37 NZST 2019
+Date: Tue Jul 02 12:35:16 NZST 2019
 Classifier: houghlinesP-refined
-truePositive: 1725
-falseNegative: 1436
-falsePositve: 87
-trueNegative: 1753
-SheetMusicAccuracyRate: 54.571335%
-NotSheetMusicAccuracyRate: 95.271736%
-OverallAccuracyRate: 69.54609%
-
-
-POST MEETING 
-
-
-Date: Thu Jun 27 11:56:02 NZST 2019
-Classifier: houghlinesP-refined
-truePositive: 0
-falseNegative: 0
-falsePositve: 0
-trueNegative: 0
-SheetMusicAccuracyRate: 0.0%
-NotSheetMusicAccuracyRate: 0.0%
-OverallAccuracyRate: 0.0%
-
-Date: Thu Jun 27 12:04:40 NZST 2019
-Classifier: houghlinesP-refined-test
-truePositive: 7
-falseNegative: 3
-falsePositve: 5
-trueNegative: 5
-SheetMusicAccuracyRate: 70.0%
-NotSheetMusicAccuracyRate: 50.0%
-OverallAccuracyRate: 60.000004%
-
-LINE GAP OF 10
-
-Date: Thu Jun 27 12:24:59 NZST 2019
-Classifier: houghlinesP-refined-all
-truePositive: 2808
-falseNegative: 353
-falsePositve: 307
-trueNegative: 1533
-SheetMusicAccuracyRate: 88.83265%
-NotSheetMusicAccuracyRate: 83.315216%
-OverallAccuracyRate: 86.802635%
-
-
-LINE GAP OF 4
-
-
-Date: Thu Jun 27 14:35:24 NZST 2019
-Classifier: houghlinesP-refined-all
-truePositive: 2626
-falseNegative: 535
-falsePositve: 77
-trueNegative: 1763
-SheetMusicAccuracyRate: 83.074974%
-NotSheetMusicAccuracyRate: 95.815216%
-OverallAccuracyRate: 87.76244%
-
-MINLINECOUNT=40
-gradient = 0.02
-Date: Thu Jun 27 15:10:14 NZST 2019
-Classifier: houghlinesP-refined-all
 truePositive: 2961
 falseNegative: 200
@@ -182,2 +21,28 @@
 OverallAccuracyRate: 93.28135%
 
+REFINEMENT IMPROVEMENT TESTS
+BINARY_INV, 15, 4
+
+Date: Tue Jul 02 12:56:53 NZST 2019
+Classifier: houghlinesP-refined-all
+truePositive: 2952
+falseNegative: 209
+falsePositve: 128
+trueNegative: 1712
+SheetMusicAccuracyRate: 93.38817%
+NotSheetMusicAccuracyRate: 93.04348%
+OverallAccuracyRate: 93.26135%
+
+BINARY_INV, 15, 4
+BLUR 3,1
+ 
+Date: Tue Jul 02 13:27:00 NZST 2019
+Classifier: houghlinesP-refined-all
+truePositive: 2989
+falseNegative: 172
+falsePositve: 211
+trueNegative: 1628
+SheetMusicAccuracyRate: 94.558685%
+NotSheetMusicAccuracyRate: 88.526375%
+OverallAccuracyRate: 92.34%
+
