You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(59) |
Jun
(40) |
Jul
(59) |
Aug
(81) |
Sep
(14) |
Oct
(9) |
Nov
(22) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(25) |
Feb
(3) |
Mar
(27) |
Apr
(14) |
May
(15) |
Jun
(112) |
Jul
(44) |
Aug
(7) |
Sep
(18) |
Oct
(34) |
Nov
(17) |
Dec
(20) |
2006 |
Jan
(12) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(3) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(11) |
From: Dominic L. <ma...@us...> - 2004-08-16 20:53:48
|
Update of /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31257/SymbolRecog/templates Added Files: README.TXT Log Message: first version of the demo --- NEW FILE: README.TXT --- Training data will be available soon. |
From: Dominic L. <ma...@us...> - 2004-08-16 20:53:47
|
Update of /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/n-files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31257/SymbolRecog/n-files Added Files: SymbolTracking.n trainTemplates.n Log Message: first version of the demo --- NEW FILE: SymbolTracking.n --- #!/usr/bin/env batchflow <?xml version="1.0"?> <Document> <Network type="subnet" name="MAIN"> <Node name="node_LOOP0_1" type="MAIN_LOOP" x="-3314.000000" y="-512.000000"> <Parameter name="DOWHILE" type="bool" value="" description="No description available"/> </Node> <Node name="node_LoadFile_1" type="LoadFile" x="-3709.000000" y="-481.000000"> <Parameter name="FILENAME" type="string" value="../dict/english.dict" description="No description available"/> </Node> <Node name="node_LoadFile_2" type="LoadFile" x="-3708.000000" y="-510.000000"> <Parameter name="FILENAME" type="string" value="../neural_networks/net_172_7_36.nnet" description="No description available"/> </Node> <Node name="node_LoadFile_3" type="LoadFile" x="-3709.000000" y="-538.000000"> <Parameter name="FILENAME" type="string" value="../color_lookup/black_white.data" description="No description available"/> </Node> <Link from="node_LoadFile_1" output="OUTPUT" to="node_LOOP0_1" input="DICT"/> <Link from="node_LoadFile_2" output="OUTPUT" to="node_LOOP0_1" input="NNET"/> <Link from="node_LoadFile_3" output="OUTPUT" to="node_LOOP0_1" input="BLACK_WHITE_LOOKUP"/> <NetOutput name="TILT_POSITION" node="node_LOOP0_1" terminal="TILT_POSITION" object_type="" description="Returns the current tilt position of the Camera"/> <NetOutput name="PAN_POSITION" node="node_LOOP0_1" terminal="PAN_POSITION" object_type="" description="Returns the current pan position of the Camera"/> <NetOutput name="SAVE_FLAG" node="node_LOOP0_1" terminal="SAVE_FLAG" object_type="any" description="No description available"/> <NetOutput name="OUTPUT_1_1" node="node_LOOP0_1" terminal="OUTPUT_1" object_type="any" description="No description available"/> <NetOutput name="OUTPUT4" node="node_LOOP0_1" terminal="OUTPUT4" object_type="any" description="The output object = input object"/> <NetOutput name="ZOOM" node="node_LOOP0_1" terminal="ZOOM" object_type="any" description="No description available"/> <NetOutput name="COMPONENTS_IMAGE" node="node_LOOP0_1" terminal="COMPONENTS_IMAGE" object_type="any" description="No description available"/> </Network> <Network type="subnet" name="COLOR_TRAIN"> <Node name="node_Components_1" type="Components" x="221.000000" y="48.000000"> <Parameter name="XGAP" type="int" value="2" description=""/> <Parameter name="YGAP" type="int" value="2" description=""/> <Parameter name="NUM_COLOR" type="int" value="4" description=""/> <Parameter name="MIN_AREA" type="int" value="16" description=""/> </Node> <Node name="node_ComponentsViewer_1" type="ComponentsViewer" x="432.000000" y="40.000000"/> <Node name="node_ColorTrain_1" type="ColorTrain" x="-155.000000" y="62.000000"> <Parameter name="LOAD_LOOKUP" type="subnet_param" value="COLOR_SAVE_FILENAME" description=""/> <Parameter name="HEIGHT" type="int" value="240" description=""/> <Parameter name="WIDTH" type="int" value="320" description=""/> <Parameter name="BREAK_AT" type="int" value="" description=""/> <Parameter name="SHOW" type="bool" value="true" description=""/> <Parameter name="SKIP" type="int" value="" description=""/> <Parameter name="H_DELTA" type="float" value="10.0" description=""/> <Parameter name="S_DELTA" type="float" value="0.30" description=""/> <Parameter name="V_DELTA" type="float" value="0.30" description=""/> <Parameter name="HSV_TRAINING" type="bool" value="true" description=""/> </Node> <Node name="node_Save_1" type="Save" x="321.000000" y="229.000000"> <Parameter name="PRETTY_PRINT" type="bool" value="false" description=""/> </Node> <Node name="node_OutputStream_1" type="OutputStream" x="143.000000" y="236.000000"> <Parameter name="TYPE" type="String" value="" description=""/> </Node> <Node name="node_Constant_1" type="Constant" x="28.000000" y="236.000000"> <Parameter name="VALUE" type="subnet_param" value="COLOR_SAVE_FILENAME" description=""/> </Node> <Node name="node_IF_1" type="IF" x="706.000000" y="177.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description=""/> </Node> <Node name="node_NoCommand_1" type="NoCommand" x="514.000000" y="237.000000"/> <Node name="node_ImageProbeSDL_1" type="ImageProbeSDL" x="601.000000" y="40.000000"> <Parameter name="HEIGHT" type="int" value="240" description="The height of the image"/> <Parameter name="WIDTH" type="int" value="320" description="The width of the image"/> </Node> <Node name="node_NOP_1" type="NOP" x="699.000000" y="113.000000"/> <Node name="node_NOP_2" type="NOP" x="705.000000" y="40.000000"/> <Node name="node_NOP_3" type="NOP" x="597.000000" y="-30.000000"/> <Link from="node_ColorTrain_1" output="OUTPUT" to="node_Components_1" input="IMAGE"/> <Link from="node_ColorTrain_1" output="LOOKUP" to="node_Components_1" input="LOOKUP"/> <Link from="node_Components_1" output="BLOBS" to="node_ComponentsViewer_1" input="DATA"/> <Link from="node_ColorTrain_1" output="LOOKUP" to="node_Save_1" input="OBJECT">-61.5 54.5 115 72 163 221 255.5 221.5 </Link> <Link from="node_OutputStream_1" output="OUTPUT" to="node_Save_1" input="STREAM"/> <Link from="node_Constant_1" output="VALUE" to="node_OutputStream_1" input="INPUT"/> <Link from="node_ColorTrain_1" output="SAVE_FLAG" to="node_IF_1" input="COND">-61.5 69.5 -52 160 658.5 162 </Link> <Link from="node_Save_1" output="OUTPUT" to="node_IF_1" input="THEN"/> <Link from="node_NoCommand_1" output="OUTPUT" to="node_IF_1" input="ELSE"/> <Link from="node_ComponentsViewer_1" output="IMAGE" to="node_ImageProbeSDL_1" input="INPUT"/> <Link from="node_ColorTrain_1" output="LOOKUP" to="node_ComponentsViewer_1" input="LOOKUP">-60 52 33 9 237 9 331 32.5 </Link> <Link from="node_Components_1" output="BLOBS" to="node_NOP_1" input="INPUT">257.5 48 334 113 682.5 113 </Link> <Link from="node_ImageProbeSDL_1" output="OUTPUT" to="node_NOP_2" input="INPUT"/> <Link from="node_ColorTrain_1" output="LOOKUP" to="node_NOP_3" input="INPUT">-62 53 42 -29 580.5 -30 </Link> <NetOutput name="SAVE_FLAG" node="node_IF_1" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> <NetInput name="IMAGE_IN" node="node_ColorTrain_1" terminal="INPUT" object_type="any" description="No description available"/> <NetOutput name="COLOR_ID_SELECTED" node="node_ColorTrain_1" terminal="COLOR_ID" object_type="int" description="The color id selected"/> <NetOutput name="COMPONENTS" node="node_NOP_1" terminal="OUTPUT" object_type="any" description="The output = The input"/> <NetOutput name="COMPONENTS_IMAGE" node="node_NOP_2" terminal="OUTPUT" object_type="any" description="The output = The input"/> <NetOutput name="LOOKUP" node="node_NOP_3" terminal="OUTPUT" object_type="any" description="The output = The input"/> </Network> <Network type="iterator" name="MAIN_LOOP"> <Node name="node_SNCRZ30_1" type="SNCRZ30" x="-561.000000" y="196.000000"> <Parameter name="PAN_SPEED" type="int" value="24" description="Pan speed 0-24"/> <Parameter name="TILT_SPEED" type="int" value="20" description="Tilt speed 0-20"/> <Parameter name="HOST" type="string" value="192.168.1.149" description="No Description Available"/> <Parameter name="CONTINUOUS" type="bool" value="true" description="Continuously grab images "/> <Parameter name="WAIT_REPLY" type="bool" value="false" description="Wait for camera reply on commands"/> </Node> <Node name="node_PTZControl_1" type="PTZControl" x="-1002.000000" y="188.000000"> <Parameter name="MIN_ZOOM_SLIDER_VAL" type="int" value="0" description="The command to send when in "WIDE" mode"/> <Parameter name="MAX_ZOOM_SLIDER_VAL" type="int" value="16384" description="The command to send when in "TELE" mode"/> </Node> <Node name="node_SUBNET0_1" type="COLOR_TRAIN" x="-343.000000" y="253.000000"> <Parameter name="COLOR_SAVE_FILENAME" type="string" value="../color_lookup/colors.data" description=""/> </Node> <Node name="node_PAN_TILT_CTRL_1" type="PAN_TILT_CTRL" x="202.000000" y="122.000000"/> <Node name="node_Subsumption_1" type="Subsumption" x="32.000000" y="22.000000"/> <Node name="node_Subsumption_2" type="Subsumption" x="-262.000000" y="541.000000"/> <Node name="node_NOP_1" type="NOP" x="354.000000" y="105.000000"/> <Node name="node_NOP_2" type="NOP" x="402.000000" y="137.000000"/> <Node name="node_Feedback_1" type="Feedback" x="532.000000" y="114.000000"> <Parameter name="DELAY" type="int" value="1" description="Number of iteration for the delay"/> <Parameter name="BEFORE_LIMIT" type="int" value="0" description="When count - DELAY is smaller or equal to BEFORE_LIMIT, the input is pulled from BEFORE at (DELAY - count + BEFORE_LIMIT)"/> </Node> <Node name="node_NilObject_2" type="NilObject" x="365.000000" y="182.000000"/> <Node name="node_Feedback_2" type="Feedback" x="564.000000" y="174.000000"> <Parameter name="DELAY" type="int" value="1" description="Number of iteration for the delay"/> <Parameter name="BEFORE_LIMIT" type="int" value="0" description="When count - DELAY is smaller or equal to BEFORE_LIMIT, the input is pulled from BEFORE at (DELAY - count + BEFORE_LIMIT)"/> </Node> <Node name="node_SKIP_N_1" type="SKIP_N" x="-454.000000" y="549.000000"> <Parameter name="SKIP_N" type="int" value="10" description="The value"/> </Node> <Node name="node_SKIP_N_2" type="SKIP_N" x="-153.000000" y="-27.000000"> <Parameter name="SKIP_N" type="int" value="10" description="The value"/> </Node> <Node name="node_Constant_1" type="Constant" x="-936.000000" y="-33.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_Feedback_3" type="Feedback" x="573.000000" y="398.000000"> <Parameter name="DELAY" type="int" value="1" description="Number of iteration for the delay"/> <Parameter name="BEFORE_LIMIT" type="int" value="0" description="When count - DELAY is smaller or equal to BEFORE_LIMIT, the input is pulled from BEFORE at (DELAY - count + BEFORE_LIMIT)"/> </Node> <Node name="node_NilObject_3" type="NilObject" x="393.000000" y="407.000000"/> <Node name="node_Subsumption_3" type="Subsumption" x="-774.000000" y="456.000000"/> <Node name="node_SKIP_N_3" type="SKIP_N" x="-1055.000000" y="463.000000"> <Parameter name="SKIP_N" type="int" value="10" description="The value"/> </Node> <Node name="node_MULTI_SIGN_TRACKING_1" type="MULTI_SIGN_TRACKING" x="-117.000000" y="115.000000"/> <Node name="node_ZOOM_FACTOR_1" type="ZOOM_FACTOR" x="-102.000000" y="205.000000"/> <Node name="node_RGB242RGB15_1" type="RGB242RGB15" x="-472.000000" y="304.000000"/> <Node name="node_PROCESS_SEGMENTS_1" type="PROCESS_SEGMENTS" x="262.000000" y="321.000000"/> <Link from="node_PTZControl_1" output="ABS_PAN" to="node_SNCRZ30_1" input="PAN_ABS_POS"/> <Link from="node_PTZControl_1" output="ABS_TILT" to="node_SNCRZ30_1" input="TILT_ABS_POS"/> <Link from="node_PTZControl_1" output="REL_PAN" to="node_Subsumption_1" input="HIGH_PRIORITY"/> <Link from="node_Subsumption_1" output="OUTPUT" to="node_SNCRZ30_1" input="PAN_REL_POS"/> <Link from="node_PTZControl_1" output="REL_TILT" to="node_Subsumption_2" input="HIGH_PRIORITY"/> <Link from="node_PAN_TILT_CTRL_1" output="REL_TILT" to="node_NOP_2" input="INPUT"/> <Link from="node_PAN_TILT_CTRL_1" output="REL_PAN" to="node_NOP_1" input="INPUT"/> <Link from="node_NOP_1" output="OUTPUT" to="node_Feedback_1" input="INPUT"/> <Link from="node_NilObject_2" output="VALUE" to="node_Feedback_1" input="BEFORE"/> <Link from="node_NOP_2" output="OUTPUT" to="node_Feedback_2" input="INPUT"/> <Link from="node_NilObject_2" output="VALUE" to="node_Feedback_2" input="BEFORE"/> <Link from="node_SKIP_N_1" output="OUTPUT" to="node_Subsumption_2" input="LOW_PRIORITY"/> <Link from="node_Subsumption_2" output="OUTPUT" to="node_SNCRZ30_1" input="TILT_REL_POS"/> <Link from="node_Feedback_2" output="DELAY" to="node_SKIP_N_1" input="INPUT">639 181.5 664 770 -485 764 -481 551 </Link> <Link from="node_SKIP_N_2" output="OUTPUT" to="node_Subsumption_1" input="LOW_PRIORITY"/> <Link from="node_Feedback_1" output="DELAY" to="node_SKIP_N_2" input="INPUT"/> <Link from="node_SNCRZ30_1" output="ZOOM_POSITION" to="node_PAN_TILT_CTRL_1" input="CURRENT_ZOOM">-445 203.5 -187 205 -187 151 72.5 152 </Link> <Link from="node_NilObject_3" output="VALUE" to="node_Feedback_3" input="BEFORE"/> <Link from="node_PTZControl_1" output="ABS_ZOOM" to="node_Subsumption_3" input="HIGH_PRIORITY"/> <Link from="node_SKIP_N_3" output="OUTPUT" to="node_Subsumption_3" input="LOW_PRIORITY"/> <Link from="node_Subsumption_3" output="OUTPUT" to="node_SNCRZ30_1" input="ZOOM"/> <Link from="node_Feedback_3" output="DELAY" to="node_SKIP_N_3" input="INPUT">667.5 405.5 801 405 801 633 -1165 631 -1165 463 -1082.5 463 </Link> <Link from="node_PAN_TILT_CTRL_1" output="ABS_ZOOM" to="node_Feedback_3" input="INPUT"/> <Link from="node_SUBNET0_1" output="COMPONENTS" to="node_MULTI_SIGN_TRACKING_1" input="COMPONENTS"/> <Link from="node_MULTI_SIGN_TRACKING_1" output="BOUNDARY" to="node_PAN_TILT_CTRL_1" input="BOUNDARY"/> <Link from="node_MULTI_SIGN_TRACKING_1" output="DELTA_Y" to="node_PAN_TILT_CTRL_1" input="DELTA_Y"/> <Link from="node_MULTI_SIGN_TRACKING_1" output="DELTA_X" to="node_PAN_TILT_CTRL_1" input="DELTA_X"/> <Link from="node_ZOOM_FACTOR_1" output="ZOOM_FACTOR" to="node_PAN_TILT_CTRL_1" input="ZOOM_FACTOR"/> <Link from="node_SNCRZ30_1" output="ZOOM_POSITION" to="node_ZOOM_FACTOR_1" input="ABS_ZOOM_VALUE"/> <Link from="node_RGB242RGB15_1" output="RGB15_IMAGE" to="node_SUBNET0_1" input="IMAGE_IN"/> <Link from="node_SNCRZ30_1" output="IMAGE" to="node_RGB242RGB15_1" input="RGB24_IMAGE"/> <Link from="node_RGB242RGB15_1" output="RGB15_IMAGE" to="node_PROCESS_SEGMENTS_1" input="IMAGE"/> <Link from="node_MULTI_SIGN_TRACKING_1" output="COMPONENTS" to="node_PROCESS_SEGMENTS_1" input="SYMBOLS_COMPONENTS"/> <NetOutput name="TILT_POSITION" node="node_SNCRZ30_1" terminal="TILT_POSITION" object_type="int" description="Returns the current tilt position of the Camera"/> <NetOutput name="PAN_POSITION" node="node_SNCRZ30_1" terminal="PAN_POSITION" object_type="int" description="Returns the current pan position of the Camera"/> <NetOutput name="SAVE_FLAG" node="node_SUBNET0_1" terminal="SAVE_FLAG" object_type="" description="The object from THEN or ELSE depending on COND"/> <NetOutput name="OUTPUT4" node="node_Feedback_2" terminal="OUTPUT" object_type="any" description="The output object = input object"/> <NetOutput name="OUTPUT_1" node="node_Feedback_1" terminal="OUTPUT" object_type="any" description="The output object = input object"/> <NetCondition name="CONDITION" node="node_Constant_1" terminal="VALUE"/> <NetOutput name="ZOOM" node="node_Feedback_3" terminal="OUTPUT" object_type="any" description="The output object = input object"/> <NetOutput name="COMPONENTS_IMAGE" node="node_SUBNET0_1" terminal="COMPONENTS_IMAGE" object_type="any" description="No description available"/> <NetOutput name="SENTENCE" node="node_PROCESS_SEGMENTS_1" terminal="SENTENCE" object_type="" description="The object from THEN or ELSE depending on COND"/> <NetOutput name="ORIGINAL_TEXT" node="node_PROCESS_SEGMENTS_1" terminal="ORIGINAL_TEXT" object_type="" description="The object from THEN or ELSE depending on COND"/> <NetInput name="BLACK_WHITE_LOOKUP" node="node_PROCESS_SEGMENTS_1" terminal="LOOKUP" object_type="" description="No description available"/> <NetInput name="NNET" node="node_PROCESS_SEGMENTS_1" terminal="NNET" object_type="" description="No description available"/> <NetInput name="DICT" node="node_PROCESS_SEGMENTS_1" terminal="DICT" object_type="" description="No description available"/> </Network> <Network type="subnet" name="PAN_TILT_CTRL"> <Node name="node_GenericPID_1" type="GenericPID" x="-605.000000" y="-237.000000"> <Parameter name="P_GAIN" type="float" value="0.5" description="Proportionnal gain."/> <Parameter name="I_GAIN" type="float" value="0.0" description="Integral gain."/> <Parameter name="D_GAIN" type="float" value="0.0" description="Derivative gain."/> <Parameter name="I_MAX" type="float" value="100" description="The maximum Integral value."/> </Node> <Node name="node_Constant_1" type="Constant" x="-800.000000" y="-229.000000"> <Parameter name="VALUE" type="bool" value="false" description="The value"/> </Node> <Node name="node_GenericPID_2" type="GenericPID" x="-608.000000" y="-154.000000"> <Parameter name="P_GAIN" type="float" value="0.5" description="Proportionnal gain."/> <Parameter name="I_GAIN" type="float" value="0.0" description="Integral gain."/> <Parameter name="D_GAIN" type="float" value="0.0" description="Derivative gain."/> <Parameter name="I_MAX" type="float" value="100" description="The maximum Integral value."/> </Node> <Node name="node_Constant_2" type="Constant" x="-796.000000" y="-146.000000"> <Parameter name="VALUE" type="bool" value="false" description="The value"/> </Node> <Node name="node_NOP_1" type="NOP" x="-1393.000000" y="-271.000000"/> <Node name="node_NOP_2" type="NOP" x="-1393.000000" y="-183.000000"/> <Node name="node_NOP_3" type="NOP" x="-1393.000000" y="-153.000000"/> <Node name="node_IF_1" type="IF" x="-294.000000" y="-253.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_isNil_1" type="isNil" x="-401.000000" y="-270.000000"/> <Node name="node_NilObject_1" type="NilObject" x="-507.000000" y="-254.000000"/> <Node name="node_IF_2" type="IF" x="-296.000000" y="-168.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_isNil_2" type="isNil" x="-406.000000" y="-184.000000"/> <Node name="node_NilObject_2" type="NilObject" x="-485.000000" y="-168.000000"/> <Node name="node_TEST_SCALING_1" type="AUTO_SCALE" x="-921.000000" y="-245.000000"/> <Node name="node_TEST_SCALING_2" type="AUTO_SCALE" x="-916.000000" y="-161.000000"/> <Node name="node_NOP_4" type="NOP" x="-1392.000000" y="-85.000000"/> <Node name="node_NOP_5" type="NOP" x="-1395.000000" y="39.000000"/> <Node name="node_TEST_ZOOMING_1" type="AUTO_ZOOM" x="-936.000000" y="-61.000000"/> <Node name="node_Add_1" type="Add" x="-609.000000" y="-54.000000"/> <Node name="node_IF_3" type="IF" x="-294.000000" y="-70.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_isNil_3" type="isNil" x="-418.000000" y="-84.000000"/> <Node name="node_NilObject_3" type="NilObject" x="-504.000000" y="-70.000000"/> <Link from="node_Constant_1" output="VALUE" to="node_GenericPID_1" input="RESET"/> <Link from="node_Constant_2" output="VALUE" to="node_GenericPID_2" input="RESET"/> <Link from="node_isNil_1" output="OUTPUT" to="node_IF_1" input="COND"/> <Link from="node_NOP_1" output="OUTPUT" to="node_isNil_1" input="INPUT"/> <Link from="node_NilObject_1" output="VALUE" to="node_IF_1" input="THEN"/> <Link from="node_isNil_2" output="OUTPUT" to="node_IF_2" input="COND"/> <Link from="node_NilObject_2" output="VALUE" to="node_IF_2" input="THEN"/> <Link from="node_NOP_2" output="OUTPUT" to="node_isNil_2" input="INPUT"/> <Link from="node_NOP_1" output="OUTPUT" to="node_TEST_SCALING_1" input="DELTA"/> <Link from="node_NOP_3" output="OUTPUT" to="node_TEST_SCALING_1" input="ZOOM_FACTOR"/> <Link from="node_NOP_2" output="OUTPUT" to="node_TEST_SCALING_2" input="DELTA"/> <Link from="node_NOP_3" output="OUTPUT" to="node_TEST_SCALING_2" input="ZOOM_FACTOR"/> <Link from="node_TEST_SCALING_2" output="SCALE" to="node_GenericPID_2" input="EPSILON"/> <Link from="node_TEST_SCALING_1" output="SCALE" to="node_GenericPID_1" input="EPSILON"/> <Link from="node_GenericPID_2" output="OUTPUT" to="node_IF_2" input="ELSE"/> <Link from="node_GenericPID_1" output="OUTPUT" to="node_IF_1" input="ELSE"/> <Link from="node_NOP_1" output="OUTPUT" to="node_TEST_ZOOMING_1" input="DELTA_X"/> <Link from="node_NOP_2" output="OUTPUT" to="node_TEST_ZOOMING_1" input="DELTA_Y"/> <Link from="node_NOP_4" output="OUTPUT" to="node_TEST_ZOOMING_1" input="BOUNDARY"/> <Link from="node_TEST_ZOOMING_1" output="REL_ZOOM" to="node_Add_1" input="INPUT1"/> <Link from="node_NOP_5" output="OUTPUT" to="node_Add_1" input="INPUT2"/> <Link from="node_isNil_3" output="OUTPUT" to="node_IF_3" input="COND"/> <Link from="node_NOP_4" output="OUTPUT" to="node_isNil_3" input="INPUT"/> <Link from="node_NilObject_3" output="VALUE" to="node_IF_3" input="THEN"/> <Link from="node_Add_1" output="OUTPUT" to="node_IF_3" input="ELSE"/> <NetInput name="DELTA_X" node="node_NOP_1" terminal="INPUT" object_type="any" description="The input"/> <NetInput name="DELTA_Y" node="node_NOP_2" terminal="INPUT" object_type="any" description="The input"/> <NetInput name="ZOOM_FACTOR" node="node_NOP_3" terminal="INPUT" object_type="any" description="The input"/> <NetOutput name="REL_PAN" node="node_IF_1" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> <NetOutput name="REL_TILT" node="node_IF_2" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> <NetInput name="BOUNDARY" node="node_NOP_4" terminal="INPUT" object_type="any" description="The input"/> <NetInput name="CURRENT_ZOOM" node="node_NOP_5" terminal="INPUT" object_type="any" description="The input"/> <NetOutput name="ABS_ZOOM" node="node_IF_3" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> </Network> <Network type="subnet" name="SKIP_N"> <Node name="node_IF_1" type="IF" x="890.000000" y="-24.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Equal_1" type="Equal" x="768.000000" y="-53.000000"/> <Node name="node_Constant_1" type="Constant" x="600.000000" y="-36.000000"> <Parameter name="VALUE" type="int" value="0" description="The value"/> </Node> <Node name="node_IterCount_1" type="IterCount" x="292.000000" y="-77.000000"/> <Node name="node_Modulo_1" type="Modulo" x="609.000000" y="-69.000000"/> <Node name="node_Constant_2" type="Constant" x="397.000000" y="-62.000000"> <Parameter name="VALUE" type="subnet_param" value="SKIP_N" description="The value"/> </Node> <Node name="node_NilObject_1" type="NilObject" x="732.000000" y="55.000000"/> <Link from="node_Equal_1" output="OUTPUT" to="node_IF_1" input="COND"/> <Link from="node_NilObject_1" output="VALUE" to="node_IF_1" input="ELSE"/> <Link from="node_Modulo_1" output="REMAINDER" to="node_Equal_1" input="INPUT1"/> <Link from="node_Constant_1" output="VALUE" to="node_Equal_1" input="INPUT2"/> <Link from="node_IterCount_1" output="OUTPUT" to="node_Modulo_1" input="DIVIDEND"/> <Link from="node_Constant_2" output="VALUE" to="node_Modulo_1" input="DIVISOR"/> <NetInput name="INPUT" node="node_IF_1" terminal="THEN" object_type="any" description="What to do if the condition is true"/> <NetOutput name="OUTPUT" node="node_IF_1" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> </Network> <Network type="subnet" name="AUTO_SCALE"> <Node name="node_NOP_1" type="NOP" x="-257.000000" y="-156.000000"/> <Node name="node_NOP_2" type="NOP" x="-746.000000" y="-100.000000"/> <Node name="node_Power_1" type="Power" x="-283.000000" y="-95.000000"/> <Node name="node_Mul_1" type="Mul" x="-432.000000" y="-86.000000"/> <Node name="node_Constant_2" type="Constant" x="-597.000000" y="16.000000"> <Parameter name="VALUE" type="float" value="-1" description="The value"/> </Node> <Node name="node_NOP_3" type="NOP" x="115.000000" y="-152.000000"/> <Node name="node_Constant_3" type="Constant" x="-446.000000" y="-136.000000"> <Parameter name="VALUE" type="float" value="1.1" description="The value"/> </Node> <Node name="node_Mul_2" type="Mul" x="-66.000000" y="-150.000000"/> <Node name="node_Sub_1" type="Sub" x="-571.000000" y="-92.000000"/> <Node name="node_Constant_1" type="Constant" x="-730.000000" y="-60.000000"> <Parameter name="VALUE" type="float" value="1" description="The value"/> </Node> <Link from="node_Mul_1" output="OUTPUT" to="node_Power_1" input="EXP"/> <Link from="node_Constant_2" output="VALUE" to="node_Mul_1" input="INPUT2"/> <Link from="node_Constant_3" output="VALUE" to="node_Power_1" input="BASE"/> <Link from="node_NOP_1" output="OUTPUT" to="node_Mul_2" input="INPUT1"/> <Link from="node_Power_1" output="OUTPUT" to="node_Mul_2" input="INPUT2"/> <Link from="node_Sub_1" output="OUTPUT" to="node_Mul_1" input="INPUT1"/> <Link from="node_NOP_2" output="OUTPUT" to="node_Sub_1" input="INPUT1"/> <Link from="node_Constant_1" output="VALUE" to="node_Sub_1" input="INPUT2"/> <Link from="node_Mul_2" output="OUTPUT" to="node_NOP_3" input="INPUT"/> <NetInput name="DELTA" node="node_NOP_1" terminal="INPUT" object_type="any" description="The input"/> <NetInput name="ZOOM_FACTOR" node="node_NOP_2" terminal="INPUT" object_type="any" description="The input"/> <NetOutput name="SCALE" node="node_NOP_3" terminal="OUTPUT" object_type="any" description="The output = The input"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> </Network> <Network type="subnet" name="AUTO_ZOOM"> <Node name="node_IF_1" type="IF" x="-378.000000" y="-90.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_AND_1" type="AND" x="-780.000000" y="-97.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_Smaller_1" type="Smaller" x="-965.000000" y="-103.000000"/> <Node name="node_NOP_1" type="NOP" x="-1404.000000" y="-109.000000"/> <Node name="node_NOP_2" type="NOP" x="-1405.000000" y="-49.000000"/> <Node name="node_NOP_3" type="NOP" x="-1300.000000" y="-198.000000"/> <Node name="node_Constant_2" type="Constant" x="-1183.000000" y="-94.000000"> <Parameter name="VALUE" type="float" value="10" description="The value"/> </Node> <Node name="node_Smaller_2" type="Smaller" x="-966.000000" y="-42.000000"/> <Node name="node_AND_2" type="AND" x="-614.000000" y="-105.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="false" description="Pull on INPUT2 even if INPUT1 is false"/> </Node> <Node name="node_Greater_1" type="Greater" x="-797.000000" y="-192.000000"/> <Node name="node_Constant_3" type="Constant" x="-1058.000000" y="-162.000000"> <Parameter name="VALUE" type="int" value="15" description="The value"/> </Node> <Node name="node_Constant_4" type="Constant" x="-641.000000" y="-66.000000"> <Parameter name="VALUE" type="int" value="25" description="The value"/> </Node> <Node name="node_Constant_5" type="Constant" x="-808.000000" y="86.000000"> <Parameter name="VALUE" type="int" value="-200" description="The value"/> </Node> <Node name="node_IF_2" type="IF" x="-563.000000" y="72.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Constant_6" type="Constant" x="-708.000000" y="72.000000"> <Parameter name="VALUE" type="int" value="0" description="The value"/> </Node> <Node name="node_ABS_1" type="ABS" x="-1284.000000" y="-109.000000"/> <Node name="node_ABS_2" type="ABS" x="-1282.000000" y="-49.000000"/> <Node name="node_Mul_1" type="Mul" x="-505.000000" y="-58.000000"/> <Link from="node_Smaller_1" output="OUTPUT" to="node_AND_1" input="INPUT1"/> <Link from="node_Constant_2" output="VALUE" to="node_Smaller_1" input="INPUT2"/> <Link from="node_Smaller_2" output="OUTPUT" to="node_AND_1" input="INPUT2"/> <Link from="node_AND_2" output="OUTPUT" to="node_IF_1" input="COND"/> <Link from="node_Greater_1" output="OUTPUT" to="node_AND_2" input="INPUT1"/> <Link from="node_NOP_3" output="OUTPUT" to="node_Greater_1" input="INPUT1"/> <Link from="node_Constant_3" output="VALUE" to="node_Greater_1" input="INPUT2"/> <Link from="node_IF_2" output="OUTPUT" to="node_IF_1" input="ELSE"/> <Link from="node_Greater_1" output="OUTPUT" to="node_IF_2" input="COND"/> <Link from="node_Constant_6" output="VALUE" to="node_IF_2" input="THEN"/> <Link from="node_NOP_1" output="OUTPUT" to="node_ABS_1" input="INPUT"/> <Link from="node_ABS_1" output="OUTPUT" to="node_Smaller_1" input="INPUT1"/> <Link from="node_NOP_2" output="OUTPUT" to="node_ABS_2" input="INPUT"/> <Link from="node_Constant_2" output="VALUE" to="node_Smaller_2" input="INPUT2">-1149 -94 -1149 -36 -1049.5 -34.5 </Link> <Link from="node_ABS_2" output="OUTPUT" to="node_Smaller_2" input="INPUT1"/> <Link from="node_AND_1" output="OUTPUT" to="node_AND_2" input="INPUT2"/> <Link from="node_Constant_4" output="VALUE" to="node_Mul_1" input="INPUT1"/> <Link from="node_Mul_1" output="OUTPUT" to="node_IF_1" input="THEN"/> <Link from="node_NOP_3" output="OUTPUT" to="node_Mul_1" input="INPUT2">-1283 -198 -751 -50 -575 -50.5 </Link> <Link from="node_Constant_5" output="VALUE" to="node_IF_2" input="ELSE"/> <NetInput name="DELTA_X" node="node_NOP_1" terminal="INPUT" object_type="any" description="The input"/> <NetInput name="DELTA_Y" node="node_NOP_2" terminal="INPUT" object_type="any" description="The input"/> <NetInput name="BOUNDARY" node="node_NOP_3" terminal="INPUT" object_type="any" description="The input"/> <NetOutput name="REL_ZOOM" node="node_IF_1" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> </Network> <Network type="subnet" name="ABS"> <Node name="node_IF_1" type="IF" x="-241.000000" y="-18.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_Mul_1" type="Mul" x="-397.000000" y="-19.000000"/> <Node name="node_Constant_1" type="Constant" x="-603.000000" y="-11.000000"> <Parameter name="VALUE" type="float" value="-1" description="The value"/> </Node> <Node name="node_NOP_1" type="NOP" x="-911.000000" y="-109.000000"/> <Node name="node_Smaller_1" type="Smaller" x="-389.000000" y="-100.000000"/> <Node name="node_Constant_2" type="Constant" x="-604.000000" y="-91.000000"> <Parameter name="VALUE" type="float" value="0" description="The value"/> </Node> <Link from="node_Constant_1" output="VALUE" to="node_Mul_1" input="INPUT2"/> <Link from="node_Smaller_1" output="OUTPUT" to="node_IF_1" input="COND"/> <Link from="node_NOP_1" output="OUTPUT" to="node_Smaller_1" input="INPUT1"/> <Link from="node_Constant_2" output="VALUE" to="node_Smaller_1" input="INPUT2"/> <Link from="node_Mul_1" output="OUTPUT" to="node_IF_1" input="THEN"/> <Link from="node_NOP_1" output="OUTPUT" to="node_Mul_1" input="INPUT1"/> <Link from="node_NOP_1" output="OUTPUT" to="node_IF_1" input="ELSE">-892 -109 -686 161 -494 161 -296 -3 </Link> <NetInput name="INPUT" node="node_NOP_1" terminal="INPUT" object_type="any" description="The input"/> <NetOutput name="OUTPUT" node="node_IF_1" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> </Network> <Network type="subnet" name="SENTENCE_READER"> <Node name="node_Components_1" type="Components" x="-438.000000" y="298.000000"> <Parameter name="XGAP" type="int" value="1" description=""/> <Parameter name="YGAP" type="int" value="1" description=""/> <Parameter name="NUM_COLOR" type="int" value="2" description=""/> <Parameter name="MIN_AREA" type="int" value="16" description=""/> </Node> <Node name="node_NewAccumulator_1" type="NewAccumulator" x="-221.000000" y="330.000000"/> <Node name="node_SymbolCounter_1" type="SymbolCounter" x="-289.000000" y="386.000000"> <Parameter name="CHANNEL" type="int" value="1" description=""/> <Parameter name="DEPTH" type="int" value="2" description=""/> </Node> <Node name="node_STRING_EXTRACTOR_1" type="STRING_EXTRACTOR" x="86.000000" y="321.000000"> <Parameter name="DOWHILE" type="bool" value="" description="No description available"/> </Node> <Node name="node_NOP_1" type="NOP" x="-1262.000000" y="234.000000"/> <Node name="node_Binarize_1" type="Binarize" x="-964.000000" y="227.000000"/> <Node name="node_FIND_THRESHOLD_1" type="FIND_THRESHOLD" x="-1160.000000" y="185.000000"/> <Node name="node_ExtractSentence_v2_1" type="ExtractSentence_v2" x="440.000000" y="329.000000"> <Parameter name="VERTICAL_TOLERANCE" type="float" value="0.5" description=""/> <Parameter name="HORIZONTAL_TOLERANCE" type="float" value="0.5" description=""/> </Node> <Node name="node_ImageProbe_1" type="ImageProbe" x="-755.000000" y="292.000000"> <Parameter name="HEIGHT" type="int" value="240" description="The height of the image"/> <Parameter name="WIDTH" type="int" value="320" description="The width of the image"/> <Parameter name="BREAK_AT" type="int" value="" description="No description available"/> <Parameter name="SHOW" type="bool" value="true" description="No description available"/> <Parameter name="SKIP" type="int" value="" description="No description available"/> </Node> <Node name="node_NilObject_1" type="NilObject" x="-974.000000" y="300.000000"/> <Link from="node_Components_1" output="BLOBS" to="node_SymbolCounter_1" input="DATA"/> <Link from="node_NewAccumulator_1" output="OUTPUT" to="node_STRING_EXTRACTOR_1" input="ACCUM"/> <Link from="node_Components_1" output="BLOBS" to="node_STRING_EXTRACTOR_1" input="DATA"/> <Link from="node_FIND_THRESHOLD_1" output="THRESHOLD" to="node_Binarize_1" input="THRESHOLD"/> <Link from="node_NOP_1" output="OUTPUT" to="node_Binarize_1" input="IMAGE_IN"/> <Link from="node_NOP_1" output="OUTPUT" to="node_FIND_THRESHOLD_1" input="IMAGE_IN"/> <Link from="node_STRING_EXTRACTOR_1" output="ACCUM_OUT" to="node_ExtractSentence_v2_1" input="SYMBOL_LIST"/> <Link from="node_SymbolCounter_1" output="COUNT" to="node_STRING_EXTRACTOR_1" input="SYMBOL_COUNT"/> <Link from="node_ImageProbe_1" output="OUTPUT" to="node_Components_1" input="IMAGE"/> <Link from="node_Binarize_1" output="IMAGE_OUT" to="node_ImageProbe_1" input="INPUT"/> <Link from="node_NilObject_1" output="VALUE" to="node_ImageProbe_1" input="SAVE_FILENAME"/> <NetInput name="IMAGE_IN" node="node_NOP_1" terminal="INPUT" object_type="any" description="No description available"/> <NetInput name="BLANC_LOOKUP" node="node_Components_1" terminal="LOOKUP" object_type="any" description="No description available"/> <NetInput name="NNET" node="node_STRING_EXTRACTOR_1" terminal="NNET" object_type="any" description="No description available"/> <NetInput name="DICT" node="node_ExtractSentence_v2_1" terminal="DICT" object_type="any" description="No description available"/> <NetOutput name="SENTENCE" node="node_ExtractSentence_v2_1" terminal="SENTENCE" object_type="string" description="A string corresponding to the sentence read"/> <NetOutput name="ORIGINAL_TEXT" node="node_ExtractSentence_v2_1" terminal="ORIGINAL_TEXT" object_type="string" description="Original Text one letter at a time."/> </Network> <Network type="subnet" name="EXTRA_INFO"> <Node name="node_Div_1" type="Div" x="-212.000000" y="133.000000"/> <Node name="node_Concatenate_1" type="Concatenate" x="196.000000" y="143.000000"/> <Node name="node_Div_2" type="Div" x="-211.000000" y="172.000000"/> <Node name="node_Concatenate_2" type="Concatenate" x="49.000000" y="169.000000"/> <Node name="node_Div_3" type="Div" x="-212.000000" y="214.000000"/> <Node name="node_Float2Vect_1" type="Float2Vect" x="-126.000000" y="134.000000"> <Parameter name="LOOKAHEAD" type="int" value="" description=""/> <Parameter name="LOOKBACK" type="int" value="" description=""/> </Node> <Node name="node_Float2Vect_2" type="Float2Vect" x="-126.000000" y="173.000000"> <Parameter name="LOOKAHEAD" type="int" value="" description=""/> <Parameter name="LOOKBACK" type="int" value="" description=""/> </Node> <Node name="node_Float2Vect_3" type="Float2Vect" x="-127.000000" y="213.000000"> <Parameter name="LOOKAHEAD" type="int" value="" description=""/> <Parameter name="LOOKBACK" type="int" value="" description=""/> </Node> <Node name="node_NOP_1" type="NOP" x="-741.000000" y="154.000000"/> <Node name="node_RectAnalyser_1" type="RectAnalyser" x="-664.000000" y="155.000000"/> <Node name="node_ToFloat_1" type="ToFloat" x="-365.000000" y="104.000000"/> <Node name="node_ToFloat_2" type="ToFloat" x="-365.000000" y="139.000000"/> <Node name="node_ToFloat_3" type="ToFloat" x="-366.000000" y="170.000000"/> <Node name="node_ToFloat_4" type="ToFloat" x="-364.000000" y="201.000000"/> <Link from="node_Float2Vect_1" output="OUTPUT" to="node_Concatenate_1" input="INPUT1"/> <Link from="node_Concatenate_2" output="OUTPUT" to="node_Concatenate_1" input="INPUT2">86 169 97 151 113 150.5 </Link> <Link from="node_Float2Vect_2" output="OUTPUT" to="node_Concatenate_2" input="INPUT1"/> <Link from="node_Float2Vect_3" output="OUTPUT" to="node_Concatenate_2" input="INPUT2"/> <Link from="node_Div_1" output="OUTPUT" to="node_Float2Vect_1" input="INPUT"/> <Link from="node_Div_2" output="OUTPUT" to="node_Float2Vect_2" input="INPUT"/> <Link from="node_Div_3" output="OUTPUT" to="node_Float2Vect_3" input="INPUT"/> <Link from="node_NOP_1" output="OUTPUT" to="node_RectAnalyser_1" input="CRECT"/> <Link from="node_ToFloat_1" output="OUTPUT" to="node_Div_1" input="NUM"/> <Link from="node_RectAnalyser_1" output="HEIGHT" to="node_ToFloat_1" input="INPUT"/> <Link from="node_ToFloat_1" output="OUTPUT" to="node_Div_3" input="DEN"/> <Link from="node_RectAnalyser_1" output="WIDTH" to="node_ToFloat_2" input="INPUT"/> <Link from="node_ToFloat_2" output="OUTPUT" to="node_Div_1" input="DEN"/> <Link from="node_ToFloat_2" output="OUTPUT" to="node_Div_2" input="DEN"/> <Link from="node_RectAnalyser_1" output="X_RELATIVE_CENTER_OF_GRAVITY" to="node_ToFloat_3" input="INPUT"/> <Link from="node_ToFloat_3" output="OUTPUT" to="node_Div_2" input="NUM"/> <Link from="node_RectAnalyser_1" output="Y_RELATIVE_CENTER_OF_GRAVITY" to="node_ToFloat_4" input="INPUT"/> <Link from="node_ToFloat_4" output="OUTPUT" to="node_Div_3" input="NUM"/> <NetInput name="INPUT" node="node_NOP_1" terminal="INPUT" object_type="any" description="No description available"/> <NetOutput name="OUTPUT" node="node_Concatenate_1" terminal="OUTPUT" object_type="any" description="No description available"/> </Network> <Network type="subnet" name="SYMBOL_EXTRACTOR"> <Node name="node_NNetExec_1" type="NNetExec" x="-447.000000" y="141.000000"> <Parameter name="OUTPUTLENGTH" type="int" value="36" description=""/> </Node> <Node name="node_SymbolExtractor_1" type="SymbolExtractor" x="-990.000000" y="115.000000"> <Parameter name="CHANNEL" type="int" value="1" description=""/> </Node> <Node name="node_Scale_1" type="Scale" x="-787.000000" y="114.000000"> <Parameter name="WIDTH" type="int" value="13" description=""/> <Parameter name="HEIGHT" type="int" value="13" description=""/> <Parameter name="DEBUG" type="int" value="0" description=""/> </Node> <Node name="node_DCVector_1" type="DCVector" x="-48.000000" y="220.000000"> <Parameter name="LENGTH" type="int" value="1" description=""/> <Parameter name="VALUE" type="float" value="-2" description=""/> </Node> <Node name="node_VectorSetIndex_1" type="VectorSetIndex" x="100.000000" y="236.000000"/> <Node name="node_Constant_1" type="Constant" x="-112.000000" y="251.000000"> <Parameter name="VALUE" type="int" value="0" description=""/> </Node> <Node name="node_RectBoundaries_1" type="RectBoundaries" x="-450.000000" y="21.000000"/> <Node name="node_Concatenate_1" type="Concatenate" x="406.000000" y="127.000000"/> <Node name="node_EXTRA_INFO_1" type="EXTRA_INFO" x="-804.000000" y="140.000000"/> <Node name="node_Concatenate_2" type="Concatenate" x="-624.000000" y="132.000000"/> <Node name="node_NewSymbolIdentify_1" type="NewSymbolIdentify" x="-308.000000" y="217.000000"> <Parameter name="THRESHOLD" type="float" value="0.80" description=""/> </Node> <Node name="node_Concat_1" type="Concat" x="-208.000000" y="134.000000"/> <Node name="node_ToFloat_1" type="ToFloat" x="-189.000000" y="215.000000"/> <Link from="node_Concatenate_2" output="OUTPUT" to="node_NNetExec_1" input="INPUT"/> <Link from="node_SymbolExtractor_1" output="SYMBOL" to="node_Scale_1" input="CRECT"/> <Link from="node_DCVector_1" output="OUTPUT" to="node_VectorSetIndex_1" input="VECTOR"/> <Link from="node_Constant_1" output="VALUE" to="node_VectorSetIndex_1" input="INDEX"/> <Link from="node_SymbolExtractor_1" output="SYMBOL" to="node_RectBoundaries_1" input="CRECT">-943.5 115 -644 22 -493 21 </Link> <Link from="node_VectorSetIndex_1" output="OUTPUT" to="node_Concatenate_1" input="INPUT1">143 236 267 238 268 121 325.5 119.5 </Link> <Link from="node_SymbolExtractor_1" output="SYMBOL" to="node_EXTRA_INFO_1" input="INPUT"/> <Link from="node_Scale_1" output="OUTPUT" to="node_Concatenate_2" input="INPUT1"/> <Link from="node_EXTRA_INFO_1" output="OUTPUT" to="node_Concatenate_2" input="INPUT2"/> <Link from="node_RectBoundaries_1" output="OUTPUT" to="node_Concat_1" input="INPUT1"/> <Link from="node_NNetExec_1" output="OUTPUT" to="node_Concat_1" input="INPUT2"/> <Link from="node_Concat_1" output="OUTPUT" to="node_Concatenate_1" input="INPUT2"/> <Link from="node_NNetExec_1" output="OUTPUT" to="node_NewSymbolIdentify_1" input="INPUT"/> <Link from="node_ToFloat_1" output="OUTPUT" to="node_VectorSetIndex_1" input="VALUE">-168 216 -153 235 10 236 </Link> <Link from="node_NewSymbolIdentify_1" output="SYMBOL_ID" to="node_ToFloat_1" input="INPUT"/> <NetInput name="DATA" node="node_SymbolExtractor_1" terminal="DATA" object_type="any" description="No description available"/> <NetInput name="INDEX" node="node_SymbolExtractor_1" terminal="INDEX" object_type="any" description="No description available"/> <NetOutput name="SYMBOL_VECTOR" node="node_Concatenate_1" terminal="OUTPUT" object_type="any" description="No description available"/> <NetInput name="NNET" node="node_NNetExec_1" terminal="NNET" object_type="any" description="No description available"/> </Network> <Network type="iterator" name="STRING_EXTRACTOR"> <Node name="node_Accumulate_1" type="Accumulate" x="330.000000" y="112.000000"/> <Node name="node_IF_1" type="IF" x="36.000000" y="31.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description=""/> </Node> <Node name="node_Constant_1" type="Constant" x="-95.000000" y="30.000000"> <Parameter name="VALUE" type="bool" value="true" description=""/> </Node> <Node name="node_Constant_2" type="Constant" x="-168.000000" y="46.000000"> <Parameter name="VALUE" type="bool" value="false" description=""/> </Node> <Node name="node_Smaller_1" type="Smaller" x="-236.000000" y="16.000000"/> <Node name="node_IterCount_1" type="IterCount" x="-441.000000" y="8.000000"/> <Node name="node_SYMBOL_EXTRACTOR_1" type="SYMBOL_EXTRACTOR" x="-110.000000" y="120.000000"/> <Link from="node_Smaller_1" output="OUTPUT" to="node_IF_1" input="COND"/> <Link from="node_Constant_1" output="VALUE" to="node_IF_1" input="THEN"/> <Link from="node_Constant_2" output="VALUE" to="node_IF_1" input="ELSE"/> <Link from="node_IterCount_1" output="OUTPUT" to="node_Smaller_1" input="INPUT1">-410 8 -330 9 -307 8.5 </Link> <Link from="node_IterCount_1" output="OUTPUT" to="node_SYMBOL_EXTRACTOR_1" input="INDEX">-412.5 8 -379 119 -208.5 120 </Link> <Link from="node_SYMBOL_EXTRACTOR_1" output="SYMBOL_VECTOR" to="node_Accumulate_1" input="INPUT"/> <NetInput name="DATA" node="node_SYMBOL_EXTRACTOR_1" terminal="DATA" object_type="any" description="No description available"/> <NetInput name="NNET" node="node_SYMBOL_EXTRACTOR_1" terminal="NNET" object_type="any" description="No description available"/> <NetInput name="ACCUM" node="node_Accumulate_1" terminal="ACCUM" object_type="any" description="No description available"/> <NetOutput name="ACCUM_OUT" node="node_Accumulate_1" terminal="OUTPUT" object_type="any" description="No description available"/> <NetInput name="SYMBOL_COUNT" node="node_Smaller_1" terminal="INPUT2" object_type="any" description="No description available"/> <NetCondition name="CONDITION" node="node_IF_1" terminal="OUTPUT"/> </Network> <Network type="subnet" name="FIND_THRESHOLD"> <Node name="node_StatIntensityAnalyser_1" type="StatIntensityAnalyser" x="-257.000000" y="-292.000000"> <Parameter name="FRACTION_ANALYSED" type="float" value="0.1" description=""/> </Node> <Node name="node_Add_1" type="Add" x="71.000000" y="-290.000000"/> <Node name="node_Div_1" type="Div" x="247.000000" y="-283.000000"/> <Node name="node_Constant_1" type="Constant" x="57.000000" y="-245.000000"> <Parameter name="VALUE" type="float" value="2.5" description=""/> </Node> <Link from="node_StatIntensityAnalyser_1" output="MAX_INTENSITY" to="node_Add_1" input="INPUT1"/> <Link from="node_StatIntensityAnalyser_1" output="MIN_INTENSITY" to="node_Add_1" input="INPUT2"/> <Link from="node_Add_1" output="OUTPUT" to="node_Div_1" input="NUM"/> <Link from="node_Constant_1" output="VALUE" to="node_Div_1" input="DEN"/> <NetInput name="IMAGE_IN" node="node_StatIntensityAnalyser_1" terminal="IMAGE_IN" object_type="any" description="No description available"/> <NetOutput name="THRESHOLD" node="node_Div_1" terminal="OUTPUT" object_type="any" description="No description available"/> </Network> <Network type="subnet" name="MULTI_SIGN_TRACKING"> <Node name="node_MultiSignTracking_1" type="MultiSignTracking" x="140.000000" y="24.000000"> <Parameter name="MIN_WIDTH" type="int" value="25" description="minimum width to obtain before we are ready for recognition."/> <Parameter name="MIN_HEIGHT" type="int" value="35" description="minimum height to obtain before we are ready for recognition."/> <Parameter name="FOREGROUND_COLOR_ID" type="int" value="1" description="The color number being tracked."/> <Parameter name="BACKGROUND_COLOR_ID" type="int" value="0" description="The color number being tracked."/> </Node> <Node name="node_Constant_1" type="Constant" x="-101.000000" y="15.000000"> <Parameter name="VALUE" type="bool" value="true" description="The value"/> </Node> <Node name="node_NOP_1" type="NOP" x="498.000000" y="23.000000"/> <Node name="node_TextProbe_1" type="TextProbe" x="411.000000" y="24.000000"> <Parameter name="BREAK_AT" type="int" value="-1" description="If set, the probe runs until (count = BREAK_AT)"/> <Parameter name="SHOW" type="bool" value="true" description="Whether or not to show the the data by default"/> <Parameter name="SKIP" type="int" value="" description="Count increment for each "Next""/> <Parameter name="PROBE_NAME" type="string" value="COMPONENTS" description="Name (title) of the probe"/> </Node> <Link from="node_Constant_1" output="VALUE" to="node_MultiSignTracking_1" input="ACTIVATED"/> <Link from="node_TextProbe_1" output="OUTPUT" to="node_NOP_1" input="INPUT"/> <Link from="node_MultiSignTracking_1" output="COMPONENTS" to="node_TextProbe_1" input="INPUT"/> <NetInput name="COMPONENTS" node="node_MultiSignTracking_1" terminal="COMPONENTS" object_type="ComponentsData" description="The components from the image."/> <NetOutput name="DELTA_X" node="node_MultiSignTracking_1" terminal="DELTA_X" object_type="float" description="The difference between the center of the image ant the biggest blob (x)."/> <NetOutput name="DELTA_Y" node="node_MultiSignTracking_1" terminal="DELTA_Y" object_type="float" description="The difference between the center of the image ant the biggest blob (y)."/> <NetOutput name="BOUNDARY" node="node_MultiSignTracking_1" terminal="BOUNDARY" object_type="float" description="The minimum size (in pixel) around the blob in the image."/> <NetOutput name="COMPONENTS" node="node_NOP_1" terminal="OUTPUT" object_type="any" description="The output = The input"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> </Network> <Network type="subnet" name="ZOOM_FACTOR"> <Node name="node_Div_1" type="Div" x="-132.000000" y="147.000000"/> <Node name="node_Constant_1" type="Constant" x="-244.000000" y="156.000000"> <Parameter name="VALUE" type="float" value="683" description="The value"/> </Node> <Node name="node_Add_1" type="Add" x="-24.000000" y="139.000000"/> <Node name="node_Constant_2" type="Constant" x="-191.000000" y="77.000000"> <Parameter name="VALUE" type="float" value="1.0" description="The value"/> </Node> <Node name="node_TextProbe_1" type="TextProbe" x="75.000000" y="139.000000"> <Parameter name="BREAK_AT" type="int" value="-1" description="If set, the probe runs until (count = BREAK_AT)"/> <Parameter name="SHOW" type="bool" value="true" description="Whether or not to show the the data by default"/> <Parameter name="SKIP" type="int" value="" description="Count increment for each "Next""/> <Parameter name="PROBE_NAME" type="string" value="ZOOM_FACTOR" description="Name (title) of the probe"/> </Node> <Node name="node_TextProbe_2" type="TextProbe" x="-381.000000" y="140.000000"> <Parameter name="BREAK_AT" type="int" value="-1" description="If set, the probe runs until (count = BREAK_AT)"/> <Parameter name="SHOW" type="bool" value="true" description="Whether or not to show the the data by default"/> <Parameter name="SKIP" type="int" value="" description="Count increment for each "Next""/> <Parameter name="PROBE_NAME" type="string" value="ZOOM_POSITION" description="Name (title) of the probe"/> </Node> <Node name="node_NOP_1" type="NOP" x="-486.000000" y="140.000000"/> <Node name="node_NOP_2" type="NOP" x="191.000000" y="139.000000"/> <Link from="node_TextProbe_2" output="OUTPUT" to="node_Div_1" input="NUM"/> <Link from="node_Constant_1" output="VALUE" to="node_Div_1" input="DEN"/> <Link from="node_Constant_2" output="VALUE" to="node_Add_1" input="INPUT1"/> <Link from="node_Div_1" output="OUTPUT" to="node_Add_1" input="INPUT2"/> <Link from="node_Add_1" output="OUTPUT" to="node_TextProbe_1" input="INPUT"/> <Link from="node_NOP_1" output="OUTPUT" to="node_TextProbe_2" input="INPUT"/> <Link from="node_TextProbe_1" output="OUTPUT" to="node_NOP_2" input="INPUT"/> <NetInput name="ABS_ZOOM_VALUE" node="node_NOP_1" terminal="INPUT" object_type="any" description="The input"/> <NetOutput name="ZOOM_FACTOR" node="node_NOP_2" terminal="OUTPUT" object_type="any" description="The output = The input"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> </Network> <Network type="subnet" name="PROCESS_SEGMENTS"> <Node name="node_SENTENCE_READER_1" type="SENTENCE_READER" x="-538.000000" y="-189.000000"/> <Node name="node_IF_1" type="IF" x="-175.000000" y="-233.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_IF_2" type="IF" x="-175.000000" y="-131.000000"> <Parameter name="PULL_ANYWAY" type="bool" value="" description="If true, the IF statement pulls also on the branch not taken"/> </Node> <Node name="node_isNil_1" type="isNil" x="-521.000000" y="-279.000000"/> <Node name="node_NOT_3" type="NOT" x="-415.000000" y="-278.000000"/> <Node name="node_NilObject_1" type="NilObject" x="-333.000000" y="-187.000000"/> <Node name="node_NilObject_2" type="NilObject" x="-339.000000" y="-86.000000"/> <Node name="node_NOP_1" type="NOP" x="-706.000000" y="-279.000000"/> <Node name="node_TextProbe_1" type="TextProbe" x="-315.000000" y="-235.000000"> <Parameter name="BREAK_AT" type="int" value="" description="If set, the probe runs until (count = BREAK_AT)"/> <Parameter name="SHOW" type="bool" value="true" description="Whether or not to show the the data by default"/> <Parameter name="SKIP" type="int" value="" description="Count increment for each "Next""/> <Parameter name="PROBE_NAME" type="string" value="EXTRACTED_TEXT" description="Name (title) of the probe"/> </Node> <Link from="node_SENTENCE_READER_1" output="ORIGINAL_TEXT" to="node_IF_2" input="THEN"/> <Link from="node_isNil_1" output="OUTPUT" to="node_NOT_3" input="INPUT"/> <Link from="node_NOT_3" output="OUTPUT" to="node_IF_1" input="COND"/> <Link from="node_NOT_3" output="OUTPUT" to="node_IF_2" input="COND"/> <Link from="node_NilObject_1" output="VALUE" to="node_IF_1" input="ELSE"/> <Link from="node_NilObject_2" output="VALUE" to="node_IF_2" input="ELSE"/> <Link from="node_NOP_1" output="OUTPUT" to="node_isNil_1" input="INPUT"/> <Link from="node_TextProbe_1" output="OUTPUT" to="node_IF_1" input="THEN"/> <Link from="node_SENTENCE_READER_1" output="SENTENCE" to="node_TextProbe_1" input="INPUT"/> <NetOutput name="SENTENCE" node="node_IF_1" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> <NetOutput name="ORIGINAL_TEXT" node="node_IF_2" terminal="OUTPUT" object_type="any" description="The object from THEN or ELSE depending on COND"/> <NetInput name="IMAGE" node="node_SENTENCE_READER_1" terminal="IMAGE_IN" object_type="" description="No description available"/> <NetInput name="LOOKUP" node="node_SENTENCE_READER_1" terminal="BLANC_LOOKUP" object_type="" description="No description available"/> <NetInput name="NNET" node="node_SENTENCE_READER_1" terminal="NNET" object_type="" description="No description available"/> <NetInput name="DICT" node="node_SENTENCE_READER_1" terminal="DICT" object_type="" description="No description available"/> <NetInput name="SYMBOLS_COMPONENTS" node="node_NOP_1" terminal="INPUT" object_type="any" description="The input"/> <Note x="0" y="0" visible="0" text="Created with FlowDesigner 0.8.1"/> </Network> </Document> --- NEW FILE: trainTemplates.n --- #!/usr/bin/env batchflow <?xml version="1.0"?> <Document> <Network type="subnet" name="MAIN"> <Node name="node_LoadFile_1" type="LoadFile" x="-2313.000000" y="-109.000000"> <Parameter name="FILENAME" type="string" value="train_in_172_v2.data" description="No description available"/> </Node> <Node name="node_LoadFile_2" type="LoadFile" x="-2316.000000" y="-36.000000"> <Parameter name="FILENAME" type="string" value="train_out_172_v2.data" description="No description available"/> </Node> <Node name="node_NNetInit_1" type="NNetInit" x="-1983.000000" y="14.000000"> <Parameter name="TOPO" type="string" value="<Vector 172 7 36>" description="Number of units on each layer (including input and output layers)"/> <Parameter name="FUNCTIONS" type="string" value="<Vector tansig tansig tansig>" description="Activation functions for each layer (except the input layer)"/> <Parameter name="RAND_SEED" type="int" value="342543" description="Sets to random seed to RAND_SEED before initialization"/> </Node> <Node name="node_TRAIN_LOOP_1" type="TRAIN_LOOP" x="-1733.000000" y="-1.000000"> <Parameter name="MAX_EPOCHS" type="int" value="1" description="The value"/> <Parameter name="DOWHILE" type="bool" value="" description="No description available"/> </Node> <Node name="node_Length_1" type="Length" x="-2094.000000" y="-179.000000"/> <Node name="node_Length_2" type="Length" x="-2098.000000" y="123.000000"/> <Node name="node_SaveAs_1" type="SaveAs" x="-1628.000000" y="0.000000"> <Parameter name="FILENAME" type="string" value="../neural_networks/net_172_7_36.nnet" description="No description available"/> </Node> <Link from="node_LoadFile_1" output="OUTPUT" to="node_NNetInit_1" input="TRAIN_IN"/> <Link from="node_LoadFile_2" output="OUTPUT" to="node_NNetInit_1" input="TRAIN_OUT"/> <Link from="node_NNetInit_1" output="OUTPUT" to="node_TRAIN_LOOP_1" input="INITIALIZED_NNET"/> <Link from="node_LoadFile_1" output="OUTPUT" to="node_TRAIN_LOOP_1" input="TRAIN_IN"/> <Link from="node_LoadFile_2" output="OUTPUT" to="node_TRAIN_LOOP_1" input="TRAIN_OUT"/> <Link from="node_LoadFile_1" output="OUTPUT" to="node_Length_1" input="INPUT"/> <Link from="node_LoadFile_2" output="OUTPUT" to="node_Length_2" input="INPUT"/> <Link from="node_TRAIN_LOOP_1" output="NNET" to="node_SaveAs_1" input="INPUT"/> <NetOutput name="TRAIN_IN_LENGTH" node="node_Length_1" terminal="OUTPUT" object_type="int" description="The length of the vector"/> <NetOutput name="TRAIN_OUT_LENGTH" node="node_Length_2" terminal="OUTPUT" object_type="int" description="The length of the vector"/> <NetOutput name="OUTPUT" node="node_SaveAs_1" terminal="OUTPUT" object_type="any" description="No description available"/> </Network> <Network type="iterator" name="TRAIN_LOOP"> <Node name="node_NNetTrainDBD_1" type="NNetTrainDBD" x="-436.000000" y="-177.000000"> <Parameter name="MAX_EPOCH" type="int" value="2000" description="Number of training epoch (default 2000)"/> <Parameter name="LEARN_RATE" type="float" value="0.000001" description="Initial learning rate (default 0.000001)"/> <Parameter name="INCREASE" type="float" value="1.04" description="Learning rate increment (> 1.0) factor (default 1.04)"/> <Parameter name="DECREASE" type="float" value="0.6" description="Learning rate decrement (< 1.0) factor (default 0.6)"/> <Parameter name="NB_SETS" type="int" value="1" description="Number of batch subsets for accelerated training (default 1)"/> <Parameter name="ALLOC_CHUNK" type="bool" value="false" description="If true, a big vector is allocated to store all the inputs (default false)"/> <Parameter name="RPROP" type="bool" value="false" description="If true, use the RProp variant of delta-bar-delta (default false)"/> </Node> <Node name="node_Smaller_1" type="Smaller" ... [truncated message content] |
From: Dominic L. <ma...@us...> - 2004-08-16 20:53:47
|
Update of /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/dict In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31257/SymbolRecog/dict Added Files: english.dict fox.dict francais.dict Log Message: first version of the demo --- NEW FILE: francais.dict --- <String ANITA,BAS,BIENVENUE,BONJOUR,BUREAU,CAPABLE,CATHERINE,DE,DERRIERE,DES,DEVANT,DIFFERENTES,DOMINIC,DROITE,DU,ES,FRANCOIS,GAUCHE,HAUT,JE,LA,LABORIUS,LIRE,LOLITTA,MOTS,PORTE,ROBOT,SOUHAITE,SUIS,TAILLES,TROUVE,TU,VERONICA,VOUS,YANNICK> --- NEW FILE: english.dict --- <Vector<String> <String A> <String BROWN> <String DOG> <String FOX> <String JUMPS> <String LAZY> <String OVER> <String QUICK> <String THE> <String SERVICE> <String EXIT> <String PROJECT> <String URBAN> <String TU> <String ES> <String UN> <String ROBOT> <String EGOR> <String DATE> <String MILDRED> <String DEBIT> <String FORGING> <String TRIPE> <String TRIPP> <String MOUTON> <String SOUTHS> <String TRY> <String SUNUP> <String MOUTHE> <String ORGANZA> <String CHORALE> <String A> <String B> <String C> <String D> [...30146 lines suppressed...] <String MUS> <String DECLARE> <String GIFFIE> <String DOME> <String CAVEAT> <String SOCIAL> <String DAVEEN> <String OVARY> <String RUTH> <String MEMO> <String WAHL> <String TRUMAN> <String GETTING> <String KIMBRA> <String GUTTING> <String FESTOON> <String EGON> <String BOOKEND> <String DATA> > --- NEW FILE: fox.dict --- <String A,BROWN,DOG,FOX,JUMPS,LAZY,OVER,QUICK,THE> |
From: Dominic L. <ma...@us...> - 2004-08-16 20:53:47
|
Update of /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/neural_networks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31257/SymbolRecog/neural_networks Added Files: net_172_7_36.nnet Log Message: first version of the demo --- NEW FILE: net_172_7_36.nnet --- <FFNet <topo <Vector<int> 172 7 36 > > <layers <Vector<RCPtr<FFLayer>> <FFLayer <nbNeurons 7> <nbInputs 172> <funcType tansig > <weights 0.16177 0.545327 -0.072616 -0.146532 -0.114416 -0.186422 0.0720891 0.108378 -0.259261 0.0736785 0.0148104 0.0392012 0.0261578 0.0394694 0.0937533 0.0540116 -0.157721 -0.148802 0.0245513 -0.00867974 0.0403835 0.000671022 0.0274462 0.155955 -8.88552e-05 0.044944 0.117249 0.0407091 -0.117489 -0.299025 -0.101896 0.115912 0.218731 0.293337 0.221839 0.0957978 -0.0774008 0.0657438 0.10984 0.119494 0.0150652 0.1896 -0.149967 -0.0466853 -0.0472507 0.18326 -0.043281 0.033865 0.0419613 0.0524739 0.122497 -0.0575609 -0.0326641 0.0361515 -0.075566 0.14373 -0.281543 -0.433756 -0.250946 -0.0861714 0.471875 0.301529 0.605676 0.596018 -0.163768 -0.312399 -0.073496 0.100448 -0.051015 0.311081 -0.288065 -0.146395 0.00213811 0.00772198 0.269129 -0.117447 0.400551 0.234016 -0.0923527 0.0672863 -0.0236316 0.0181175 -0.202908 0.0969783 -0.0619595 -0.089104 -0.0406624 -0.103474 -0.295856 -0.0678799 -0.124728 0.153504 -0.0177723 -0.00182759 -0.0278652 0.11228 0.0204158 -0.573688 0.228097 0.0934793 -0.00891774 -0.277117 0.028791 -0.018941 0.0825007 0.0831027 0.0478978 -0.0710272 0.0131451 0.0277672 -0.0352559 0.0367236 -0.0129186 -0.0439986 0.0314539 0.0329845 -0.156382 -0.0445013 -0.244315 0.0508303 0.0782155 -0.15944 0.255328 -0.0165439 -0.0939385 -0.217843 -0.0753473 0.0424714 0.0126653 -0.0171644 0.129545 0.048871 -0.212724 -0.0995151 0.0602682 -0.0455838 0.0356403 -0.227685 0.0471526 -0.0599532 0.198198 -0.0702951 0.0765405 0.0171579 0.100399 -0.0580152 -0.0614285 0.0163446 0.0507735 0.0740712 -0.0188666 0.0628824 -0.0212021 -0.183676 -0.13567 -0.203297 -0.0373245 -0.0274573 -0.0109244 -0.0246118 -0.041701 0.00387667 0.0884744 -0.0825154 -0.00230386 -0.0347435 -0.0748972 -0.248772 -0.0572729 0.399921 -0.182949 -0.475105 0.042894 0.21137 0.0420953 -0.257428 -0.0537358 -0.342599 -0.0223138 -0.108668 0.136117 0.11165 -0.345122 0.0618878 0.13301 0.318548 -0.016528 -0.0951266 0.0147153 -0.022201 -0.00211728 -0.18714 0.0608579 0.097669 -0.00793921 -0.104949 0.032629 -0.0348047 -0.0285916 0.0113073 -0.0537031 -0.250295 0.0698296 -0.00206777 1.10721 -0.0226459 -0.0408622 0.0454636 -0.376799 -0.533554 -0.194144 0.20997 0.0424623 0.0718151 0.0223776 -0.0241701 -0.056631 -0.0122579 0.220189 0.0731079 -0.0156909 -0.0273219 -0.0853359 0.0540946 -0.169591 -0.168914 0.073535 0.237787 0.298404 -0.0738573 -0.144344 -0.143751 -0.0206709 0.205232 -0.164376 0.262961 -0.155747 -0.535469 -0.00250748 -0.040027 0.237934 0.314586 -0.0281377 -0.072276 0.0522644 0.572089 0.0237666 -0.452778 -0.0224945 0.188828 -0.648016 0.0280137 1.00572 -0.0797564 0.726547 -0.164009 0.00408278 0.0156735 0.0361198 0.0459301 0.07631 -0.121058 -0.014808 -0.375432 0.592276 0.0807073 -0.00649603 0.269979 -0.0649467 -0.15897 -0.0869078 0.00131584 0.0308689 0.0263542 -0.026793 0.0473763 -0.717293 0.117697 -0.120245 0.0725877 -0.00662255 0.119148 0.0100738 -0.0826582 0.0103346 -0.18031 -0.00927466 -0.151805 -0.00584802 -0.0149767 -0.101816 -0.0359382 -0.224068 -0.0132267 0.0335886 0.250767 0.0691083 0.0136673 -0.0353365 -0.0300767 0.167347 -0.0592822 -0.0354875 -0.0655649 -0.469507 -0.10058 0.109582 0.0012327 0.0645491 -0.0348447 -0.30124 -0.0839477 0.0977454 -0.483718 -0.269217 -0.170114 -0.200902 -0.23634 -0.0825266 -0.0318914 2.40653 0.179085 0.00602383 -0.055761 0.217909 0.0549356 0.0484549 -0.138056 -0.176702 -0.143465 -0.318153 0.0558863 0.212581 0.117631 -0.0336481 0.161253 0.192221 0.202895 0.198672 -0.00948567 -0.0246529 -0.473591 0.774669 0.0574762 0.0888365 -1.20672 -0.111619 0.070256 0.0177394 0.0663772 0.077921 0.347848 0.0489613 0.126422 0.142719 0.211759 0.0176371 0.0952462 -0.0282803 -0.0705778 -0.0315082 0.0939026 -0.0345626 0.104805 0.0688319 -0.0723883 0.046315 0.0181096 0.0369546 -0.0668773 -0.066608 0.041565 -0.0497989 -0.0671756 -0.00563462 -0.0356601 0.043507 0.0831257 0.039992 -0.191437 0.0491709 0.090558 0.171558 -0.0487663 -0.0270084 0.0105037 -0.023168 -0.0448977 -0.00687242 -0.0103362 -0.0538115 0.0119704 0.00495804 -0.0796536 -0.000490184 0.0118091 0.0550098 0.0564116 0.0692496 -0.0828381 -0.0593969 -0.0883763 -0.0129113 -0.0381724 0.0141117 0.0983846 0.015369 -0.0414011 0.0823307 -0.0126192 0.0833999 0.126306 0.115353 -0.0294701 0.0161548 -0.353836 0.249301 0.0334759 0.0403062 -0.099374 -0.19464 0.094741 0.165005 0.0774001 -0.0199934 0.000219423 0.0205608 -0.199509 0.112691 -0.0684673 0.142554 0.0395424 -0.2807 0.0331301 0.0133398 -0.0564532 -0.502528 0.004024 -0.0824894 -0.0171373 -0.136132 0.0813801 0.0276281 -0.0648027 0.0819384 0.0756991 -0.0828786 -0.0530505 -0.0320702 -0.493878 -0.0709986 0.0492182 0.00418288 -0.0302173 -0.143001 0.0541952 0.0115419 -0.0657443 0.0288787 0.0623804 0.0535582 -0.253972 -0.133062 -0.00497479 0.00160179 -0.00992835 0.0479216 -0.0141195 -0.0864341 0.0760623 -0.113186 -0.00883683 -0.0598388 -0.00432311 -0.0105397 -0.0196818 0.177034 -0.0420557 0.00709688 0.0260615 0.116713 0.230388 -0.0320033 0.0773869 -0.0454589 -0.011241 -0.0209381 -0.0954828 0.0502548 -0.0372889 0.00375115 -0.0306711 -0.114034 -0.21376 -0.183034 -0.00410799 -0.0818096 -0.0345138 -0.218615 -0.117713 -0.122235 -0.138085 0.052492 -0.0996722 -0.0843529 0.0219041 -0.00418171 0.0243524 -0.135748 -0.0377806 0.0528851 -0.0234656 -0.0513059 -0.126388 0.104446 -0.308152 0.0537446 1.34852 -0.789503 0.824573 0.140074 0.17807 0.0455226 0.186305 0.0736172 -0.0669818 0.0348364 -0.00978925 0.0208195 -0.192031 0.252906 0.127664 0.151267 0.0551211 -0.00428454 -0.0178196 0.253086 0.2002 -0.456534 -0.0158454 -0.0946096 -0.124018 0.39522 0.284818 0.230487 -0.0901407 0.194957 -0.480835 -0.0857825 -0.0767903 -0.0438838 0.0454492 -0.0348746 -0.00976579 -0.109405 0.0670474 0.047393 0.0621074 -0.745346 -0.103306 -0.0879845 -0.00814202 0.0441497 -0.0471735 -0.179958 -0.0502178 0.0344456 -0.200228 -0.0163805 0.0108533 -0.0336338 0.0115441 -0.141392 0.0373398 -0.389259 -0.049081 -0.0966941 0.573206 0.0548883 -0.90389 -0.265738 -0.481054 -0.274931 -0.133679 0.131904 0.0811013 -0.0512535 0.300945 -0.072923 -0.0534442 0.0108505 0.0118524 -0.299459 0.0202367 0.41296 0.0925226 0.308689 0.0501045 0.086716 0.339203 1.13131 0.0432129 -0.27806 0.372577 0.0570201 -0.0096404 0.55068 0.294117 -0.0974521 0.313235 0.0246574 0.0815801 -0.00490888 -0.249748 -0.00549651 0.0304726 1.17359 0.166378 0.0801074 0.0379662 0.153479 -0.0435116 0.0112573 -0.0113837 -0.0725729 -0.0403261 0.044155 -0.087698 0.0731573 0.118394 -0.0639331 -0.117471 -0.036685 0.079757 0.0774386 0.0216009 -0.0394063 0.245788 -0.0135498 -0.239638 0.050995 -0.0753753 0.0293954 -0.202192 -0.681934 -0.00699362 -0.0232866 0.0183363 -0.081152 0.158523 0.0419824 0.0269704 -0.105872 -0.0904416 0.0218047 0.0456688 0.0247116 0.300752 0.0553529 0.111552 0.00439688 -0.0836235 -0.308673 -0.108169 -0.00691055 -0.092625 0.0595061 0.0493257 0.0767067 -0.0461296 0.0846264 0.0447305 0.0360988 -0.184673 -0.0949907 0.818419 0.292722 -0.0819268 -0.231946 -0.0637572 -0.0253202 -0.0520037 -0.0181703 0.10268 -0.137986 0.075396 -0.110796 -0.263794 0.319566 -0.0170098 2.32535 -1.38607 0.0184803 0.07523 0.151743 0.0900142 -0.0896865 -0.290148 -0.0924493 0.178701 0.150502 -0.0680436 0.0379979 0.080337 0.0364659 0.0582335 -0.0304857 0.0182299 0.0185383 -0.0557922 -0.154329 0.00679609 -0.0136107 0.251784 0.0187901 -0.00291789 -0.0239238 0.0512179 0.145822 -0.0807483 -0.0353904 0.156368 0.0561272 0.288506 0.286483 0.0982567 0.0123133 0.105929 0.0543276 -0.0505735 -0.13621 -0.001876 -0.0254169 0.133777 -0.0447084 -0.00715359 0.10284 0.0614224 0.150669 -0.0632907 0.212728 0.0753535 0.0451973 -0.00402861 0.22712 -0.0518135 -0.133039 -0.351385 -0.00631925 0.471118 0.365698 0.111906 -0.0708725 -0.0537161 0.0826087 0.106865 0.0612748 0.178893 0.251771 0.199714 0.0507615 0.0200063 0.0685979 -0.11674 0.0517497 0.014047 -0.0121117 -0.0145061 0.134071 0.213843 0.11256 0.263432 0.0596866 0.0560504 -0.186035 -0.127449 -0.394884 -0.115191 0.0475355 -0.0588418 -0.0571209 0.0975416 0.0340791 0.0918572 0.190313 0.00403096 -0.00536804 0.0012414 0.0345159 0.0857224 0.028355 -0.131636 0.0132882 -0.0949358 0.039409 0.344985 0.105216 -0.148756 -0.0272719 -0.049696 -0.0472101 0.00210285 0.103216 0.11576 -0.0120588 -0.0645516 -0.0212929 0.131127 0.110435 -0.132604 -0.00230498 0.0361415 0.0269927 0.362942 0.0415869 0.0129934 -0.00818166 0.00146749 -0.0867663 -0.0739586 -0.0223777 -0.0147159 0.00978994 -0.146949 -0.0074208 0.0190836 0.047621 -0.0895735 -0.0245588 -0.108555 0.0205417 0.0876235 -0.0359619 0.172836 -0.100118 -0.0148884 -0.0313751 -0.100258 -0.0289073 -0.0704475 -0.0561092 0.0409085 -0.27614 0.0818242 -0.0183059 -0.0901365 -0.322485 -0.148679 -0.137641 -0.230066 -0.0015282 -0.0132092 -0.101024 -0.0650171 -0.0753233 -0.00687131 -0.0513162 -0.0101276 0.0853832 -0.0682866 -0.187117 0.423458 1.14573 1.45765 -0.691563 -0.35106 -0.25459 -0.0140352 0.121818 0.0773149 0.251433 0.305604 0.429221 0.683463 0.0697675 0.0699926 -0.0259743 -0.264776 0.0516977 -0.709391 0.0402374 0.168923 -0.0691049 0.135654 -0.262083 -0.0185455 -0.0544927 0.0392136 -0.097734 -0.110384 -0.210277 0.166501 0.0176071 -0.0467689 0.0938042 0.505492 -0.15416 -0.105241 0.125085 0.117038 0.827291 0.347445 0.227636 0.0590426 -0.0940122 -0.0237244 -0.169279 -0.056144 -0.0143396 0.0963056 -0.0259817 -0.00196631 -0.0562668 0.181827 0.0993624 -0.0193064 0.239892 -0.137779 -0.13419 0.112706 0.153901 -0.466537 -0.174387 -0.102899 0.0882153 0.0106736 0.154429 0.121597 0.545711 0.0370425 -0.0780109 -0.0704132 0.166383 0.0372042 -0.262878 -0.461351 0.00953105 -0.0362772 0.00309753 0.0207924 0.0144227 0.0228032 -0.102081 0.0472893 -0.0189294 -0.0630685 -0.00737658 0.124646 0.0519064 0.587914 0.368158 -0.071798 0.0425983 -0.160996 0.161577 -0.0223165 -0.045633 -0.32903 -0.255219 0.136655 -0.306644 -0.0918806 -0.0451223 0.00275201 0.0218641 -0.0617338 0.0361587 -0.00101842 -0.0713373 0.256897 -0.0641413 0.560952 -0.0697657 -0.0959686 -0.22079 -0.0465325 -0.0300645 0.108227 -0.273819 0.0578471 -0.0944524 -0.0884183 0.312956 -0.0848218 0.0643003 0.207667 -0.0514478 0.0103217 -0.0504481 -0.0409818 -0.00703815 -0.0266723 0.115394 -0.167154 0.285486 -0.0517588 -0.0986707 -0.192244 0.225485 0.0588915 -0.0234892 -0.0316308 -0.10261 -0.114056 -0.203735 -0.0124078 -0.439119 -0.00614131 0.208616 -0.0604825 0.0652462 0.0318992 0.0620777 0.382718 0.0716828 0.0914168 0.0729232 0.246776 0.192705 -0.100692 0.0956526 0.215352 0.0479766 0.018261 0.0896014 0.0566841 0.100557 -0.108361 0.140418 0.23131 0.060701 0.0689864 0.205722 0.0956209 0.225159 -0.68558 -2.73806 1.83121 0.0719014 -0.0427841 -0.329065 -0.350799 -0.601047 -0.19377 -0.0159444 -0.0456972 -0.423224 0.0459563 -0.0720525 -0.243708 -0.00421771 0.054485 -0.0351265 0.0128744 -0.0414257 -0.165056 -0.121293 -0.0589634 -0.0835131 -0.0408578 -0.000499896 0.00117488 -0.146127 -0.251092 -0.085729 0.10361 -0.0840159 0.0789989 0.222368 -0.0620407 0.0426174 -0.129006 0.102192 0.370243 -0.0195519 -0.133717 -0.00716064 -0.128721 0.0263416 0.023402 -0.170618 0.117902 0.26517 0.0194935 -0.177882 -0.0776866 0.13088 -0.0635172 -0.212066 0.22535 0.217628 -0.0922046 0.00674216 -0.470996 0.242574 0.277418 0.0923817 -0.304397 -0.391011 -0.0548409 -0.120401 -0.41329 -0.0301523 -0.00554368 0.227839 -0.0305537 0.0995102 -0.0375771 -0.616688 -0.499527 0.0505178 0.0947639 -0.0658218 0.0114012 0.0253981 0.0334346 0.0172188 0.490807 -0.04326 -0.565426 -0.222995 -0.24939 0.366949 0.00708256 -0.0229578 0.0672522 -0.00457594 0.0207065 -0.0883554 0.47196 -0.0498833 -0.0489077 -0.0182813 0.0337428 -0.0917008 -0.394918 0.0536994 0.0871919 0.0403796 -0.0255277 -0.184395 -0.027249 0.0513233 0.496574 -0.0536144 0.0203697 -0.315944 0.0772057 0.057431 -0.0542078 -0.0362785 0.0226549 -0.343676 -0.59113 -0.146727 0.0406729 0.0847363 0.103562 0.332838 -0.0430877 -0.127041 -0.0718183 -0.228077 -0.588826 -0.0344625 -0.0552103 -1.28528 -0.0147697 -0.00240183 0.164745 0.0743921 -0.00113047 -0.0556541 -0.106399 -0.264074 -0.212222 -0.0575485 0.0325311 -0.0311341 -0.0673466 -0.0122051 -0.166956 -0.0275783 0.698972 0.0311779 -0.00483224 0.0246586 -0.0537628 0.047618 -0.0963643 0.0172459 0.0471499 -0.345578 -0.0524406 0.0354386 0.121959 0.109595 0.0943213 0.0822918 -0.0863964 0.00702318 0.0130011 0.115467 0.413176 -0.0833411 -0.572704 -0.102429 -0.0149849 1.39408 -1.02961 -0.283612 > > <FFLayer <nbNeurons 36> <nbInputs 7> <funcType tansig > <weights 6.52742e+07 -2.46971e+06 -1.12066e+08 -1.54297e+07 3.85656e+07 -6.69219e+07 246662 -3.4851e+08 4.96065 0.362915 1.14152 -2.86016 5.53203 3.55734 -4.18202 -16.2731 2.41021 -1.33084 5.04302 -0.697255 -9.14809 2.11234 6.02255 -19.0031 1.1937 -2.9041 -0.370152 -5.88974 -3.99301 1.64602 -2.13234 -14.7718 2.91148 4.64399 -3.31022 -4.80865 4.55108 3.67929 3.15688 -21.055 -3.34297 7.48591 -5.37908 0.381454 3.54029 -6.50063 -3.08891 -21.6939 -5.12964 2.17027 0.258977 3.30683 4.87449 5.36824 -0.819727 -14.4801 4.02936 4.41907 7.20266 -1.50806 -0.00597715 2.83583 -2.08516 -14.6956 0.808096 3.76234 -1.8583 -3.08395 -0.982614 2.75792 -2.90046 -12.1619 0.898072 -3.54514 -4.63668 4.34946 2.74742 4.09901 -3.7377 -19.2898 -4.42443 -0.74124 -0.385577 0.150282 -6.91987 -5.63844 -6.7623 -17.4997 5.02761 2.48629 -4.42819 5.93729 -3.53588 5.04014 -1.80545 -20.6842 -6.81861 2.30064 3.82543 -4.56371 2.03839 2.00448 3.27732 -13.396 0.477116 -4.94249 -3.91286 4.82901 7.6782 4.22607 5.88648 -25.3693 -1.40807 4.21769 -0.049616 5.21416 -6.7767 1.75064 3.35872 -18.0699 -0.307779 3.84913 12.7629 0.173289 -8.01087 -5.49335 1.99314 -19.4058 -6.81401 -4.31285 -1.76719 0.328628 -0.526025 3.6522 3.20028 -16.0538 5.8398 -4.99862 -4.07771 5.48697 -0.233168 -4.5603 -1.30398 -21.3253 3.21802 4.74436 0.13138 4.40337 2.72851 4.66571 3.66054 -18.2706 5.68532 -2.79858 -8.98104 0.909853 -4.86248 0.663522 4.30293 -21.4236 -0.00624586 -5.81045 0.346343 1.35104 4.51598 -4.374 5.45995 -16.251 0.639019 4.01213 -2.99995 -2.57046 -4.04356 -4.62425 5.88895 -17.3408 1.94596 -1.86354 0.298412 -8.8974 3.39459 -6.47854 -6.0595 -19.923 -4.42416 -4.50902 0.232333 2.28435 4.74591 -2.43826 -4.4711 -17.3118 -0.0857627 -3.37359 1.37898 -4.25686 4.4758 1.19292 3.96909 -12.4677 0.405015 -2.54781 11.102 4.66007 2.08116 1.73756 3.92505 -20.5823 -5.16565 -2.94247 1.66862 -4.73182 3.00123 1.64165 -2.87127 -13.2576 3.87943 -5.65299 6.67018 0.478137 -0.478702 0.0973778 -7.89201 -18.062 -5.26996 -0.142283 -5.68903 0.321553 -6.6699 5.03747 -4.89433 -21.6072 -1.8255 7.89731 11.1791 1.0728 2.61307 -6.15898 -8.05508 -25.4955 3.80479 2.54223 -7.59746 2.71343 2.87055 -5.26436 4.90817 -22.1115 4.42018 7.35737 -0.652904 0.603313 -4.9786 -6.52665 -5.13067 -19.8746 0.237056 2.77074 6.91971 -4.70795 8.34779 -6.18585 7.83456 -20.2665 -10.5815 -1.04212 0.753192 -3.39013 -4.23354 -5.57245 4.09336 -19.557 5.41068 -3.71103 2.80928 -1.83437 -4.89534 -6.79187 0.823788 -14.7212 -6.80997 -2.68371 7.36654 0.340948 -4.21663 1.06116 -1.17704 -15.1099 > > > > > |
From: Dominic L. <ma...@us...> - 2004-08-16 20:49:48
|
Update of /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/dict In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30330/dict Log Message: Directory /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/dict added to the repository |
From: Dominic L. <ma...@us...> - 2004-08-16 20:49:47
|
Update of /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/n-files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30330/n-files Log Message: Directory /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/n-files added to the repository |
From: Dominic L. <ma...@us...> - 2004-08-16 20:49:47
|
Update of /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30330/templates Log Message: Directory /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/templates added to the repository |
From: Dominic L. <ma...@us...> - 2004-08-16 20:49:47
|
Update of /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/neural_networks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30330/neural_networks Log Message: Directory /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/neural_networks added to the repository |
From: Dominic L. <ma...@us...> - 2004-08-16 20:49:47
|
Update of /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/color_lookup In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30330/color_lookup Log Message: Directory /cvsroot/robotflow/RobotFlow/demo/SymbolRecog/color_lookup added to the repository |
From: Dominic L. <ma...@us...> - 2004-08-16 20:49:23
|
Update of /cvsroot/robotflow/RobotFlow/demo/SymbolRecog In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30270/SymbolRecog Log Message: Directory /cvsroot/robotflow/RobotFlow/demo/SymbolRecog added to the repository |
From: Dominic L. <ma...@us...> - 2004-08-16 20:49:12
|
Update of /cvsroot/robotflow/RobotFlow/demo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30233/demo Log Message: Directory /cvsroot/robotflow/RobotFlow/demo added to the repository |
From: Mathieu L. <ml...@us...> - 2004-08-16 20:45:17
|
Update of /cvsroot/robotflow/RobotFlow/Pioneer2/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29209/src Modified Files: Pioneer2PacketManager.cc Log Message: Fix bug in function "send_string_command(...)". First byte of string is the length of string. Index: Pioneer2PacketManager.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Pioneer2/src/Pioneer2PacketManager.cc,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Pioneer2PacketManager.cc 16 Aug 2004 19:20:03 -0000 1.15 --- Pioneer2PacketManager.cc 16 Aug 2004 20:45:06 -0000 1.16 *************** *** 1171,1175 **** void Pioneer2PacketManager::send_string_command(unsigned char command, const string& data) { ! unsigned char to_send[data.size() + 2]; if (m_psos_state == NO_SYNC && m_file_descriptor > 0 ) { --- 1171,1175 ---- void Pioneer2PacketManager::send_string_command(unsigned char command, const string& data) { ! unsigned char to_send[data.size() + 3]; if (m_psos_state == NO_SYNC && m_file_descriptor > 0 ) { *************** *** 1191,1196 **** to_send[0] = command; to_send[1] = 0x2b; ! memcpy(&to_send[2],data.c_str(),data.size()); ! packet.create_packet(to_send,data.size() + 2); m_send_list.push_back(packet); unlock_send_thread(); --- 1191,1197 ---- to_send[0] = command; to_send[1] = 0x2b; ! to_send[2] = data.size(); ! memcpy(&to_send[3],data.c_str(),data.size()); ! packet.create_packet(to_send,data.size() + 3); m_send_list.push_back(packet); unlock_send_thread(); |
From: Dominic L. <ma...@us...> - 2004-08-16 19:43:52
|
Update of /cvsroot/robotflow/RobotFlow/Behaviors/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17744 Modified Files: MultiSignTracking.cc SignTracking.cc Log Message: removed dependencies on image width and height Index: MultiSignTracking.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Behaviors/src/MultiSignTracking.cc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MultiSignTracking.cc 6 Aug 2004 13:24:22 -0000 1.1 --- MultiSignTracking.cc 16 Aug 2004 19:43:43 -0000 1.2 *************** *** 68,81 **** * @output_description The minimum size (in pixel) around the blob in the image. * - * @parameter_name IMAGE_WIDTH - * @parameter_type int - * @parameter_value 320 - * @parameter_description The width of the image. - * - * @parameter_name IMAGE_HEIGHT - * @parameter_type int - * @parameter_value 240 - * @parameter_description The height of the image. - * * @parameter_name MIN_WIDTH * @parameter_type int --- 68,71 ---- *************** *** 138,143 **** //parameters - m_width = dereference_cast<int>(parameters.get("IMAGE_WIDTH")); - m_height = dereference_cast<int>(parameters.get("IMAGE_HEIGHT")); m_minWidth = dereference_cast<int>(parameters.get("MIN_WIDTH")); m_minHeight = dereference_cast<int>(parameters.get("MIN_HEIGHT")); --- 128,131 ---- *************** *** 162,165 **** --- 150,156 ---- ComponentsData &cData = object_cast<ComponentsData>(ComponentsValue); + m_width = cData.getWidth(); + m_height = cData.getHeight(); + //getting probable symbols list<pair<CRect*, CRect*> > symbol_list; Index: SignTracking.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Behaviors/src/SignTracking.cc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SignTracking.cc 6 Aug 2004 13:24:22 -0000 1.1 --- SignTracking.cc 16 Aug 2004 19:43:43 -0000 1.2 *************** *** 80,93 **** * @output_description The minimum size (in pixel) around the blob in the image. * - * @parameter_name IMAGE_WIDTH - * @parameter_type int - * @parameter_value 320 - * @parameter_description The width of the image. - * - * @parameter_name IMAGE_HEIGHT - * @parameter_type int - * @parameter_value 240 - * @parameter_description The height of the image. - * * @parameter_name MIN_WIDTH * @parameter_type int --- 80,83 ---- *************** *** 156,161 **** //parameters - m_width = dereference_cast<int>(parameters.get("IMAGE_WIDTH")); - m_height = dereference_cast<int>(parameters.get("IMAGE_HEIGHT")); m_minWidth = dereference_cast<int>(parameters.get("MIN_WIDTH")); m_minHeight = dereference_cast<int>(parameters.get("MIN_HEIGHT")); --- 146,149 ---- *************** *** 179,182 **** --- 167,173 ---- ComponentsData &cData = object_cast<ComponentsData>(getInput(m_componentsID,count)); + m_width = cData.getWidth(); + m_height = cData.getHeight(); + //getting probable symbols list<pair<CRect*, CRect*> > symbol_list; |
From: Dominic L. <ma...@us...> - 2004-08-16 19:35:45
|
Update of /cvsroot/robotflow/RobotFlow/Vision/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16101 Modified Files: Components.cc Log Message: fixed wrong index if image is not of RGB15 value, throw exception when wrong image format Index: Components.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/Components.cc,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Components.cc 13 Aug 2004 15:52:45 -0000 1.8 --- Components.cc 16 Aug 2004 19:35:35 -0000 1.9 *************** *** 159,165 **** ! ! get_components(data); ! --- 159,165 ---- ! if (data) { ! get_components(data); ! } *************** *** 307,311 **** ////////////////////////////////////////////////////////////////////*/ void Components::initialize (int width, int height, int num_colors) { ! //creating data structures if (!m_rect_array) { --- 307,311 ---- ////////////////////////////////////////////////////////////////////*/ void Components::initialize (int width, int height, int num_colors) { ! //creating data structures if (!m_rect_array) { *************** *** 353,357 **** //color lookup ! value = m_color_table[*image_ptr++]; // if (i < 3 || i > m_height -3) continue; --- 353,357 ---- //color lookup ! value = m_color_table[(*image_ptr++) & 0x7FFF]; // if (i < 3 || i > m_height -3) continue; *************** *** 361,366 **** if (value >> index & 0x1) { - - if (m_cell_list[index][i].empty()) { my_cell = &m_cell_array[m_cell_count++]; --- 361,364 ---- *************** *** 368,374 **** my_cell->set_color(index); m_cell_list[index][i].push_back(my_cell); - } - else { old_cell = m_cell_list[index][i].back(); --- 366,370 ---- *************** *** 385,397 **** } - if (m_cell_count == MAX_CELLS) { cerr<<"Too many cells!"<<endl; return; ! } ! ! } - } } --- 381,389 ---- } if (m_cell_count == MAX_CELLS) { cerr<<"Too many cells!"<<endl; return; ! } } } } *************** *** 468,471 **** --- 460,467 ---- Image &image = object_cast<Image>(getInput(m_imageID,count)); + if (image.get_pixelsize() != 2) { + throw new GeneralException("Must have a RGB15 image format",__FILE__,__LINE__); + } + //cerr<<"getting lookup"<<endl; ColorLookup &lookup = object_cast<ColorLookup>(getInput(m_lookupID,count)); |
From: Mathieu L. <ml...@us...> - 2004-08-16 19:20:15
|
Update of /cvsroot/robotflow/RobotFlow/Pioneer2/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12691/src Modified Files: Pioneer2Connect.cc Pioneer2PacketManager.cc Log Message: We can now disabled all sonars, enabled all sonars, enabled only front sonars or enabled only rear sonars. Index: Pioneer2Connect.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Pioneer2/src/Pioneer2Connect.cc,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Pioneer2Connect.cc 3 Dec 2003 20:48:42 -0000 1.7 --- Pioneer2Connect.cc 16 Aug 2004 19:20:03 -0000 1.8 *************** *** 48,55 **** * @parameter_description Enable motor on startup if TRUE, otherwise the motor must be enable manually (white button on Pioneer2 * ! * @parameter_name SonarEnable * @parameter_type bool * @parameter_value true ! * @parameter_description Enable sonar on startup if TRUE, otherwise the sonar are not activated. * * @parameter_name SERIAL_PORT --- 48,60 ---- * @parameter_description Enable motor on startup if TRUE, otherwise the motor must be enable manually (white button on Pioneer2 * ! * @parameter_name FrontSonarEnable * @parameter_type bool * @parameter_value true ! * @parameter_description Enable front sonars on startup if TRUE, otherwise the sonar are not activated. ! * ! * @parameter_name RearSonarEnable ! * @parameter_type bool ! * @parameter_value true ! * @parameter_description Enable rear sonars on startup if TRUE, otherwise the sonar are not activated. * * @parameter_name SERIAL_PORT *************** *** 69,73 **** m_motorEnable = dereference_cast<bool> (parameters.get("MotorEnable")); ! m_sonarEnable = dereference_cast<bool> (parameters.get("SonarEnable")); m_serial_port = object_cast<String>(parameters.get("SERIAL_PORT")); --- 74,79 ---- m_motorEnable = dereference_cast<bool> (parameters.get("MotorEnable")); ! m_frontSonarsEnable = dereference_cast<bool> (parameters.get("FrontSonarEnable")); ! m_rearSonarsEnable = dereference_cast<bool> (parameters.get("RearSonarEnable")); m_serial_port = object_cast<String>(parameters.get("SERIAL_PORT")); *************** *** 89,103 **** //enable motors? if(!m_motorEnable) { Pioneer2PacketManager::instance()->send_motor_command(0); } else { ! cerr << "Pioneer2Connect Enabling motors"<<endl; Pioneer2PacketManager::instance()->send_motor_command(1); } ! //enable sonars? ! if(!m_sonarEnable) { Pioneer2PacketManager::instance()->send_sonar_command(0); } // initialization is done --- 95,130 ---- //enable motors? if(!m_motorEnable) { + cerr << "Pioneer2Connect Disabling motors" << endl; Pioneer2PacketManager::instance()->send_motor_command(0); } else { ! cerr << "Pioneer2Connect Enabling motors" << endl; Pioneer2PacketManager::instance()->send_motor_command(1); } ! // disable all sonars ! if(!m_frontSonarsEnable && !m_rearSonarsEnable) { ! cerr << "Pioneer2Connect Disabling all sonars" << endl; Pioneer2PacketManager::instance()->send_sonar_command(0); } + // disable front sonars and enable rear sonars + else if(!m_frontSonarsEnable && m_rearSonarsEnable) + { + cerr << "Pioneer2Connect Disabling front sonars, Enabling rear sonars" << endl; + Pioneer2PacketManager::instance()->send_rear_sonar_command(); + } + // enable front sonars and disable rear sonars + else if(m_frontSonarsEnable && !m_rearSonarsEnable) + { + cerr << "Pioneer2Connect Enabling front sonars, Disabling rear sonars" << endl; + Pioneer2PacketManager::instance()->send_front_sonar_command(); + } + // m_frontSonarsEnable && m_rearSonarsEnable + else + { + // Send nothing... by default all sonars are enable + cerr << "Pioneer2Connect Enabling all sonars" << endl; + } + // initialization is done Index: Pioneer2PacketManager.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Pioneer2/src/Pioneer2PacketManager.cc,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Pioneer2PacketManager.cc 1 Dec 2003 21:52:59 -0000 1.14 --- Pioneer2PacketManager.cc 16 Aug 2004 19:20:03 -0000 1.15 *************** *** 977,984 **** --- 977,993 ---- send_int_command(ENABLE,command); } + void Pioneer2PacketManager::send_sonar_command(short command) { send_int_command(SONAR,command); } + void Pioneer2PacketManager::send_front_sonar_command() { + send_string_command(POLLING,"\001\002\003\004\005\006\007\010"); + } + + void Pioneer2PacketManager::send_rear_sonar_command() { + send_string_command(POLLING,"\011\012\013\014\015\016\017\020"); + } + void Pioneer2PacketManager::send_reset_translational_acc(short command) { send_signed_int_command(SETA,command); |
From: Mathieu L. <ml...@us...> - 2004-08-16 19:20:11
|
Update of /cvsroot/robotflow/RobotFlow/Pioneer2/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12691/include Modified Files: Pioneer2Connect.h Pioneer2PacketManager.h Log Message: We can now disabled all sonars, enabled all sonars, enabled only front sonars or enabled only rear sonars. Index: Pioneer2Connect.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Pioneer2/include/Pioneer2Connect.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Pioneer2Connect.h 1 Dec 2003 21:52:53 -0000 1.5 --- Pioneer2Connect.h 16 Aug 2004 19:20:02 -0000 1.6 *************** *** 43,47 **** bool m_motorEnable; ! bool m_sonarEnable; }; --- 43,48 ---- bool m_motorEnable; ! bool m_frontSonarsEnable; ! bool m_rearSonarsEnable; }; Index: Pioneer2PacketManager.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Pioneer2/include/Pioneer2PacketManager.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Pioneer2PacketManager.h 1 Dec 2003 21:52:53 -0000 1.4 --- Pioneer2PacketManager.h 16 Aug 2004 19:20:02 -0000 1.5 *************** *** 147,150 **** --- 147,152 ---- void send_rotational_acc(short command); void send_sonar_command(short command); + void send_front_sonar_command(); + void send_rear_sonar_command(); void send_stop_command(); void send_digout_command(short command); |
From: Dominic L. <ma...@us...> - 2004-08-16 19:19:41
|
Update of /cvsroot/robotflow/RobotFlow/Probes/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12814 Modified Files: VirtualJoystick.cc Log Message: removed all toggle buttons Index: VirtualJoystick.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Probes/src/VirtualJoystick.cc,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** VirtualJoystick.cc 16 Aug 2004 14:56:20 -0000 1.6 --- VirtualJoystick.cc 16 Aug 2004 19:19:23 -0000 1.7 *************** *** 169,172 **** --- 169,173 ---- gtk_signal_connect (GTK_OBJECT (m_pButton2), "released",GTK_SIGNAL_FUNC (button2_click),this); + /* // Joystick toggle button 3 tmp_toolbar_icon = gtk_button_new_with_label("T1"); *************** *** 193,197 **** //show button 4 gtk_widget_show (m_pButton4); ! } //create buttons widgets if required --- 194,199 ---- //show button 4 gtk_widget_show (m_pButton4); ! ! */ } //create buttons widgets if required *************** *** 371,375 **** if (m_buttonsVisible) { ! size = 6; } else { --- 373,377 ---- if (m_buttonsVisible) { ! size = 4; } else { *************** *** 386,391 **** (*data)[2] = (float) m_button1_on; (*data)[3] = (float) m_button2_on; ! (*data)[4] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_pButton3)); ! (*data)[5] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_pButton4)); } --- 388,393 ---- (*data)[2] = (float) m_button1_on; (*data)[3] = (float) m_button2_on; ! //(*data)[4] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_pButton3)); ! //(*data)[5] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_pButton4)); } |
From: Dominic L. <ma...@us...> - 2004-08-16 17:43:05
|
Update of /cvsroot/robotflow/RobotFlow/Probes/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25373 Modified Files: CheckBoxPanel.cc Log Message: added default values for checkboxes Index: CheckBoxPanel.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Probes/src/CheckBoxPanel.cc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CheckBoxPanel.cc 16 Aug 2004 16:57:25 -0000 1.1 --- CheckBoxPanel.cc 16 Aug 2004 17:42:56 -0000 1.2 *************** *** 41,46 **** * @parameter_name CHECKBOXES * @parameter_type string ! * @parameter_value label1:label2 ! * @parameter_description Checkboxes labels separated by ":" * * @output_name OUTPUT --- 41,46 ---- * @parameter_name CHECKBOXES * @parameter_type string ! * @parameter_value label1;false:label2;true ! * @parameter_description Checkboxes labels separated by ":". Default value can be specified by adding ;true ;false at the end. * * @output_name OUTPUT *************** *** 111,141 **** for (int pos = 0; pos != string::npos;) { int next_pos = m_checkboxNames.find(":",pos + 1); if (next_pos != string::npos) { ! string val = m_checkboxNames.substr(pos,next_pos - pos); ! ! GtkWidget *check = gtk_check_button_new_with_label(val.c_str()); ! gtk_widget_ref(check); ! gtk_widget_show(check); ! ! gtk_box_pack_start (GTK_BOX (m_vbox), check, TRUE, TRUE, 0); ! m_checkboxes.push_back(check); ! pos = next_pos + 1; } else { ! string val = m_checkboxNames.substr(pos,m_checkboxNames.size() - pos); ! ! GtkWidget *check = gtk_check_button_new_with_label(val.c_str()); ! gtk_widget_ref(check); ! gtk_widget_show(check); ! gtk_box_pack_start (GTK_BOX (m_vbox), check, TRUE, TRUE, 0); ! m_checkboxes.push_back(check); ! pos = string::npos; } } --- 111,151 ---- for (int pos = 0; pos != string::npos;) { + bool state = false; + string val; int next_pos = m_checkboxNames.find(":",pos + 1); + //is that the last label ? if (next_pos != string::npos) { ! val = m_checkboxNames.substr(pos,next_pos - pos); pos = next_pos + 1; } else { + val = m_checkboxNames.substr(pos,m_checkboxNames.size() - pos); + pos = string::npos; + } ! //default value specified ? ! int default_value_pos = val.find(";"); ! ! if (default_value_pos != string::npos) { ! string true_false = val.substr(default_value_pos + 1, val.size() - default_value_pos); ! if (true_false == "true") { ! state = TRUE; ! } ! //set null character to avoid display of default value in the label ! val[default_value_pos] = '\0'; } + + //create the widget + GtkWidget *check = gtk_check_button_new_with_label(val.c_str()); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check),state); + + gtk_widget_ref(check); + gtk_widget_show(check); + gtk_box_pack_start (GTK_BOX (m_vbox), check, TRUE, TRUE, 0); + + m_checkboxes.push_back(check); } *************** *** 162,171 **** int state = (int) gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_checkboxes[i])); - vect->push_back(state); } - - gdk_threads_leave(); --- 172,178 ---- |
From: Dominic L. <ma...@us...> - 2004-08-16 16:57:35
|
Update of /cvsroot/robotflow/RobotFlow/Probes/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16431 Modified Files: Makefile.am Added Files: CheckBoxPanel.cc Log Message: added new CheckBoxPanel with user defined labels and size --- NEW FILE: CheckBoxPanel.cc --- /* Copyright (C) 2004 Dominic Letourneau (dom...@us...) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _CHECKBOXPANEL_CC_ #define _CHECKBOXPANEL_CC_ #include "Object.h" #include "Exception.h" #include "BufferedNode.h" #include <gnome.h> #include <pthread.h> #include "gdk-pixbuf/gdk-pixbuf.h" #include "libgnomecanvas/gnome-canvas-pixbuf.h" #include <Vector.h> //forward declaration class CheckBoxPanel; using namespace std; DECLARE_NODE(CheckBoxPanel) /*Node * * @name CheckBoxPanel * @category RobotFlow:Probes * @description Display vertical checkboxes and output the state * * @parameter_name CHECKBOXES * @parameter_type string * @parameter_value label1:label2 * @parameter_description Checkboxes labels separated by ":" * * @output_name OUTPUT * @output_type Vector<int> * @output_description The state of the checkboxes * END*/ static gboolean ignore_delete(GtkWidget *widget, GdkEvent *event, CheckBoxPanel *panel) { return TRUE; } class CheckBoxPanel : public BufferedNode { private: int m_outputID; GtkWidget *m_window; GtkWidget *m_vbox; String m_checkboxNames; vector<GtkWidget*> m_checkboxes; public: CheckBoxPanel(string nodeName, ParameterSet params) : BufferedNode(nodeName, params) { //parameters m_checkboxNames = object_cast<String>(parameters.get("CHECKBOXES")); //output(s) m_outputID = addOutput("OUTPUT"); } virtual ~CheckBoxPanel() { gdk_threads_enter(); gtk_object_destroy(GTK_OBJECT(m_window)); gdk_threads_leave(); } void initialize() { BufferedNode::initialize(); gdk_threads_enter(); m_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_object_set_data (GTK_OBJECT (m_window), "window1", m_window); gtk_window_set_title (GTK_WINDOW (m_window), _("CheckBoxPanel")); gtk_window_set_default_size(GTK_WINDOW(m_window), 150,50); m_vbox = gtk_vbox_new (FALSE, 0); gtk_widget_ref (m_vbox); gtk_object_set_data_full (GTK_OBJECT (m_window), "vbox1", m_vbox, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (m_vbox); gtk_container_add (GTK_CONTAINER (m_window), m_vbox); for (int pos = 0; pos != string::npos;) { int next_pos = m_checkboxNames.find(":",pos + 1); if (next_pos != string::npos) { string val = m_checkboxNames.substr(pos,next_pos - pos); GtkWidget *check = gtk_check_button_new_with_label(val.c_str()); gtk_widget_ref(check); gtk_widget_show(check); gtk_box_pack_start (GTK_BOX (m_vbox), check, TRUE, TRUE, 0); m_checkboxes.push_back(check); pos = next_pos + 1; } else { string val = m_checkboxNames.substr(pos,m_checkboxNames.size() - pos); GtkWidget *check = gtk_check_button_new_with_label(val.c_str()); gtk_widget_ref(check); gtk_widget_show(check); gtk_box_pack_start (GTK_BOX (m_vbox), check, TRUE, TRUE, 0); m_checkboxes.push_back(check); pos = string::npos; } } gtk_signal_connect (GTK_OBJECT (m_window), "delete-event", GTK_SIGNAL_FUNC (ignore_delete), this); gtk_widget_show (m_window); gdk_threads_leave(); } void calculate(int output_id, int count, Buffer &out) { try { Vector<int> *vect = new Vector<int>(); gdk_threads_enter(); for (int i = 0; i < m_checkboxes.size(); i++) { int state = (int) gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_checkboxes[i])); vect->push_back(state); } gdk_threads_leave(); //output vector out[count] = ObjectRef(vect); }//try catch (BaseException *e) { throw e->add(new NodeException (NULL,"Caught Exception in PixbufProbe (calculate)",__FILE__,__LINE__)); } } };//end class CheckBoxPanel #endif Index: Makefile.am =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Probes/src/Makefile.am,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Makefile.am 26 Jul 2004 15:13:49 -0000 1.11 --- Makefile.am 16 Aug 2004 16:57:25 -0000 1.12 *************** *** 19,23 **** PTZControl.cc \ $(IMAGEPROBE_SDL_SOURCE) \ ! SymbolKeypad.cc --- 19,24 ---- PTZControl.cc \ $(IMAGEPROBE_SDL_SOURCE) \ ! SymbolKeypad.cc \ ! CheckBoxPanel.cc |
From: Dominic L. <ma...@us...> - 2004-08-16 14:56:29
|
Update of /cvsroot/robotflow/RobotFlow/Probes/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24212 Modified Files: VirtualJoystick.cc Log Message: Do not display handle box if no buttons are present Index: VirtualJoystick.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Probes/src/VirtualJoystick.cc,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** VirtualJoystick.cc 16 Aug 2004 14:50:47 -0000 1.5 --- VirtualJoystick.cc 16 Aug 2004 14:56:20 -0000 1.6 *************** *** 117,133 **** gtk_widget_show (m_pVbox2); gtk_container_add (GTK_CONTAINER (m_pWindow1), m_pVbox2); - - //create handlebox - handlebox = gtk_handle_box_new (); - gtk_widget_ref (handlebox); - gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "handlebox", handlebox,(GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (handlebox); - gtk_box_pack_start (GTK_BOX (m_pVbox2), handlebox, FALSE, FALSE, 0); - gtk_handle_box_set_snap_edge (GTK_HANDLE_BOX (handlebox), GTK_POS_LEFT); - //create toolbar if user wants to display buttons if (m_buttonsVisible) { ! m_pToolbar2 = gtk_toolbar_new (); --- 117,132 ---- gtk_widget_show (m_pVbox2); gtk_container_add (GTK_CONTAINER (m_pWindow1), m_pVbox2); //create toolbar if user wants to display buttons if (m_buttonsVisible) { ! ! //create handlebox ! handlebox = gtk_handle_box_new (); ! gtk_widget_ref (handlebox); ! gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "handlebox", handlebox,(GtkDestroyNotify) gtk_widget_unref); ! gtk_widget_show (handlebox); ! gtk_box_pack_start (GTK_BOX (m_pVbox2), handlebox, FALSE, FALSE, 0); ! gtk_handle_box_set_snap_edge (GTK_HANDLE_BOX (handlebox), GTK_POS_LEFT); ! m_pToolbar2 = gtk_toolbar_new (); *************** *** 204,211 **** if (m_buttonsVisible) { ! gtk_window_set_default_size(GTK_WINDOW(m_pWindow1), 500,500); } else { ! gtk_window_set_default_size(GTK_WINDOW(m_pWindow1), 350,400); } --- 203,210 ---- if (m_buttonsVisible) { ! gtk_window_set_default_size(GTK_WINDOW(m_pWindow1), 450,500); } else { ! gtk_window_set_default_size(GTK_WINDOW(m_pWindow1), 350,350); } |
From: Dominic L. <ma...@us...> - 2004-08-16 14:50:56
|
Update of /cvsroot/robotflow/RobotFlow/Probes/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23210/src Modified Files: VirtualJoystick.cc Log Message: Added parameter to display or not display buttons Index: VirtualJoystick.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Probes/src/VirtualJoystick.cc,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** VirtualJoystick.cc 23 Jun 2004 20:21:15 -0000 1.4 --- VirtualJoystick.cc 16 Aug 2004 14:50:47 -0000 1.5 *************** *** 16,20 **** * @name VirtualJoystick * @category RobotFlow:Probes ! * @description * * @output_name OUTPUT --- 16,25 ---- * @name VirtualJoystick * @category RobotFlow:Probes ! * @description Virtual joystick with 2 standard buttons and 2 toggle buttons ! * ! * @parameter_name BUTTONS_VISIBLE ! * @parameter_type bool ! * @parameter_value true ! * @parameter_description True if you want to use buttons. * * @output_name OUTPUT *************** *** 51,54 **** --- 56,62 ---- m_toggleButton4_on = false; + //get parameters + m_buttonsVisible = dereference_cast<bool>(parameters.get("BUTTONS_VISIBLE")); + m_pWindow1 = NULL; *************** *** 119,190 **** gtk_handle_box_set_snap_edge (GTK_HANDLE_BOX (handlebox), GTK_POS_LEFT); ! //create toolbar ! //m_pToolbar2 = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH); ! m_pToolbar2 = gtk_toolbar_new (); ! ! gtk_widget_ref (m_pToolbar2); ! gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "m_pToolbar2", m_pToolbar2, (GtkDestroyNotify) gtk_widget_unref); ! gtk_widget_show (m_pToolbar2); ! gtk_container_add (GTK_CONTAINER (handlebox), m_pToolbar2); ! ! // Joystick button 1 ! //tmp_toolbar_icon = gnome_stock_pixmap_widget (m_pWindow1, GNOME_STOCK_PIXMAP_DOWN); ! ! tmp_toolbar_icon = gtk_button_new_from_stock ("gtk-go-down"); ! ! ! m_pButton1 = gtk_toolbar_append_element (GTK_TOOLBAR (m_pToolbar2), GTK_TOOLBAR_CHILD_BUTTON,NULL, _("STOP"), ! NULL, NULL,tmp_toolbar_icon, NULL, NULL); ! gtk_widget_ref (m_pButton1); ! gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "m_pButton1", m_pButton1,(GtkDestroyNotify) gtk_widget_unref); ! gtk_button_set_relief(GTK_BUTTON(m_pButton1), GTK_RELIEF_NONE); ! ! gtk_widget_show (m_pButton1); ! ! gtk_signal_connect (GTK_OBJECT (m_pButton1), "pressed",GTK_SIGNAL_FUNC (button1_click),this); ! gtk_signal_connect (GTK_OBJECT (m_pButton1), "released",GTK_SIGNAL_FUNC (button1_click),this); ! ! // Joystick button 2 ! //tmp_toolbar_icon = gnome_stock_pixmap_widget (m_pWindow1, GNOME_STOCK_PIXMAP_DOWN); ! tmp_toolbar_icon = gtk_button_new_from_stock ("gtk-go-down"); ! ! ! m_pButton2 = gtk_toolbar_append_element (GTK_TOOLBAR (m_pToolbar2), GTK_TOOLBAR_CHILD_BUTTON,NULL, _("START"), ! NULL, NULL,tmp_toolbar_icon, NULL, NULL); ! gtk_widget_ref (m_pButton2); ! gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "m_pButton2", m_pButton2,(GtkDestroyNotify) gtk_widget_unref); ! gtk_button_set_relief(GTK_BUTTON(m_pButton2), GTK_RELIEF_NONE); ! ! gtk_widget_show (m_pButton2); ! ! gtk_signal_connect (GTK_OBJECT (m_pButton2), "pressed",GTK_SIGNAL_FUNC (button2_click),this); ! gtk_signal_connect (GTK_OBJECT (m_pButton2), "released",GTK_SIGNAL_FUNC (button2_click),this); ! ! // Joystick toggle button 3 ! tmp_toolbar_icon = gtk_button_new_with_label("T1"); ! m_pButton3 = gtk_toolbar_append_element (GTK_TOOLBAR (m_pToolbar2), GTK_TOOLBAR_CHILD_TOGGLEBUTTON,NULL, _("WANDER"), ! NULL, NULL,tmp_toolbar_icon, NULL, NULL); ! ! gtk_widget_ref (m_pButton3); ! gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "m_pButton3", m_pButton3,(GtkDestroyNotify) gtk_widget_unref); ! ! //show button 3 ! gtk_widget_show (m_pButton3); ! ! ! // Joystick toggle button 4 ! tmp_toolbar_icon = gtk_button_new_with_label("T2"); ! ! ! m_pButton4 = gtk_toolbar_append_element (GTK_TOOLBAR (m_pToolbar2), GTK_TOOLBAR_CHILD_TOGGLEBUTTON,NULL, _("AVOID"), ! NULL, NULL,tmp_toolbar_icon, NULL, NULL); ! ! gtk_widget_ref (m_pButton4); ! gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "m_pButton4", m_pButton4,(GtkDestroyNotify) gtk_widget_unref); ! ! //show button 4 ! gtk_widget_show (m_pButton4); ! //canvas --- 127,199 ---- gtk_handle_box_set_snap_edge (GTK_HANDLE_BOX (handlebox), GTK_POS_LEFT); ! //create toolbar if user wants to display buttons ! if (m_buttonsVisible) { ! m_pToolbar2 = gtk_toolbar_new (); ! ! gtk_widget_ref (m_pToolbar2); ! gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "m_pToolbar2", m_pToolbar2, (GtkDestroyNotify) gtk_widget_unref); ! gtk_widget_show (m_pToolbar2); ! gtk_container_add (GTK_CONTAINER (handlebox), m_pToolbar2); ! ! // Joystick button 1 ! //tmp_toolbar_icon = gnome_stock_pixmap_widget (m_pWindow1, GNOME_STOCK_PIXMAP_DOWN); ! ! tmp_toolbar_icon = gtk_button_new_from_stock ("gtk-go-down"); ! ! ! m_pButton1 = gtk_toolbar_append_element (GTK_TOOLBAR (m_pToolbar2), GTK_TOOLBAR_CHILD_BUTTON,NULL, _("STOP"), ! NULL, NULL,tmp_toolbar_icon, NULL, NULL); ! gtk_widget_ref (m_pButton1); ! gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "m_pButton1", m_pButton1,(GtkDestroyNotify) gtk_widget_unref); ! gtk_button_set_relief(GTK_BUTTON(m_pButton1), GTK_RELIEF_NONE); ! ! gtk_widget_show (m_pButton1); ! ! gtk_signal_connect (GTK_OBJECT (m_pButton1), "pressed",GTK_SIGNAL_FUNC (button1_click),this); ! gtk_signal_connect (GTK_OBJECT (m_pButton1), "released",GTK_SIGNAL_FUNC (button1_click),this); ! ! // Joystick button 2 ! //tmp_toolbar_icon = gnome_stock_pixmap_widget (m_pWindow1, GNOME_STOCK_PIXMAP_DOWN); ! tmp_toolbar_icon = gtk_button_new_from_stock ("gtk-go-down"); ! ! ! m_pButton2 = gtk_toolbar_append_element (GTK_TOOLBAR (m_pToolbar2), GTK_TOOLBAR_CHILD_BUTTON,NULL, _("START"), ! NULL, NULL,tmp_toolbar_icon, NULL, NULL); ! gtk_widget_ref (m_pButton2); ! gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "m_pButton2", m_pButton2,(GtkDestroyNotify) gtk_widget_unref); ! gtk_button_set_relief(GTK_BUTTON(m_pButton2), GTK_RELIEF_NONE); ! ! gtk_widget_show (m_pButton2); ! ! gtk_signal_connect (GTK_OBJECT (m_pButton2), "pressed",GTK_SIGNAL_FUNC (button2_click),this); ! gtk_signal_connect (GTK_OBJECT (m_pButton2), "released",GTK_SIGNAL_FUNC (button2_click),this); ! ! // Joystick toggle button 3 ! tmp_toolbar_icon = gtk_button_new_with_label("T1"); ! m_pButton3 = gtk_toolbar_append_element (GTK_TOOLBAR (m_pToolbar2), GTK_TOOLBAR_CHILD_TOGGLEBUTTON,NULL, _("WANDER"), ! NULL, NULL,tmp_toolbar_icon, NULL, NULL); ! ! gtk_widget_ref (m_pButton3); ! gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "m_pButton3", m_pButton3,(GtkDestroyNotify) gtk_widget_unref); ! ! //show button 3 ! gtk_widget_show (m_pButton3); ! ! ! // Joystick toggle button 4 ! tmp_toolbar_icon = gtk_button_new_with_label("T2"); ! ! ! m_pButton4 = gtk_toolbar_append_element (GTK_TOOLBAR (m_pToolbar2), GTK_TOOLBAR_CHILD_TOGGLEBUTTON,NULL, _("AVOID"), ! NULL, NULL,tmp_toolbar_icon, NULL, NULL); ! ! gtk_widget_ref (m_pButton4); ! gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "m_pButton4", m_pButton4,(GtkDestroyNotify) gtk_widget_unref); ! ! //show button 4 ! gtk_widget_show (m_pButton4); ! ! } //create buttons widgets if required //canvas *************** *** 193,197 **** gtk_widget_pop_visual (); ! gtk_window_set_default_size(GTK_WINDOW(m_pWindow1), 500,500); gtk_widget_ref (canvas1); gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "canvas1", canvas1, --- 202,213 ---- gtk_widget_pop_visual (); ! ! if (m_buttonsVisible) { ! gtk_window_set_default_size(GTK_WINDOW(m_pWindow1), 500,500); ! } ! else { ! gtk_window_set_default_size(GTK_WINDOW(m_pWindow1), 350,400); ! } ! gtk_widget_ref (canvas1); gtk_object_set_data_full (GTK_OBJECT (m_pWindow1), "canvas1", canvas1, *************** *** 271,275 **** switch(event->button.button) { case 1: ! printf("button1 clicked for virtual joystick : (%f, %f)\n",item_x,item_y); item_old_x = item_x; item_old_y = item_y; --- 287,291 ---- switch(event->button.button) { case 1: ! //printf("button1 clicked for virtual joystick : (%f, %f)\n",item_x,item_y); item_old_x = item_x; item_old_y = item_y; *************** *** 302,311 **** double b = (item_y) - (m * item_x); ! printf("(dx %f) (dy %f) (m %f) (b %f)\n", dx, dy,m,b); double x_pos = sqrt((25600 - b * b) / (1 + m * m)); double x_neg = - x_pos; ! printf("(xpos : %f) (xneg : %f)\n",x_pos,x_neg); } --- 318,327 ---- double b = (item_y) - (m * item_x); ! //printf("(dx %f) (dy %f) (m %f) (b %f)\n", dx, dy,m,b); double x_pos = sqrt((25600 - b * b) / (1 + m * m)); double x_neg = - x_pos; ! //printf("(xpos : %f) (xneg : %f)\n",x_pos,x_neg); } *************** *** 353,366 **** ! Vector<float> *data = Vector<float>::alloc(6); (*data)[0] = ((x2 + x1) / 2.0) - 160.0; (*data)[1] = 160.0 - ((y2 + y1) / 2.0); ! (*data)[2] = (float) m_button1_on; ! (*data)[3] = (float) m_button2_on; ! (*data)[4] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_pButton3)); ! (*data)[5] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_pButton4)); ! --- 369,393 ---- ! int size = 0; ! ! if (m_buttonsVisible) { ! size = 6; ! } ! else { ! size = 2; ! } ! ! Vector<float> *data = Vector<float>::alloc(size); (*data)[0] = ((x2 + x1) / 2.0) - 160.0; (*data)[1] = 160.0 - ((y2 + y1) / 2.0); ! ! if (m_buttonsVisible) { ! (*data)[2] = (float) m_button1_on; ! (*data)[3] = (float) m_button2_on; ! (*data)[4] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_pButton3)); ! (*data)[5] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_pButton4)); ! } |
From: Dominic L. <ma...@us...> - 2004-08-16 14:50:55
|
Update of /cvsroot/robotflow/RobotFlow/Probes/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23210/include Modified Files: VirtualJoystick.h Log Message: Added parameter to display or not display buttons Index: VirtualJoystick.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Probes/include/VirtualJoystick.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** VirtualJoystick.h 17 Jun 2004 01:03:51 -0000 1.3 --- VirtualJoystick.h 16 Aug 2004 14:50:46 -0000 1.4 *************** *** 1,20 **** // Copyright (C) 2002 Dominic Letourneau #ifndef _VIRTUALJOYSTICK_H_ #define _VIRTUALJOYSTICK_H_ #include "BufferedNode.h" #include <pthread.h> #include <gnome.h> ! class VirtualJoystick : public BufferedNode { protected: bool m_button1_on; bool m_button2_on; bool m_toggleButton3_on; bool m_toggleButton4_on; ! int m_inputID; int m_outputID; --- 1,31 ---- // Copyright (C) 2002 Dominic Letourneau + #ifndef _VIRTUALJOYSTICK_H_ #define _VIRTUALJOYSTICK_H_ + #include "BufferedNode.h" #include <pthread.h> #include <gnome.h> ! /** ! Virtual Joystick is a visual probe that shows a joystick with 2 standard buttons and 2 toggle buttons. ! \author Dominic Letourneau ! */ class VirtualJoystick : public BufferedNode { protected: + ///Flag for the visibility of all the buttons + bool m_buttonsVisible; + ///button 1 state bool m_button1_on; + ///button 2 state bool m_button2_on; + ///button 3 state bool m_toggleButton3_on; + ///button 4 state bool m_toggleButton4_on; ! ///The output vector containing the state of the virtual joystick int m_outputID; *************** *** 34,49 **** public: VirtualJoystick(string nodeName, ParameterSet params); virtual ~VirtualJoystick(); ! /**Class specific initialization routine. ! Each class will call its subclass specificInitialize() method*/ virtual void initialize(); virtual void calculate(int output_id, int count, Buffer &out); gint event(GdkEvent *event); bool change_button_status(int button_id); --- 45,82 ---- public: + /** + Constructor + \param nodeName The name of the node + \param params The parameters passed at construction + */ VirtualJoystick(string nodeName, ParameterSet params); + ///Destructor virtual ~VirtualJoystick(); ! /** ! Class specific initialization routine. ! Each class will call its subclass specificInitialize() method ! */ virtual void initialize(); + /** + Calculate inherited from BufferedNode + \param output_id the output to calculate + \param count the iteration number + \param out the buffer where to write the result + */ virtual void calculate(int output_id, int count, Buffer &out); + /** + Catch a GdkEvent on the canvas + \param event The GdkEvent + */ gint event(GdkEvent *event); + /** + Called when a button changed its status + \param button_id the id of the button + */ bool change_button_status(int button_id); |
From: Dominic L. <ma...@us...> - 2004-08-13 16:26:51
|
Update of /cvsroot/robotflow/RobotFlow/Vision/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27603/src Modified Files: ColorTracker.cc ComponentsViewer.cc HoughTransform.cc Image.cc InverseHough.cc JPEGLoadMemory.cc MultiColorTracker.cc Posterize.cc Scale.cc SymbolExtractor.cc SymbolTracker.cc Log Message: removed all possible hard coded image size Index: JPEGLoadMemory.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/JPEGLoadMemory.cc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** JPEGLoadMemory.cc 13 Jun 2004 19:44:11 -0000 1.2 --- JPEGLoadMemory.cc 13 Aug 2004 16:26:41 -0000 1.3 *************** *** 23,27 **** #include "Image.h" #include "BufferedNode.h" - #include "gdk-pixbuf/gdk-pixbuf.h" //forward declaration --- 23,26 ---- *************** *** 43,56 **** * @output_description The output image created from data * - * @parameter_name IMAGE_WIDTH - * @parameter_type int - * @parameter_value 320 - * @parameter_description the width of the image to create - * - * @parameter_name IMAGE_HEIGHT - * @parameter_type int - * @parameter_value 240 - * @parameter_description the height of the image to create - * END*/ --- 42,45 ---- *************** *** 62,75 **** int m_imageID; - GdkPixbuf *m_pixbuf; - - int m_width; - int m_height; - - public: JPEGLoadMemory(string nodeName, ParameterSet params) ! : BufferedNode(nodeName, params), m_pixbuf(NULL) { //input(s) --- 51,58 ---- int m_imageID; public: JPEGLoadMemory(string nodeName, ParameterSet params) ! : BufferedNode(nodeName, params) { //input(s) *************** *** 80,118 **** m_imageID = addOutput("IMAGE"); - //parameters(s) - m_width = dereference_cast<int>(parameters.get("IMAGE_WIDTH")); - m_height = dereference_cast<int>(parameters.get("IMAGE_HEIGHT")); - - g_type_init(); - } Image* create_image_from_data(String &image_data) { ! Image* output_image = NULL; ! ! GdkPixbufLoader* loader = gdk_pixbuf_loader_new_with_type("jpeg",NULL); ! gdk_pixbuf_loader_set_size(loader,m_width,m_height); ! gdk_pixbuf_loader_write(loader,(const guchar*) image_data.c_str(),image_data.size(),NULL); ! ! //close pixbuf loader, no more write ! gdk_pixbuf_loader_close(loader,NULL); ! ! //get pixbuf ! GdkPixbuf *pixbuf = gdk_pixbuf_loader_get_pixbuf(loader); ! ! if (pixbuf) { ! ! int num_channels = gdk_pixbuf_get_n_channels(pixbuf); ! unsigned char* pixbuf_ptr = gdk_pixbuf_get_pixels(pixbuf); ! output_image = Image::alloc(m_width,m_height,num_channels); ! memcpy(output_image->get_data(),gdk_pixbuf_get_pixels(pixbuf),m_width * m_height * num_channels); ! ! } ! ! g_object_unref(loader); - //delete pixbuf loader & pixbuf ? return output_image; } --- 63,74 ---- m_imageID = addOutput("IMAGE"); } Image* create_image_from_data(String &image_data) { ! Image* output_image = new Image; ! output_image->jpeg_decompress((unsigned char*) image_data.c_str(), image_data.size()); return output_image; } Index: HoughTransform.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/HoughTransform.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** HoughTransform.cc 20 Jan 2003 20:21:52 -0000 1.3 --- HoughTransform.cc 13 Aug 2004 16:26:41 -0000 1.4 *************** *** 52,65 **** * @description Apply a hough transform on image * - * @parameter_name WIDTH - * @parameter_type int - * @parameter_value 320 - * @parameter_description Image Width - * - * @parameter_name HEIGHT - * @parameter_type int - * @parameter_value 240 - * @parameter_description Image Height - * * @input_name MAGNITUDEMAP * @input_type IMAGE --- 52,55 ---- *************** *** 111,123 **** m_imageoutid = addOutput("Transform"); - m_width = dereference_cast<int>(parameters.get("WIDTH")); - m_height = dereference_cast<int>(parameters.get("HEIGHT")); - - m_centerx = m_width / 2; - m_centery = m_height / 2; - - // distance maximale d'un point au centre - m_rmax = (int)(sqrt((float) (m_width * m_width + m_height * m_height) ) / 2.0); - // Création d'une table de sinus et cosinus, pour accélérer le traitement par la suite for (int omega = 0; omega < 360; omega++) --- 101,104 ---- *************** *** 131,136 **** void calculate(int output_id, int count, Buffer &out) { ! int angle = (int)object_cast<Int>(getInput(m_angleid,count)); ! int absangleprec = (int)object_cast<Int>(getInput(m_absangleprecid,count)); assert (absangleprec <= 90); --- 112,131 ---- void calculate(int output_id, int count, Buffer &out) { ! ! //get all inputs ! Image &input_image = object_cast<Image>(getInput(m_imageinid,count)); ! const greyscale * data = (greyscale *)input_image.get_data(); ! int angle = dereference_cast<int>(getInput(m_angleid,count)); ! int absangleprec = dereference_cast<int>(getInput(m_absangleprecid,count)); ! ! //initialize image data ! m_width = input_image.get_width(); ! m_height = input_image.get_height(); ! ! m_centerx = m_width / 2; ! m_centery = m_height / 2; ! ! // distance maximale d'un point au centre ! m_rmax = (int)(sqrt((float) (m_width * m_width + m_height * m_height) ) / 2.0); assert (absangleprec <= 90); *************** *** 141,147 **** int omegamax = angle + absangleprec; ! Image &input_image = object_cast<Image>(getInput(m_imageinid,count)); ! const greyscale * data = (greyscale *)input_image.get_data(); ! int omegawidth = omegamax - omegamin; Image * hough = Image::alloc(omegawidth, m_rmax, 1); --- 136,140 ---- int omegamax = angle + absangleprec; ! int omegawidth = omegamax - omegamin; Image * hough = Image::alloc(omegawidth, m_rmax, 1); Index: SymbolExtractor.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/SymbolExtractor.cc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SymbolExtractor.cc 27 Jul 2004 20:32:34 -0000 1.2 --- SymbolExtractor.cc 13 Aug 2004 16:26:41 -0000 1.3 *************** *** 33,65 **** * @category RobotFlow:Vision * @description No description available ! * @parameter_name CHANNEL * @parameter_type int * @parameter_value 0 * @parameter_description Channel from which to extract the symbol ! ! * @parameter_name WIDTH ! * @parameter_type int ! * @parameter_value 320 ! * @parameter_description Width of the image (in pixels) ! ! * @parameter_name HEIGHT ! * @parameter_type int ! * @parameter_value 240 ! * @parameter_description Height of the image (in pixels) ! ! * @parameter_name DEPTH ! * @parameter_type int ! * @parameter_value 2 ! * @parameter_description Depth of the image (in bytes per pixel) ! * @input_name DATA * @input_description Extracted components data * @input_type ComponentsData ! * @input_name INDEX * @input_description Index of the symbol to extract * @input_type int ! * @output_name SYMBOL * @output_type CRect --- 33,50 ---- * @category RobotFlow:Vision * @description No description available ! * * @parameter_name CHANNEL * @parameter_type int * @parameter_value 0 * @parameter_description Channel from which to extract the symbol ! * * @input_name DATA * @input_description Extracted components data * @input_type ComponentsData ! * * @input_name INDEX * @input_description Index of the symbol to extract * @input_type int ! * * @output_name SYMBOL * @output_type CRect *************** *** 81,88 **** int m_width; int m_height; ! int m_depth; ! int m_channel; ! ! ObjectRef m_symbol; public: --- 66,72 ---- int m_width; int m_height; ! int m_channel; ! ! ObjectRef m_symbol; public: *************** *** 102,109 **** //parameters ! m_width = dereference_cast<int>(parameters.get("WIDTH")); ! m_height = dereference_cast<int>(parameters.get("HEIGHT")); ! m_depth = dereference_cast<int>(parameters.get("DEPTH")); ! m_channel = dereference_cast<int>(parameters.get("CHANNEL")); m_symbol = nilObject; } --- 86,91 ---- //parameters ! m_channel = dereference_cast<int>(parameters.get("CHANNEL")); ! m_symbol = nilObject; } *************** *** 118,121 **** --- 100,107 ---- ComponentsData &inData = object_cast<ComponentsData>(inputValue); + + m_width = inData.getWidth(); + m_height = inData.getHeight(); + int index = dereference_cast<int>(indexRef); Index: ComponentsViewer.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/ComponentsViewer.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ComponentsViewer.cc 27 Jul 2004 20:32:34 -0000 1.3 --- ComponentsViewer.cc 13 Aug 2004 16:26:41 -0000 1.4 *************** *** 28,63 **** /*Node ! * @name ComponentsViewer * @category RobotFlow:Vision * @description No description available ! ! * @parameter_name WIDTH ! * @parameter_type int ! * @parameter_value 320 ! * @parameter_description Width of the image (in pixels) ! ! * @parameter_name HEIGHT ! * @parameter_type int ! * @parameter_value 240 ! * @parameter_description Height of the image (in pixels) ! ! * @parameter_name DEPTH ! * @parameter_type int ! * @parameter_value 2 ! * @parameter_description Depth of the image (in bytes per pixel) ! * @input_name LOOKUP * @input_type ColorLookup * @input_description Color Lookup Table to display components ! * @input_name DATA * @input_description Extracted components data * @input_type ComponentsData ! * @output_name IMAGE * @output_type Image * @output_description Random Image ! END*/ --- 28,48 ---- /*Node ! * * @name ComponentsViewer * @category RobotFlow:Vision * @description No description available ! * * @input_name LOOKUP * @input_type ColorLookup * @input_description Color Lookup Table to display components ! * * @input_name DATA * @input_description Extracted components data * @input_type ComponentsData ! * * @output_name IMAGE * @output_type Image * @output_description Random Image ! * END*/ *************** *** 92,102 **** imageID = addOutput("IMAGE"); - //parameters - m_width = dereference_cast<int>(parameters.get("WIDTH")); - m_height = dereference_cast<int>(parameters.get("HEIGHT")); - m_depth = dereference_cast<int>(parameters.get("DEPTH")); - - //allocating memory for image - m_image = ObjectRef(Image::alloc(m_width,m_height,m_depth)); } --- 77,80 ---- *************** *** 107,110 **** --- 85,96 ---- ComponentsData &my_data = object_cast<ComponentsData>(inputValue); + //get image parameters + m_width = my_data.getWidth(); + m_height = my_data.getHeight(); + m_depth = 2; + + //allocating memory for image + m_image = ObjectRef(Image::alloc(m_width,m_height,2)); + get_average_channel_value(count); Index: InverseHough.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/InverseHough.cc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** InverseHough.cc 3 Jun 2002 19:03:23 -0000 1.2 --- InverseHough.cc 13 Aug 2004 16:26:41 -0000 1.3 *************** *** 45,58 **** * @description Reverts a hough transform * - * @parameter_name WIDTH - * @parameter_type int - * @parameter_value 320 - * @parameter_description Image Width - * - * @parameter_name HEIGHT - * @parameter_type int - * @parameter_value 240 - * @parameter_description Image Height - * * @input_name AbsAnglePrecision * @input_type int --- 45,48 ---- *************** *** 81,89 **** int m_linearrayid; int m_angleid; ! int m_absangleprecid; ! ! int m_width; ! int m_height; ! int m_centerx, m_centery, m_rmax; --- 71,75 ---- int m_linearrayid; int m_angleid; ! int m_absangleprecid; int m_centerx, m_centery, m_rmax; Index: Scale.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/Scale.cc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Scale.cc 27 Jul 2004 20:32:34 -0000 1.2 --- Scale.cc 13 Aug 2004 16:26:41 -0000 1.3 *************** *** 80,84 **** m_width = dereference_cast<int>(parameters.get("WIDTH")); m_height = dereference_cast<int>(parameters.get("HEIGHT")); ! m_debug = dereference_cast<int>(parameters.get("DEBUG")); } --- 80,84 ---- m_width = dereference_cast<int>(parameters.get("WIDTH")); m_height = dereference_cast<int>(parameters.get("HEIGHT")); ! m_debug = dereference_cast<int>(parameters.get("DEBUG")); } *************** *** 100,112 **** for (int i = 0; i < m_height; i++) { ! for (int j = 0; j < m_width; j++) { ! if ((*my_vect)[pos++] > 0) { ! cerr<<(*my_vect)[pos -1]<<" "; ! } ! else { ! cerr<<" "; ! } ! } ! cerr<<endl; } } --- 100,112 ---- for (int i = 0; i < m_height; i++) { ! for (int j = 0; j < m_width; j++) { ! if ((*my_vect)[pos++] > 0) { ! cerr<<(*my_vect)[pos -1]<<" "; ! } ! else { ! cerr<<" "; ! } ! } ! cerr<<endl; } } Index: SymbolTracker.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/SymbolTracker.cc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SymbolTracker.cc 6 Aug 2004 13:40:01 -0000 1.2 --- SymbolTracker.cc 13 Aug 2004 16:26:41 -0000 1.3 *************** *** 40,53 **** * @parameter_description The color number being tracked. * - * @parameter_name IMAGE_WIDTH - * @parameter_type int - * @parameter_value 320 - * @parameter_description The width of the image. - * - * @parameter_name IMAGE_HEIGHT - * @parameter_type int - * @parameter_value 240 - * @parameter_description The height of the image. - * * @input_name COMPONENTS * @input_type ComponentsData --- 40,43 ---- *************** *** 122,127 **** boundaryID = addOutput("BOUNDARY"); - m_width = dereference_cast<int>(parameters.get("IMAGE_WIDTH")); - m_height = dereference_cast<int>(parameters.get("IMAGE_HEIGHT")); m_foreground_color = dereference_cast<int>(parameters.get("FOREGROUND_COLOR_ID")); m_background_color = dereference_cast<int>(parameters.get("BACKGROUND_COLOR_ID")); --- 112,115 ---- *************** *** 143,146 **** --- 131,137 ---- ComponentsData &cData = object_cast<ComponentsData>(getInput(componentsID,count)); + m_width = cData.getWidth(); + m_height = cData.getHeight(); + //getting probable symbols list<pair<CRect*, CRect*> > symbol_list; Index: Image.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/Image.cc,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Image.cc 27 Jul 2004 20:32:34 -0000 1.14 --- Image.cc 13 Aug 2004 16:26:41 -0000 1.15 *************** *** 532,538 **** void Image::save_jpeg(const std::string &jpegfile, int quality) { ! unsigned char buffer[320 * 240 * 3]; ! int size = jpeg_compress(buffer,320 * 240 * 3,quality); ofstream outfile(jpegfile.c_str(),ios::binary); --- 532,538 ---- void Image::save_jpeg(const std::string &jpegfile, int quality) { ! unsigned char buffer[m_width * m_height * 3]; ! int size = jpeg_compress(buffer,m_width * m_height * 3,quality); ofstream outfile(jpegfile.c_str(),ios::binary); Index: ColorTracker.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/ColorTracker.cc,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ColorTracker.cc 27 Jul 2004 20:32:34 -0000 1.5 --- ColorTracker.cc 13 Aug 2004 16:26:41 -0000 1.6 *************** *** 31,57 **** * @category RobotFlow:Vision * @description No description available ! * @input_name COLOR_ID * @input_type int * @input_description The color number being tracked. ! ! * @parameter_name IMAGE_WIDTH ! * @parameter_type int ! * @parameter_value 320 ! * @parameter_description The width of the image. ! ! * @parameter_name IMAGE_HEIGHT ! * @parameter_type int ! * @parameter_value 240 ! * @parameter_description The height of the image. ! * @input_name COMPONENTS * @input_type ComponentsData * @input_description The components from the image. ! * @output_name DELTA_X * @output_type float * @output_description The difference between the center of the image ant the biggest blob (x). ! * @output_name DELTA_Y * @output_type float --- 31,47 ---- * @category RobotFlow:Vision * @description No description available ! * * @input_name COLOR_ID * @input_type int * @input_description The color number being tracked. ! * * @input_name COMPONENTS * @input_type ComponentsData * @input_description The components from the image. ! * * @output_name DELTA_X * @output_type float * @output_description The difference between the center of the image ant the biggest blob (x). ! * * @output_name DELTA_Y * @output_type float *************** *** 118,124 **** boundaryID = addOutput("BOUNDARY"); ! m_width = dereference_cast<int>(parameters.get("IMAGE_WIDTH")); ! m_height = dereference_cast<int>(parameters.get("IMAGE_HEIGHT")); ! // Use to calculate the mean of width of the beacon m_pXMinCell = new int [m_height]; --- 108,112 ---- boundaryID = addOutput("BOUNDARY"); ! // Use to calculate the mean of width of the beacon m_pXMinCell = new int [m_height]; *************** *** 148,153 **** void calculate(int output_id, int count, Buffer &out) { ! ! m_color = dereference_cast<int>(getInput(colorID,count)); --- 136,140 ---- void calculate(int output_id, int count, Buffer &out) { ! m_color = dereference_cast<int>(getInput(colorID,count)); *************** *** 160,163 **** --- 147,156 ---- ComponentsData &cData = object_cast<ComponentsData>(getInput(componentsID,count)); + //update image width from components data + m_width = cData.getWidth(); + m_height = cData.getHeight(); + + cerr<<"Colortracker : "<<m_width <<" " <<m_height<<endl; + list<CRect*> &my_list = cData.get_color_components(m_color); Index: MultiColorTracker.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/MultiColorTracker.cc,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** MultiColorTracker.cc 10 Dec 2003 20:05:45 -0000 1.6 --- MultiColorTracker.cc 13 Aug 2004 16:26:41 -0000 1.7 *************** *** 70,82 **** * @output_description number of color blobs processed * - * @parameter_name IMAGE_WIDTH - * @parameter_type int - * @parameter_value 320 - * @parameter_description Width of the image - * - * @parameter_name IMAGE_HEIGHT - * @parameter_type int - * @parameter_value 240 - * @parameter_description Height of the image * END*/ --- 70,73 ---- *************** *** 121,130 **** m_heightID = addOutput("HEIGHT"); m_boundaryID = addOutput("BOUNDARY"); ! m_nbBlobsID = addOutput("NB_BLOBS"); ! ! ! m_width = dereference_cast<int>(parameters.get("IMAGE_WIDTH")); ! m_height = dereference_cast<int>(parameters.get("IMAGE_HEIGHT")); ! } --- 112,116 ---- m_heightID = addOutput("HEIGHT"); m_boundaryID = addOutput("BOUNDARY"); ! m_nbBlobsID = addOutput("NB_BLOBS"); } *************** *** 141,145 **** RCPtr<Int> ColorValue = getInput(m_colorID,count); RCPtr<ComponentsData> ComponentsValue = getInput(m_componentsID,count); ! //getting color (int) int color = ColorValue->val(); --- 127,134 ---- RCPtr<Int> ColorValue = getInput(m_colorID,count); RCPtr<ComponentsData> ComponentsValue = getInput(m_componentsID,count); ! ! m_width = ComponentsValue->getWidth(); ! m_height = ComponentsValue->getHeight(); ! //getting color (int) int color = ColorValue->val(); Index: Posterize.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/Posterize.cc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Posterize.cc 27 Jul 2004 20:32:34 -0000 1.2 --- Posterize.cc 13 Aug 2004 16:26:41 -0000 1.3 *************** *** 32,45 **** * @description Converts an image to solid color values * - * @parameter_name WIDTH - * @parameter_type int - * @parameter_value 320 - * @parameter_description Width of the image. - * - * @parameter_name HEIGHT - * @parameter_type int - * @parameter_value 240 - * @parameter_description Height of the image. - * * @parameter_name THRESHOLD * @parameter_type float --- 32,35 ---- *************** *** 85,93 **** //parameters - mWidth = dereference_cast<int>(parameters.get("WIDTH")); - mHeight = dereference_cast<int>(parameters.get("HEIGHT")); mThreshold = dereference_cast<float>(parameters.get("THRESHOLD")); - mpImage = Image::alloc(mWidth,mHeight,2); } --- 75,80 ---- *************** *** 96,99 **** --- 83,91 ---- // Acquiring image Image &image = object_cast<Image>(getInput(mImageInID,count)); + + mWidth = image.get_width(); + mHeight = image.get_height(); + mpImage = Image::alloc(mWidth,mHeight,2); + unsigned short *pSourceImage = (unsigned short*) image.get_data(); unsigned short *pDestinationImage = (unsigned short*)mpImage->get_data(); |
From: Dominic L. <ma...@us...> - 2004-08-13 16:26:49
|
Update of /cvsroot/robotflow/RobotFlow/Vision/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27603/include Modified Files: lines.h Log Message: removed all possible hard coded image size Index: lines.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/include/lines.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** lines.h 3 Jun 2002 18:29:08 -0000 1.1 --- lines.h 13 Aug 2004 16:26:41 -0000 1.2 *************** *** 19,23 **** #include "Object.h" ! #include <iostream.h> struct line --- 19,23 ---- #include "Object.h" ! #include <iostream> struct line |
From: Dominic L. <ma...@us...> - 2004-08-13 15:52:53
|
Update of /cvsroot/robotflow/RobotFlow/Vision/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21374/src Modified Files: Components.cc ComponentsData.cc Log Message: taking WIDTH & HEIGHT directly from image data Index: Components.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/Components.cc,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Components.cc 27 Jul 2004 20:32:34 -0000 1.7 --- Components.cc 13 Aug 2004 15:52:45 -0000 1.8 *************** *** 28,41 **** * @description No description available * - * @parameter_name WIDTH - * @parameter_type int - * @parameter_value 320 - * @parameter_description Width of the image. - * - * @parameter_name HEIGHT - * @parameter_type int - * @parameter_value 240 - * @parameter_description Height of the image. - * * @parameter_name XGAP * @parameter_type int --- 28,31 ---- *************** *** 119,125 **** m_blobsID = addOutput("BLOBS");; - //parameters - int width = dereference_cast<int>(parameters.get("WIDTH")); - int height = dereference_cast<int>(parameters.get("HEIGHT")); int num_color = dereference_cast<int>(parameters.get("NUM_COLOR")); m_x_gap = dereference_cast<int>(parameters.get("XGAP")); --- 109,112 ---- *************** *** 128,132 **** //initialize the processing ! initialize(width,height,num_color); } --- 115,119 ---- //initialize the processing ! initialize(0,0,num_color); } *************** *** 163,173 **** unsigned short *data = (unsigned short*) image.get_data(); ! if (image.get_width() != m_width || ! image.get_height() != m_height) { ! throw new GeneralException("Image size mismatch",__FILE__,__LINE__); ! } get_components(data); } --- 150,168 ---- unsigned short *data = (unsigned short*) image.get_data(); ! //initialize components processing ! initialize(image.get_width(),image.get_height(),m_num_colors); ! ! //update image size ! m_width = image.get_width(); ! m_height = image.get_height(); ! ! ! get_components(data); + + + } *************** *** 312,324 **** ////////////////////////////////////////////////////////////////////*/ void Components::initialize (int width, int height, int num_colors) { - - //updating width and height - m_width = width; - m_height = height; - - //resizing cell list - for (int c = 0; c < MAX_COLOR; c++) { - m_cell_list[c].resize(m_height); - } //creating data structures --- 307,310 ---- *************** *** 331,338 **** } ! m_components_data = ObjectRef(new ComponentsData); m_num_colors = num_colors; ! m_cell_count = 0; m_rect_count = 0; --- 317,332 ---- } ! //resizing cell list ! for (int c = 0; c < MAX_COLOR; c++) { ! m_cell_list[c].resize(height); ! } + //update components data + m_components_data = ObjectRef(new ComponentsData(width,height)); + + //update internal variables m_num_colors = num_colors; ! m_width = width; ! m_height = height; m_cell_count = 0; m_rect_count = 0; *************** *** 478,486 **** m_color_table = lookup.get_lookup(); - - - //initialize components processing - initialize(image.get_width(),image.get_height(),m_num_colors); - //getting image components --- 472,475 ---- Index: ComponentsData.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/src/ComponentsData.cc,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ComponentsData.cc 27 Jul 2004 20:32:34 -0000 1.6 --- ComponentsData.cc 13 Aug 2004 15:52:45 -0000 1.7 *************** *** 20,31 **** DECLARE_TYPE(ComponentsData); ComponentsData::ComponentsData() ! : m_initialized(false) { } ! ComponentsData::ComponentsData(Components &comp) ! : m_initialized(false) { //right now : will copy data structures (list) --- 20,38 ---- DECLARE_TYPE(ComponentsData); + ComponentsData::ComponentsData() ! : m_initialized(false), m_imageWidth(0), m_imageHeight(0) ! { ! ! } ! ! ComponentsData::ComponentsData(int width, int height) ! : m_initialized(false), m_imageWidth(width), m_imageHeight(height) { } ! ComponentsData::ComponentsData(Components &comp, int imageWidth, int imageHeight) ! : m_initialized(false), m_imageWidth(imageWidth), m_imageHeight(imageHeight) { //right now : will copy data structures (list) *************** *** 46,50 **** if (m_initialized) { - for (int i = 0; i < MAX_COLOR; i++) { --- 53,56 ---- *************** *** 57,70 **** } } - void ComponentsData::printOn(ostream &out) const { ! out << "<ComponentsData "<<endl; for (int i = 0; i < MAX_COLOR; i++) { out <<"<ColorID "<<i<<" >"<<endl; ! ! for (list<CRect*>::const_iterator iter = m_components[i].begin(); iter != m_components[i].end(); iter++) { --- 63,76 ---- } } void ComponentsData::printOn(ostream &out) const { ! out <<"<ComponentsData "<<endl; ! out <<"<ImageWidth "<<m_imageWidth<<" >"<<endl; ! out <<"<ImageHeight "<<m_imageHeight<<" >"<<endl; for (int i = 0; i < MAX_COLOR; i++) { out <<"<ColorID "<<i<<" >"<<endl; ! for (list<CRect*>::const_iterator iter = m_components[i].begin(); iter != m_components[i].end(); iter++) { *************** *** 97,101 **** in >> tag; ! if (tag == "ColorID") { in >> color_id; } --- 103,113 ---- in >> tag; ! if (tag == "ImageWidth") { ! in >> m_imageWidth; ! } ! else if (tag == "ImageHeight") { ! in >> m_imageHeight; ! } ! else if (tag == "ColorID") { in >> color_id; } *************** *** 118,123 **** in >> tag; ! if (tag != ">") throw new ParsingException ("ComponentsData::readFrom : Parse error: '>' expected "); } } --- 130,136 ---- in >> tag; ! if (tag != ">") { throw new ParsingException ("ComponentsData::readFrom : Parse error: '>' expected "); + } } } *************** *** 146,154 **** for (int i = 0; i < MAX_COLOR; i++) { ! m_components[i].resize(0); } } list<CRect*> & ComponentsData::operator[] (int pos) { return m_components[pos]; } --- 159,181 ---- for (int i = 0; i < MAX_COLOR; i++) { ! if (!m_initialized) { ! m_components[i].resize(0); ! } ! else { ! while (!m_components[i].empty()) { ! CRect *value = m_components[i].front(); ! m_components[i].pop_front(); ! delete value; ! } ! } } } list<CRect*> & ComponentsData::operator[] (int pos) { + + if (pos >= MAX_COLOR) { + throw new GeneralException("ComponentsData::operator[] : Trying to get component color (out of range)",__FILE__,__LINE__); + } + return m_components[pos]; } |