[chronojump] kneeAngle: validation allows ROI



commit 8c6f8b61d379196b4dd464ffe8c8794163dc50a7
Author: Xavier de Blas <xaviblas gmail com>
Date:   Thu Apr 29 21:44:41 2010 +0800

    kneeAngle: validation allows ROI

 src/angle/kneeAngle.cpp               |   91 +++-
 src/angle/kneeAngleFunctions.cpp      |   13 +-
 src/angle/kneeAngleOptions.txt        |    2 +-
 src/angle/kneeAngle_black_contour.png |  Bin 45734 -> 47903 bytes
 src/angle/kneeAngle_black_contour.svg |  904 +++++++++++++++++++++++++++++----
 5 files changed, 889 insertions(+), 121 deletions(-)
---
diff --git a/src/angle/kneeAngle.cpp b/src/angle/kneeAngle.cpp
index 30c2290..63105a7 100644
--- a/src/angle/kneeAngle.cpp
+++ b/src/angle/kneeAngle.cpp
@@ -165,7 +165,7 @@ int main(int argc,char **argv)
 	if(argc < 2)
 	{
 		char *startMessage = new char[300];
-		sprintf(startMessage, "\nkneeAngle HELP.\n\nProvide file location as a first argument...\nOptional: as 2nd argument provide a fraction of video to start at that frame, or a concrete frame.\nOptional: as 3rd argument provide mode you want to execute (avoiding main menu).\n\t%d: validation; %d: blackWithoutMarkers; %d: skinOnlyMarkers; %d: blackOnlyMarkers.\n\nEg: Start at frame 5375:\n\tkneeAngle myfile.mov 5375\nEg:start at 80 percent of video and directly as blackOnlyMarkers:\n\tkneeAngle myFile.mov .8 %d\n", 
+		sprintf(startMessage, "\nkneeAngle HELP.\n\nProvide file location as a first argument...\nOptional: as 2nd argument provide a fraction of video to start at that frame, or a concrete frame.\nOptional: as 3rd argument provide mode you want to execute (avoiding main menu).\n\t%d: validation; %d: blackWithoutMarkers; %d: skinOnlyMarkers; %d: blackOnlyMarkers.\n\nEg: Start at frame 5375:\n\tkneeAngle myfile.mov 5375\nEg:start at 80 percent of video and directly as blackOnlyMarkers:\n\tkneeAngle myFile.mov .8 %d\n\nNote another param can be used to default trhesholdLargestContour on blackOnly and on validation", 
 				validation, blackWithoutMarkers, skinOnlyMarkers, blackOnlyMarkers, blackOnlyMarkers);
 		std::cout<< startMessage <<std::endl;
 		exit(1);
@@ -193,8 +193,18 @@ int main(int argc,char **argv)
 	printf("Number of frames: %d\t Start at:%d\n\n", framesNumber, StartAt);
 	
 	ProgramMode = undefined;
-	if(argc == 4) 
+	if(argc >= 4) 
 		ProgramMode = atoi(argv[3]);
+	
+	int threshold;
+	//this is currently only used on blackOnlyMarkers and validation to have a threshold to find the contour
+	//(different than threshold for three points)
+	int thresholdLargestContour = -1; 
+	int thresholdMax = 255;
+	int thresholdInc = 1;
+				
+	if(argc == 5) 
+		thresholdLargestContour = atoi(argv[4]);
 
 	readOptions();
 	printf("--- Options: ---\n");
@@ -403,15 +413,6 @@ int main(int argc,char **argv)
 	int downLegMarkedDistMax = 0;
 	*/
 
-	int threshold;
-	
-	//this is currently only used on blackOnlyMarkers to have a threshold to find the contour
-	//(different than threshold for three points)
-	int thresholdLargestContour; 
-
-	int thresholdMax = 255;
-	int thresholdInc = 1;
-				
 	IplImage* imgZoom;
 	
 	//threshold for the three specific points
@@ -599,7 +600,8 @@ int main(int argc,char **argv)
 			else if(ProgramMode == blackOnlyMarkers || ProgramMode == validation) {
 				cvCvtColor(frame_copy,gray,CV_BGR2GRAY);
 				threshold = calculateThresholdStart(gray, false);
-				thresholdLargestContour = calculateThresholdStart(gray, true);
+				if(thresholdLargestContour == -1)
+					thresholdLargestContour = calculateThresholdStart(gray, true);
 			}
 			else {
 				cvCvtColor(frame_copy,gray,CV_BGR2GRAY);
@@ -694,13 +696,36 @@ int main(int argc,char **argv)
 
 				//maxrect = findLargestContour(segmented, output, ShowContour);
 				maxrect = findLargestContour(segmented, outputTemp, ShowContour);
-
+							
 				//search in output all the black places (pants) and 
 				//see if there's a hole in that pixel on segmentedValidationHoles
 				//but firsts do a copy because maybe it doesn't work
 				if( !frame_copyTemp ) 
 					frame_copyTemp = cvCreateImage( cvSize(frame->width,frame->height),IPL_DEPTH_8U, frame->nChannels );
+				
 				cvCopy(frame_copy,frame_copyTemp);
+
+
+				if(thresholdROIH != -1) {
+					segmented = changeROIThreshold(gray, segmented, hipMarked, 
+							thresholdROIH, thresholdMax, thresholdROISizeH);
+					segmentedValidationHoles = changeROIThreshold(gray, segmentedValidationHoles, hipMarked, 
+							thresholdROIH, thresholdMax, thresholdROISizeH);
+				}
+				if(thresholdROIK != -1) {
+					segmented = changeROIThreshold(gray, segmented, kneeMarked, 
+							thresholdROIK, thresholdMax, thresholdROISizeK);
+					segmentedValidationHoles = changeROIThreshold(gray, segmentedValidationHoles, kneeMarked, 
+							thresholdROIK, thresholdMax, thresholdROISizeK);
+				}
+				if(thresholdROIT != -1) {
+					segmented = changeROIThreshold(gray, segmented, toeMarked, 
+							thresholdROIT, thresholdMax, thresholdROISizeT);
+					segmentedValidationHoles = changeROIThreshold(gray, segmentedValidationHoles, toeMarked, 
+							thresholdROIT, thresholdMax, thresholdROISizeT);
+				}
+
+	
 				seqHolesEnd = findHoles(
 						outputTemp, segmented, foundHoles, frame_copy,  
 						maxrect, hipOld, kneeOld, toeOld, hipPredicted, kneePredicted, toePredicted, font);
@@ -1790,7 +1815,8 @@ int main(int argc,char **argv)
 					MouseClicked = UNDEFINED;  
 					MouseMultiplier = false;
 		
-					if(ProgramMode == skinOnlyMarkers || ProgramMode == blackOnlyMarkers || ProgramMode == validation) {
+					//if(ProgramMode == skinOnlyMarkers || ProgramMode == blackOnlyMarkers || ProgramMode == validation) {
+					if(ProgramMode == skinOnlyMarkers || ProgramMode == blackOnlyMarkers) {
 						sprintf(label, "Threshold: %d (%d,%d,%d) (%d,%d,%d)", 
 								threshold, 
 								thresholdROIH, thresholdROIK, thresholdROIT, 
@@ -1798,8 +1824,8 @@ int main(int argc,char **argv)
 						imageGuiResult(gui, label, font);
 
 						cvThreshold(gray, output, threshold, thresholdMax,CV_THRESH_BINARY_INV);
-						
-						if(thresholdROIH != -1)
+
+						if(thresholdROIH != -1) 
 							output = changeROIThreshold(gray, output, hipMarked, 
 									thresholdROIH, thresholdMax, thresholdROISizeH);
 						if(thresholdROIK != -1)
@@ -1815,12 +1841,39 @@ int main(int argc,char **argv)
 						cvThreshold(gray,segmentedValidationHoles, threshold, thresholdMax,CV_THRESH_BINARY_INV);
 						//create the largest contour image (stored on temp)
 						cvThreshold(gray,segmented,threshold,thresholdMax,CV_THRESH_BINARY_INV);
+
+						if(thresholdROIH != -1 || thresholdROIK != -1 || thresholdROIT != -1) {
+							if(thresholdROIH != -1) {
+								segmented = changeROIThreshold(gray, segmented, hipMarked, 
+										thresholdROIH, thresholdMax, thresholdROISizeH);
+								segmentedValidationHoles = 
+									changeROIThreshold(gray, segmentedValidationHoles, hipMarked, 
+											thresholdROIH, thresholdMax, thresholdROISizeH);
+							}
+							if(thresholdROIK != -1) {
+								segmented = changeROIThreshold(gray, segmented, kneeMarked, 
+										thresholdROIK, thresholdMax, thresholdROISizeK);
+								segmentedValidationHoles = 
+									changeROIThreshold(gray, segmentedValidationHoles, kneeMarked, 
+											thresholdROIK, thresholdMax, thresholdROISizeK);
+							}
+							if(thresholdROIT != -1) {
+								segmented = changeROIThreshold(gray, segmented, toeMarked, 
+										thresholdROIT, thresholdMax, thresholdROISizeT);
+								segmentedValidationHoles = 
+									changeROIThreshold(gray, segmentedValidationHoles, toeMarked, 
+											thresholdROIT, thresholdMax, thresholdROISizeT);
+							}
+							cvCopy(segmentedValidationHoles, output);
+							cvShowImage("threshold", output);
+						}
+
 						maxrect = findLargestContour(segmented, output, ShowContour);
 
-						if(validation)
-							updateHolesWin(segmentedValidationHoles);
+						//if(validation)
+						//	updateHolesWin(segmentedValidationHoles);
 						
-						sprintf(label, "threshold: %d", threshold);
+						sprintf(label, "threshold: %d", threshold, thresholdROIH);
 						imageGuiResult(gui, label, font);
 					}
 						
diff --git a/src/angle/kneeAngleFunctions.cpp b/src/angle/kneeAngleFunctions.cpp
index b91a815..35464e8 100644
--- a/src/angle/kneeAngleFunctions.cpp
+++ b/src/angle/kneeAngleFunctions.cpp
@@ -1434,7 +1434,9 @@ void on_mouse_gui( int event, int x, int y, int flags, void* param )
 				}
 
 				//skinOnlyMarkers || (blackOnlyMarkers without contour)
-				if(!success && (ProgramMode == skinOnlyMarkers || (ProgramMode == blackOnlyMarkers && !UsingContour))) {
+				if(!success && (ProgramMode == skinOnlyMarkers || 
+							ProgramMode == validation ||
+							(ProgramMode == blackOnlyMarkers && !UsingContour))) {
 					success = true;
 					if(pointInsideRect(clicked, rthipmore))
 						MouseClicked = THIPMORE;
@@ -1448,7 +1450,14 @@ void on_mouse_gui( int event, int x, int y, int flags, void* param )
 						MouseClicked = TTOEMORE;
 					else if(pointInsideRect(clicked, rttoeless))
 						MouseClicked = TTOELESS;
-					else if(pointInsideRect(clicked, rtglobalmore))
+					else
+						success = false;
+				}
+				
+				if(!success && (ProgramMode == skinOnlyMarkers || 
+							(ProgramMode == blackOnlyMarkers && !UsingContour))) {
+					success = true;
+					if(pointInsideRect(clicked, rtglobalmore))
 						MouseClicked = TGLOBALMORE;
 					else if(pointInsideRect(clicked, rtgloballess))
 						MouseClicked = TGLOBALLESS;
diff --git a/src/angle/kneeAngleOptions.txt b/src/angle/kneeAngleOptions.txt
index abdb030..3623565 100644
--- a/src/angle/kneeAngleOptions.txt
+++ b/src/angle/kneeAngleOptions.txt
@@ -2,5 +2,5 @@ ShowContour;FALSE
 Debug;FALSE
 UsePrediction;FALSE
 PlayDelay;10
-PlayDelayFoundAngle;50
+PlayDelayFoundAngle;10
 ZoomScale;2
diff --git a/src/angle/kneeAngle_black_contour.png b/src/angle/kneeAngle_black_contour.png
index a9218f6..0828d8a 100644
Binary files a/src/angle/kneeAngle_black_contour.png and b/src/angle/kneeAngle_black_contour.png differ
diff --git a/src/angle/kneeAngle_black_contour.svg b/src/angle/kneeAngle_black_contour.svg
index 7b8bc29..1f763a4 100644
--- a/src/angle/kneeAngle_black_contour.svg
+++ b/src/angle/kneeAngle_black_contour.svg
@@ -4739,6 +4739,536 @@
        inkscape:vp_y="0 : 1000 : 0"
        inkscape:vp_x="0 : 0.5 : 1"
        sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective8880"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       id="linearGradient1322-6-1">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop1324-2-2" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop1326-1-2" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7916-8-1">
+      <stop
+         id="stop7918-5-5"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop7920-7-0"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8897">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop8899" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop8901" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8904">
+      <stop
+         id="stop8906"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop8908"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8918">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop8920" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop8922" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8925">
+      <stop
+         id="stop8927"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop8929"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8932">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop8934" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop8936" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8939">
+      <stop
+         id="stop8941"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop8943"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8953">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop8955" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop8957" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8960">
+      <stop
+         id="stop8962"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop8964"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8967">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop8969" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop8971" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8974">
+      <stop
+         id="stop8976"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop8978"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2091-0"
+       id="radialGradient41405-9"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.914812,0.01265023,-0.00821502,0.213562,2.253914,27.18889)"
+       cx="23.070683"
+       cy="35.127438"
+       fx="23.070683"
+       fy="35.127438"
+       r="10.31934" />
+    <linearGradient
+       id="linearGradient2091-0"
+       inkscape:collect="always">
+      <stop
+         id="stop2093-4"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop2095-0"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1322-3"
+       id="linearGradient41407-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-18.01785,-13.57119)"
+       x1="34.892849"
+       y1="36.422989"
+       x2="45.918697"
+       y2="48.547989" />
+    <linearGradient
+       id="linearGradient1322-3">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop1324-74" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop1326-11" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7916-0"
+       id="linearGradient41409-3"
+       gradientUnits="userSpaceOnUse"
+       x1="16.874998"
+       y1="22.851799"
+       x2="27.900846"
+       y2="34.976799" />
+    <linearGradient
+       id="linearGradient7916-0">
+      <stop
+         id="stop7918-3"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop7920-2"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1322-3"
+       id="linearGradient41411-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-18.01785,-13.57119)"
+       x1="34.892849"
+       y1="36.422989"
+       x2="45.918697"
+       y2="48.547989" />
+    <linearGradient
+       id="linearGradient8993">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop8995" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop8997" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7916-0"
+       id="linearGradient41413-7"
+       gradientUnits="userSpaceOnUse"
+       x1="16.874998"
+       y1="22.851799"
+       x2="27.900846"
+       y2="34.976799" />
+    <linearGradient
+       id="linearGradient9000-5">
+      <stop
+         id="stop9002-6"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop9004-5"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2091-0"
+       id="radialGradient41415-4"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.914812,0.01265023,-0.00821502,0.213562,2.253914,27.18889)"
+       cx="23.070683"
+       cy="35.127438"
+       fx="23.070683"
+       fy="35.127438"
+       r="10.31934" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1322-3"
+       id="linearGradient41417-2"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-18.01785,-13.57119)"
+       x1="34.892849"
+       y1="36.422989"
+       x2="45.918697"
+       y2="48.547989" />
+    <linearGradient
+       id="linearGradient9014">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop9016" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop9018" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7916-0"
+       id="linearGradient41419-2"
+       gradientUnits="userSpaceOnUse"
+       x1="16.874998"
+       y1="22.851799"
+       x2="27.900846"
+       y2="34.976799" />
+    <linearGradient
+       id="linearGradient9021">
+      <stop
+         id="stop9023"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop9025"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1322-3"
+       id="linearGradient41421-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-18.01785,-13.57119)"
+       x1="34.892849"
+       y1="36.422989"
+       x2="45.918697"
+       y2="48.547989" />
+    <linearGradient
+       id="linearGradient9028">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop9030" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop9032" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7916-0"
+       id="linearGradient41423-7"
+       gradientUnits="userSpaceOnUse"
+       x1="16.874998"
+       y1="22.851799"
+       x2="27.900846"
+       y2="34.976799" />
+    <linearGradient
+       id="linearGradient9035">
+      <stop
+         id="stop9037"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop9039"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2091-0"
+       id="radialGradient41425-2"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.914812,0.01265023,-0.00821502,0.213562,2.253914,27.18889)"
+       cx="23.070683"
+       cy="35.127438"
+       fx="23.070683"
+       fy="35.127438"
+       r="10.31934" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1322-3"
+       id="linearGradient41427-4"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-18.01785,-13.57119)"
+       x1="34.892849"
+       y1="36.422989"
+       x2="45.918697"
+       y2="48.547989" />
+    <linearGradient
+       id="linearGradient9049">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop9051" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop9053" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7916-0"
+       id="linearGradient41429-1"
+       gradientUnits="userSpaceOnUse"
+       x1="16.874998"
+       y1="22.851799"
+       x2="27.900846"
+       y2="34.976799" />
+    <linearGradient
+       id="linearGradient9056">
+      <stop
+         id="stop9058"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop9060"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1322-3"
+       id="linearGradient41431-6"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-18.01785,-13.57119)"
+       x1="34.892849"
+       y1="36.422989"
+       x2="45.918697"
+       y2="48.547989" />
+    <linearGradient
+       id="linearGradient9063">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop9065" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop9067" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7916-0"
+       id="linearGradient41433-5"
+       gradientUnits="userSpaceOnUse"
+       x1="16.874998"
+       y1="22.851799"
+       x2="27.900846"
+       y2="34.976799" />
+    <linearGradient
+       id="linearGradient9070">
+      <stop
+         id="stop9072"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop9074"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2091-0"
+       id="radialGradient41435-7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.914812,0.01265023,-0.00821502,0.213562,2.253914,27.18889)"
+       cx="23.070683"
+       cy="35.127438"
+       fx="23.070683"
+       fy="35.127438"
+       r="10.31934" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1322-3"
+       id="linearGradient41437-8"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-18.01785,-13.57119)"
+       x1="34.892849"
+       y1="36.422989"
+       x2="45.918697"
+       y2="48.547989" />
+    <linearGradient
+       id="linearGradient9084">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop9086" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop9088" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7916-0"
+       id="linearGradient41439-5"
+       gradientUnits="userSpaceOnUse"
+       x1="16.874998"
+       y1="22.851799"
+       x2="27.900846"
+       y2="34.976799" />
+    <linearGradient
+       id="linearGradient9091">
+      <stop
+         id="stop9093"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop9095"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1322-3"
+       id="linearGradient41441-9"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-18.01785,-13.57119)"
+       x1="34.892849"
+       y1="36.422989"
+       x2="45.918697"
+       y2="48.547989" />
+    <linearGradient
+       id="linearGradient9098">
+      <stop
+         style="stop-color:#729fcf"
+         offset="0.0000000"
+         id="stop9100" />
+      <stop
+         style="stop-color:#5187d6;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop9102" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7916-0"
+       id="linearGradient41443-2"
+       gradientUnits="userSpaceOnUse"
+       x1="16.874998"
+       y1="22.851799"
+       x2="27.900846"
+       y2="34.976799" />
+    <linearGradient
+       id="linearGradient9105">
+      <stop
+         id="stop9107"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop9109"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.34020618;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective3886"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -4750,19 +5280,19 @@
      objecttolerance="10"
      inkscape:pageopacity="1"
      inkscape:pageshadow="2"
-     inkscape:zoom="1.3066933"
+     inkscape:zoom="1.6601963"
      inkscape:cx="250.99475"
-     inkscape:cy="146.63438"
+     inkscape:cy="146.38995"
      inkscape:document-units="px"
      inkscape:current-layer="capa1"
      showgrid="false"
-     showguides="true"
+     showguides="false"
      inkscape:guide-bbox="true"
-     inkscape:window-width="1016"
-     inkscape:window-height="711"
+     inkscape:window-width="1024"
+     inkscape:window-height="717"
      inkscape:window-x="0"
      inkscape:window-y="25"
-     inkscape:window-maximized="0">
+     inkscape:window-maximized="1">
     <inkscape:grid
        type="xygrid"
        id="grid15399"
@@ -4829,7 +5359,7 @@
         <dc:format>image/svg+xml</dc:format>
         <dc:type
            rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
-        <dc:title></dc:title>
+        <dc:title />
       </cc:Work>
     </rdf:RDF>
   </metadata>
@@ -4837,6 +5367,250 @@
      inkscape:label="Capa 1"
      inkscape:groupmode="layer"
      id="capa1">
+    <g
+       id="g41122"
+       transform="translate(0.0231394,-12.709706)">
+      <text
+         id="text2548-7"
+         y="173.06616"
+         x="422.60596"
+         style="font-size:10px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Chandas"
+         xml:space="preserve"><tspan
+           id="tspan2552-3"
+           y="173.06616"
+           x="427.60596"
+           sodipodi:role="line">global </tspan><tspan
+           y="185.56616"
+           x="422.60596"
+           sodipodi:role="line"
+           id="tspan10573-6">threshold</tspan></text>
+      <text
+         id="text2560"
+         y="179.31616"
+         x="84.702423"
+         style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Chandas"
+         xml:space="preserve"><tspan
+           id="tspan2562"
+           y="179.31616"
+           x="84.702423"
+           sodipodi:role="line">threshold</tspan></text>
+      <g
+         transform="translate(-59.072293,-2.4239574)"
+         id="g40983">
+        <g
+           inkscape:label="Layer 1"
+           id="layer1"
+           transform="matrix(0.8247747,0,0,0.8247747,200.5759,156.06381)">
+          <path
+             transform="matrix(1.550487,0,0,1.978714,-12.4813,-32.49103)"
+             d="m 33.278212,34.94062 c 0,1.281408 -4.620126,2.320194 -10.31934,2.320194 -5.699214,0 -10.31934,-1.038786 -10.31934,-2.320194 0,-1.281407 4.620126,-2.320194 10.31934,-2.320194 5.699214,0 10.31934,1.038787 10.31934,2.320194 z"
+             sodipodi:ry="2.320194"
+             sodipodi:rx="10.31934"
+             sodipodi:cy="34.94062"
+             sodipodi:cx="22.958872"
+             id="path1361"
+             style="opacity:0.10824741;fill:url(#radialGradient41405-9);fill-opacity:1;stroke:none"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:nodetypes="ccccccccccccc"
+             id="text1314"
+             d="m 27.514356,37.542682 0,-9.02696 9.978464,-0.04018 0,-6.995324 -9.969535,0 -0.0089,-9.96017 -7.016274,0.01116 0.0045,9.931152 -9.989626,0.07366 -0.03571,6.968539 10.034269,-0.02902 0.0067,9.040353 6.996185,0.02679 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1;stroke:#3465a4;stroke-width:1.00000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccccccccccc"
+             id="path7076"
+             d="m 26.498702,36.53392 0,-9.034182 10.002602,0 -0.0067,-5.024429 -9.986977,0 0,-9.994974 -4.994834,0.01786 0.0089,9.977116 -10.026189,0.01786 -0.02679,4.97309 10.064393,0.0089 -0.01339,9.027485 4.978952,0.03125 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860213;fill:url(#linearGradient41407-1);fill-opacity:1;stroke:url(#linearGradient41409-3);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccccccc"
+             id="path7914"
+             d="m 11,25 c 0,1.9375 25.984375,-0.96875 25.984375,-0.03125 l 0,-3 L 27,22 l 0,-9.965228 -6,0 L 21,22 l -10,0 0,3 z"
+             style="opacity:0.31182796;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        </g>
+        <g
+           inkscape:label="Layer 1"
+           id="g39790"
+           transform="matrix(0.8247747,0,0,0.8247747,234.04397,156.08926)">
+          <path
+             sodipodi:nodetypes="ccccccccc"
+             id="path39792"
+             d="m 27.514356,28.359472 12.119089,0.116071 0,-6.995324 -12.11016,0 -7.020739,-0.01786 -11.9583755,0.02679 -0.035714,6.968539 12.0030185,0.01786 7.002881,-0.116071 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1;stroke:#3465a4;stroke-width:1.00000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccc"
+             id="path39794"
+             d="m 38.579429,27.484113 0.0089,-5.008804 -29.0615707,0.01786 -0.026786,4.97309 29.0794287,0.01786 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860213;fill:url(#linearGradient41411-1);fill-opacity:1;stroke:url(#linearGradient41413-7);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccc"
+             id="path39796"
+             d="m 9,25 c 0,1.9375 30.125,-0.9375 30.125,0 l 0,-3 L 9,22 9,25 z"
+             style="opacity:0.31182796;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        </g>
+      </g>
+      <g
+         transform="translate(224.20603,-2.4239574)"
+         id="g40994-4">
+        <g
+           inkscape:label="Layer 1"
+           id="g40996-7"
+           transform="matrix(0.8247747,0,0,0.8247747,200.5759,156.06381)">
+          <path
+             transform="matrix(1.550487,0,0,1.978714,-12.4813,-32.49103)"
+             d="m 33.278212,34.94062 c 0,1.281408 -4.620126,2.320194 -10.31934,2.320194 -5.699214,0 -10.31934,-1.038786 -10.31934,-2.320194 0,-1.281407 4.620126,-2.320194 10.31934,-2.320194 5.699214,0 10.31934,1.038787 10.31934,2.320194 z"
+             sodipodi:ry="2.320194"
+             sodipodi:rx="10.31934"
+             sodipodi:cy="34.94062"
+             sodipodi:cx="22.958872"
+             id="path40998-9"
+             style="opacity:0.10824741;fill:url(#radialGradient41415-4);fill-opacity:1;stroke:none"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:nodetypes="ccccccccccccc"
+             id="path41000-7"
+             d="m 27.514356,37.542682 0,-9.02696 9.978464,-0.04018 0,-6.995324 -9.969535,0 -0.0089,-9.96017 -7.016274,0.01116 0.0045,9.931152 -9.989626,0.07366 -0.03571,6.968539 10.034269,-0.02902 0.0067,9.040353 6.996185,0.02679 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1;stroke:#3465a4;stroke-width:1.00000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccccccccccc"
+             id="path41002-2"
+             d="m 26.498702,36.53392 0,-9.034182 10.002602,0 -0.0067,-5.024429 -9.986977,0 0,-9.994974 -4.994834,0.01786 0.0089,9.977116 -10.026189,0.01786 -0.02679,4.97309 10.064393,0.0089 -0.01339,9.027485 4.978952,0.03125 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860213;fill:url(#linearGradient41417-2);fill-opacity:1;stroke:url(#linearGradient41419-2);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccccccc"
+             id="path41004-2"
+             d="m 11,25 c 0,1.9375 25.984375,-0.96875 25.984375,-0.03125 l 0,-3 L 27,22 l 0,-9.965228 -6,0 L 21,22 l -10,0 0,3 z"
+             style="opacity:0.31182796;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        </g>
+        <g
+           inkscape:label="Layer 1"
+           id="g41006-1"
+           transform="matrix(0.8247747,0,0,0.8247747,234.04397,156.08926)">
+          <path
+             sodipodi:nodetypes="ccccccccc"
+             id="path41008-6"
+             d="m 27.514356,28.359472 12.119089,0.116071 0,-6.995324 -12.11016,0 -7.020739,-0.01786 -11.9583755,0.02679 -0.035714,6.968539 12.0030185,0.01786 7.002881,-0.116071 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1;stroke:#3465a4;stroke-width:1.00000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccc"
+             id="path41010-3"
+             d="m 38.579429,27.484113 0.0089,-5.008804 -29.0615707,0.01786 -0.026786,4.97309 29.0794287,0.01786 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860213;fill:url(#linearGradient41421-1);fill-opacity:1;stroke:url(#linearGradient41423-7);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccc"
+             id="path41012-0"
+             d="m 9,25 c 0,1.9375 30.125,-0.9375 30.125,0 l 0,-3 L 9,22 9,25 z"
+             style="opacity:0.31182796;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        </g>
+      </g>
+      <g
+         transform="translate(10.724981,-2.4239574)"
+         id="g41024">
+        <g
+           inkscape:label="Layer 1"
+           id="g41026"
+           transform="matrix(0.8247747,0,0,0.8247747,200.5759,156.06381)">
+          <path
+             transform="matrix(1.550487,0,0,1.978714,-12.4813,-32.49103)"
+             d="m 33.278212,34.94062 c 0,1.281408 -4.620126,2.320194 -10.31934,2.320194 -5.699214,0 -10.31934,-1.038786 -10.31934,-2.320194 0,-1.281407 4.620126,-2.320194 10.31934,-2.320194 5.699214,0 10.31934,1.038787 10.31934,2.320194 z"
+             sodipodi:ry="2.320194"
+             sodipodi:rx="10.31934"
+             sodipodi:cy="34.94062"
+             sodipodi:cx="22.958872"
+             id="path41028"
+             style="opacity:0.10824741;fill:url(#radialGradient41425-2);fill-opacity:1;stroke:none"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:nodetypes="ccccccccccccc"
+             id="path41030"
+             d="m 27.514356,37.542682 0,-9.02696 9.978464,-0.04018 0,-6.995324 -9.969535,0 -0.0089,-9.96017 -7.016274,0.01116 0.0045,9.931152 -9.989626,0.07366 -0.03571,6.968539 10.034269,-0.02902 0.0067,9.040353 6.996185,0.02679 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1;stroke:#3465a4;stroke-width:1.00000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccccccccccc"
+             id="path41032"
+             d="m 26.498702,36.53392 0,-9.034182 10.002602,0 -0.0067,-5.024429 -9.986977,0 0,-9.994974 -4.994834,0.01786 0.0089,9.977116 -10.026189,0.01786 -0.02679,4.97309 10.064393,0.0089 -0.01339,9.027485 4.978952,0.03125 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860213;fill:url(#linearGradient41427-4);fill-opacity:1;stroke:url(#linearGradient41429-1);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccccccc"
+             id="path41034"
+             d="m 11,25 c 0,1.9375 25.984375,-0.96875 25.984375,-0.03125 l 0,-3 L 27,22 l 0,-9.965228 -6,0 L 21,22 l -10,0 0,3 z"
+             style="opacity:0.31182796;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        </g>
+        <g
+           inkscape:label="Layer 1"
+           id="g41036"
+           transform="matrix(0.8247747,0,0,0.8247747,234.04397,156.08926)">
+          <path
+             sodipodi:nodetypes="ccccccccc"
+             id="path41038"
+             d="m 27.514356,28.359472 12.119089,0.116071 0,-6.995324 -12.11016,0 -7.020739,-0.01786 -11.9583755,0.02679 -0.035714,6.968539 12.0030185,0.01786 7.002881,-0.116071 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1;stroke:#3465a4;stroke-width:1.00000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccc"
+             id="path41040"
+             d="m 38.579429,27.484113 0.0089,-5.008804 -29.0615707,0.01786 -0.026786,4.97309 29.0794287,0.01786 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860213;fill:url(#linearGradient41431-6);fill-opacity:1;stroke:url(#linearGradient41433-5);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccc"
+             id="path41042"
+             d="m 9,25 c 0,1.9375 30.125,-0.9375 30.125,0 l 0,-3 L 9,22 9,25 z"
+             style="opacity:0.31182796;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        </g>
+      </g>
+      <g
+         transform="translate(84.237263,-2.4239574)"
+         id="g41054">
+        <g
+           inkscape:label="Layer 1"
+           id="g41056"
+           transform="matrix(0.8247747,0,0,0.8247747,200.5759,156.06381)">
+          <path
+             transform="matrix(1.550487,0,0,1.978714,-12.4813,-32.49103)"
+             d="m 33.278212,34.94062 c 0,1.281408 -4.620126,2.320194 -10.31934,2.320194 -5.699214,0 -10.31934,-1.038786 -10.31934,-2.320194 0,-1.281407 4.620126,-2.320194 10.31934,-2.320194 5.699214,0 10.31934,1.038787 10.31934,2.320194 z"
+             sodipodi:ry="2.320194"
+             sodipodi:rx="10.31934"
+             sodipodi:cy="34.94062"
+             sodipodi:cx="22.958872"
+             id="path41058"
+             style="opacity:0.10824741;fill:url(#radialGradient41435-7);fill-opacity:1;stroke:none"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:nodetypes="ccccccccccccc"
+             id="path41060"
+             d="m 27.514356,37.542682 0,-9.02696 9.978464,-0.04018 0,-6.995324 -9.969535,0 -0.0089,-9.96017 -7.016274,0.01116 0.0045,9.931152 -9.989626,0.07366 -0.03571,6.968539 10.034269,-0.02902 0.0067,9.040353 6.996185,0.02679 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1;stroke:#3465a4;stroke-width:1.00000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccccccccccc"
+             id="path41062"
+             d="m 26.498702,36.53392 0,-9.034182 10.002602,0 -0.0067,-5.024429 -9.986977,0 0,-9.994974 -4.994834,0.01786 0.0089,9.977116 -10.026189,0.01786 -0.02679,4.97309 10.064393,0.0089 -0.01339,9.027485 4.978952,0.03125 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860213;fill:url(#linearGradient41437-8);fill-opacity:1;stroke:url(#linearGradient41439-5);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccccccc"
+             id="path41064"
+             d="m 11,25 c 0,1.9375 25.984375,-0.96875 25.984375,-0.03125 l 0,-3 L 27,22 l 0,-9.965228 -6,0 L 21,22 l -10,0 0,3 z"
+             style="opacity:0.31182796;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        </g>
+        <g
+           inkscape:label="Layer 1"
+           id="g41066"
+           transform="matrix(0.8247747,0,0,0.8247747,234.04397,156.08926)">
+          <path
+             sodipodi:nodetypes="ccccccccc"
+             id="path41068"
+             d="m 27.514356,28.359472 12.119089,0.116071 0,-6.995324 -12.11016,0 -7.020739,-0.01786 -11.9583755,0.02679 -0.035714,6.968539 12.0030185,0.01786 7.002881,-0.116071 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1;stroke:#3465a4;stroke-width:1.00000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccc"
+             id="path41070"
+             d="m 38.579429,27.484113 0.0089,-5.008804 -29.0615707,0.01786 -0.026786,4.97309 29.0794287,0.01786 z"
+             style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860213;fill:url(#linearGradient41441-9);fill-opacity:1;stroke:url(#linearGradient41443-2);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" />
+          <path
+             sodipodi:nodetypes="ccccc"
+             id="path41072"
+             d="m 9,25 c 0,1.9375 30.125,-0.9375 30.125,0 l 0,-3 L 9,22 9,25 z"
+             style="opacity:0.31182796;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        </g>
+      </g>
+    </g>
     <path
        style="fill:none;stroke:#7f7f7f;stroke-width:0.31125888;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
        d="m 0.15212624,38.61315 499.69574376,0"
@@ -5499,17 +6273,6 @@
        height="3.681818"
        x="55.081001"
        y="200.13718" />
-    <text
-       xml:space="preserve"
-       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Chandas"
-       x="154.60439"
-       y="164.84676"
-       id="text2560-9"><tspan
-         sodipodi:role="line"
-         x="154.60439"
-         y="208.45424"
-         id="tspan3716"
-         style="font-size:10px;font-family:Chandas;-inkscape-font-specification:FreeMono">Find the three points using contour.</tspan></text>
     <g
        id="g41169"
        transform="translate(-1.9946289e-4,-7.3218317)">
@@ -5660,92 +6423,35 @@
     </g>
     <text
        xml:space="preserve"
-       style="font-size:10px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Chandas"
-       x="422.60611"
-       y="160.38669"
-       id="text2548"><tspan
-         sodipodi:role="line"
-         x="427.60611"
-         y="160.38669"
-         id="tspan2552">global </tspan><tspan
-         id="tspan10573"
+       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Chandas"
+       x="83.713249"
+       y="198.44101"
+       id="text2560-9-0"><tspan
          sodipodi:role="line"
-         x="422.60611"
-         y="172.88669">threshold</tspan></text>
-    <g
-       id="g40994"
-       transform="translate(224.20617,-15.103428)">
-      <g
-         transform="matrix(0.8247747,0,0,0.8247747,200.5759,156.06381)"
-         id="g40996"
-         inkscape:label="Layer 1">
-        <path
-           sodipodi:type="arc"
-           style="opacity:0.10824741;fill:url(#radialGradient41415);fill-opacity:1;stroke:none"
-           id="path40998"
-           sodipodi:cx="22.958872"
-           sodipodi:cy="34.94062"
-           sodipodi:rx="10.31934"
-           sodipodi:ry="2.320194"
-           d="m 33.278212,34.94062 c 0,1.281408 -4.620126,2.320194 -10.31934,2.320194 -5.699214,0 -10.31934,-1.038786 -10.31934,-2.320194 0,-1.281407 4.620126,-2.320194 10.31934,-2.320194 5.699214,0 10.31934,1.038787 10.31934,2.320194 z"
-           transform="matrix(1.550487,0,0,1.978714,-12.4813,-32.49103)" />
-        <path
-           style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1;stroke:#3465a4;stroke-width:1.00000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
-           d="m 27.514356,37.542682 0,-9.02696 9.978464,-0.04018 0,-6.995324 -9.969535,0 -0.0089,-9.96017 -7.016274,0.01116 0.0045,9.931152 -9.989626,0.07366 -0.03571,6.968539 10.034269,-0.02902 0.0067,9.040353 6.996185,0.02679 z"
-           id="path41000"
-           sodipodi:nodetypes="ccccccccccccc" />
-        <path
-           style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860213;fill:url(#linearGradient41417);fill-opacity:1;stroke:url(#linearGradient41419);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
-           d="m 26.498702,36.53392 0,-9.034182 10.002602,0 -0.0067,-5.024429 -9.986977,0 0,-9.994974 -4.994834,0.01786 0.0089,9.977116 -10.026189,0.01786 -0.02679,4.97309 10.064393,0.0089 -0.01339,9.027485 4.978952,0.03125 z"
-           id="path41002"
-           sodipodi:nodetypes="ccccccccccccc" />
-        <path
-           style="opacity:0.31182796;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-           d="m 11,25 c 0,1.9375 25.984375,-0.96875 25.984375,-0.03125 l 0,-3 L 27,22 l 0,-9.965228 -6,0 L 21,22 l -10,0 0,3 z"
-           id="path41004"
-           sodipodi:nodetypes="ccccccccc" />
-      </g>
-      <g
-         transform="matrix(0.8247747,0,0,0.8247747,234.04397,156.08926)"
-         id="g41006"
-         inkscape:label="Layer 1">
-        <path
-           style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1;stroke:#3465a4;stroke-width:1.00000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
-           d="m 27.514356,28.359472 12.119089,0.116071 0,-6.995324 -12.11016,0 -7.020739,-0.01786 -11.9583755,0.02679 -0.035714,6.968539 12.0030185,0.01786 7.002881,-0.116071 z"
-           id="path41008"
-           sodipodi:nodetypes="ccccccccc" />
-        <path
-           style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860213;fill:url(#linearGradient41421);fill-opacity:1;stroke:url(#linearGradient41423);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
-           d="m 38.579429,27.484113 0.0089,-5.008804 -29.0615707,0.01786 -0.026786,4.97309 29.0794287,0.01786 z"
-           id="path41010"
-           sodipodi:nodetypes="ccccc" />
-        <path
-           style="opacity:0.31182796;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-           d="m 9,25 c 0,1.9375 30.125,-0.9375 30.125,0 l 0,-3 L 9,22 9,25 z"
-           id="path41012"
-           sodipodi:nodetypes="ccccc" />
-      </g>
-    </g>
+         x="83.713249"
+         y="198.44101"
+         id="tspan3716-9"
+         style="font-size:10px;font-family:Chandas;-inkscape-font-specification:FreeMono">Find the three points using contour.</tspan></text>
     <text
        xml:space="preserve"
-       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Chandas"
-       x="153.44901"
-       y="184.78506"
-       id="text2560-9-5"><tspan
+       style="font-size:7.9186945px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Chandas"
+       x="325.95377"
+       y="189.95959"
+       id="text2560-9-5-2"><tspan
          sodipodi:role="line"
-         x="153.44901"
-         y="184.78506"
-         id="tspan3718-2"
-         style="font-size:12px;font-family:FreeMono;-inkscape-font-specification:FreeMono">v: View updated minimum angle</tspan><tspan
+         x="325.95377"
+         y="189.95959"
+         id="tspan3718-2-5"
+         style="font-size:9.50243378px;font-family:FreeMono;-inkscape-font-specification:FreeMono">v: View updated minimum angle</tspan><tspan
          sodipodi:role="line"
-         x="153.44901"
-         y="199.78506"
-         id="tspan3716-6"
-         style="font-size:12px;font-family:FreeMono;-inkscape-font-specification:FreeMono">d: delete it</tspan><tspan
+         x="325.95377"
+         y="201.83765"
+         id="tspan3716-6-4"
+         style="font-size:9.50243378px;font-family:FreeMono;-inkscape-font-specification:FreeMono">d: delete it</tspan><tspan
          sodipodi:role="line"
-         x="153.44901"
-         y="214.78506"
-         style="font-size:12px;font-family:FreeMono;-inkscape-font-specification:FreeMono"
-         id="tspan3769">1: help (unimplemented)</tspan></text>
+         x="325.95377"
+         y="213.71568"
+         style="font-size:9.50243378px;font-family:FreeMono;-inkscape-font-specification:FreeMono"
+         id="tspan3769-0">1: help (unimplemented)</tspan></text>
   </g>
 </svg>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]