From 7a5a4e6344d708001cf166038371d52ebf0f6ad6 Mon Sep 17 00:00:00 2001
From: "Patricio A. Vela" Reimplemented in CfgCorrespondences, CfgPCA, CfgMoments, CfgSimilar, CfgInCorner, CfgDifferent, CfgHistogramCV, CfgSGCone, CfgGMM_cv, CfgBoardMeasure, CfgSIFTCV, CfgCentroind, CfgCentMulti, CfgMatcher, CfgArrangement, CfgGridded, CfgAdjacent, CfgMoving, CfgSGM, CfgInterlocking, CfgDistance, and CfgOnWS. Reimplemented in CfgCorrespondences, CfgPCA, CfgMoments, CfgSimilar, CfgInCorner, CfgDifferent, CfgHistogramCV, CfgSGCone, CfgGMM_cv, CfgBoardMeasure, CfgSIFTCV, CfgCentroind, CfgCentMulti, CfgArrangement, CfgGridded, CfgMatcher, CfgMoving, CfgAdjacent, CfgDistance, CfgSGM, CfgInterlocking, and CfgOnWS.
Namespaces
- puzzle.builder.adjacent
-
- PuzzleAdjacent
+ This type of puzzle is simply a set of shapes arranged at specific locations with adjacency permitted. Touching or very close proximity should hold for most or all pieces. This type of puzzle is simply a set of shapes arranged at specific locations with adjacency permitted. Touching or very close proximity should hold for most or all pieces.
diff --git a/docs/annotated.html b/docs/annotated.html
index 2c8d620f..21422d4d 100644
--- a/docs/annotated.html
+++ b/docs/annotated.html
@@ -256,32 +256,32 @@
- ▼Npuzzle
+ ►Nboard ►Nboard A base representation for a puzzle board, which is basically a collection of pieces. Gets used in many different ways
-
+
-
+
-
+
-
+
►Nbuilder
-
-
-
-
-
+
+
+
+
+
- ►Nclusters
+ ►Nmanager ►Nmanager Manage the tracking of puzzle pieces
@@ -292,17 +292,17 @@
►Nold_board
-
+
-
+
- ►Nparse
+ ►Nparser
- ►Nparser A basic tracking class that processes a layered image (or mask and image) detection output and generates a model of the puzzle pieces in the scene. Converts all accepted, isolated regions into their own puzzle piece instances
+ ►Npiece
@@ -312,9 +312,9 @@
►Npiece Classes for puzzle piece specification or description encapsulation
-
+
-
+
@@ -323,14 +323,14 @@
-
+
-
+
diff --git a/docs/arrangement_8py.html b/docs/arrangement_8py.html
index 8a8ceb93..2d5dfbea 100644
--- a/docs/arrangement_8py.html
+++ b/docs/arrangement_8py.html
@@ -86,9 +86,7 @@
►Npieces
Namespaces
- puzzle.builder.arrangement
-
- PuzzleArrangement
+ This type of puzzle is simply a set of shapes arranged at specific locations in the image with no occlusion or overlap. Touching is not necessary (typically not the case) This type of puzzle is simply a set of shapes arranged at specific locations in the image with no occlusion or overlap. Touching is not necessary (typically not the case)
diff --git a/docs/board_8py.html b/docs/board_8py.html
index bc83f8d7..c426b077 100644
--- a/docs/board_8py.html
+++ b/docs/board_8py.html
@@ -92,9 +92,7 @@
Namespaces
- puzzle.board
-
- PuzzleBoard
+ A base representation for a puzzle board, which is basically a collection of pieces. Gets used in many different ways. A base representation for a puzzle board, which is basically a collection of pieces. Gets used in many different ways.
diff --git a/docs/byColor_8py.html b/docs/byColor_8py.html
index 3e2453b0..e621b9cc 100644
--- a/docs/byColor_8py.html
+++ b/docs/byColor_8py.html
@@ -77,15 +77,16 @@
Classes
-class ByColor
+ A puzzle piece clustering method based on color. More... A puzzle piece clustering method based on color. The feature extractor should be based on color. More...
-class ParamColorCluster
+ Configuration parameter struct for byColor clustering. More... Configuration parameter struct for byColor clustering. More...
diff --git a/docs/byShape_8py.html b/docs/byShape_8py.html
index a6d3b335..832b0b40 100644
--- a/docs/byShape_8py.html
+++ b/docs/byShape_8py.html
@@ -77,6 +77,7 @@
Namespaces
+ puzzle.clusters.byColor Extract color features for all the pieces in a given puzzle board.
Classes
+class ByShape Clustering by shape. More... class ParamShapeCluster
@@ -84,6 +85,7 @@
Namespaces
+ puzzle.clusters.byShape Extract shape features for all the pieces in a given puzzle board.
diff --git a/docs/classdetector_1_1Configuration_1_1AlgConfig.html b/docs/classdetector_1_1Configuration_1_1AlgConfig.html
index af47536f..2c8b66f9 100644
--- a/docs/classdetector_1_1Configuration_1_1AlgConfig.html
+++ b/docs/classdetector_1_1Configuration_1_1AlgConfig.html
@@ -161,7 +161,7 @@
-
Establish whether the registration code should be here or elsewhere. The reason for being here is that it takes advantage of matching computations made to prevent additional computations.
+Establish whether the registration code should be here or elsewhere. The reason for being here is that it takes advantage of matching computations made to prevent additional computations.
Yet, these are done whether it is a match or not. Better to not bother if not even a match. Going to go with that by rearranging the code [2023/11/03]. Delete note if acceptable.
Namespaces | |
puzzle.parse.fromSketch | |
puzzle.parser.fromSketch | |
A derived detector class that can process an image & mask image to create a binary mask. | |
Namespaces | |
PuzzleBoard | |
A base representation for a puzzle board, which is basically a collection of pieces. Gets used in many different ways. | |
puzzle.board | |
A base representation for a puzzle board, which is basically a collection of pieces. Gets used in many different ways. | |
PuzzlePiece | |
Classes for puzzle piece specification or description encapsulation. | |
puzzle.parser.fromLayer | |
A basic detector class that processes a layered image (or mask and image) detection output. Converts all isolated regions into their own puzzle piece instances. | |
puzzle.parser.fromSketch | |
A derived detector class that can process an image & mask image to create a binary mask. | |
puzzle.piece | |
Classes for puzzle piece specification or description encapsulation. | |
@@ -111,6 +117,12 @@
class | Board | | Class description for a board, which is a locality sensitive bag. More... | | class | PieceStatus | | PieceStatus used to keep track of the status of pieces. More... |
Detailed DescriptionInterfaces for clustering puzzle pieces. diff --git a/docs/group__Puzzle__Tracking.html b/docs/group__Puzzle__Tracking.html index a9d342b5..114eedd0 100644 --- a/docs/group__Puzzle__Tracking.html +++ b/docs/group__Puzzle__Tracking.html @@ -84,17 +84,23 @@
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Namespaces | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
puzzle.manager | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PuzzleManager | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Manage the tracking of puzzle pieces. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Manage the tracking of puzzle pieces. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
diff --git a/docs/matchDifferent_8py.html b/docs/matchDifferent_8py.html
index 111df61c..88c42cf8 100644
--- a/docs/matchDifferent_8py.html
+++ b/docs/matchDifferent_8py.html
@@ -104,6 +104,7 @@
Namespaces | Sub-classes of this derived class branch use difference scores for determining whether two puzzle pieces match. | | |
+ IVALab Python Libraries
+
+ Collection of code for computer vision and robotics with specific API.
+ |
+
This type of puzzle is simply a set of shapes arranged at specific locations in the image with no occlusion or overlap. Touching is not necessary (typically not the case) +More...
+This type of puzzle is simply a set of shapes arranged at specific locations in the image with no occlusion or overlap. Touching is not necessary (typically not the case)
+ +May need more work to align with current revisions.
+Some of the test scripts may have bad Cfg parameter names.
+A base representation for a puzzle board, which is basically a collection of pieces. Gets used in many different ways. +More...
Classes | |
int | SCORE_SIMILAR = 1 |
A base representation for a puzzle board, which is basically a collection of pieces. Gets used in many different ways.
+A puzzle board consists of a collection of puzzle pieces and their locations. There is no assumption on where the pieces are located. A board just keeps track of a candidate jigsaw puzzle state, or possibly the state of a subset of a given jigsaw puzzle. Think of it as a bag class for puzzle pieces, just that they also have locality.
+ +This type of puzzle is simply a set of shapes arranged at specific locations with adjacency permitted. Touching or very close proximity should hold for most or all pieces. +More...
Classes | |
Configuration setting specifier for Arrangement. More... | |
This type of puzzle is simply a set of shapes arranged at specific locations with adjacency permitted. Touching or very close proximity should hold for most or all pieces.
+ +This type of puzzle is simply a set of shapes arranged at specific locations in the image with no occlusion or overlap. Touching is not necessary (typically not the case) +More...
Classes | |
Configuration setting specifier for centroidMulti. More... | |
This type of puzzle is simply a set of shapes arranged at specific locations in the image with no occlusion or overlap. Touching is not necessary (typically not the case)
+ +May need more work to align with current revisions.
+Some of the test scripts may have bad Cfg parameter names.
+An interlocking puzzle for which the pieces are arranged in a nice gridded manner with a rectangular shape when complete. +More...
Classes | |
Puzzle type that is a set of interlocking puzzle pieces that get put together in a grid structure. All rows/columns have same number of pieces. More... | |
An interlocking puzzle for which the pieces are arranged in a nice gridded manner with a rectangular shape when complete.
+ +This type of puzzle is simply a set of shapes arranged at specific locations that should actually interlock. Placement for them is less forgiving. In principle, they need to fit together. +More...
Classes | |
Puzzle with interlocking pieces. More... | |
This type of puzzle is simply a set of shapes arranged at specific locations that should actually interlock. Placement for them is less forgiving. In principle, they need to fit together.
+ +Extract color features for all the pieces in a given puzzle board. +More...
Classes | |
class | ByColor |
A puzzle piece clustering method based on color. More... | |
A puzzle piece clustering method based on color. The feature extractor should be based on color. More... | |
class | ParamColorCluster |
Configuration parameter struct for byColor clustering. More... | |
Configuration parameter struct for byColor clustering. More... | |
Extract color features for all the pieces in a given puzzle board.
+Extract shape features for all the pieces in a given puzzle board. +More...
Classes | |
class | ByShape |
Clustering by shape. More... | |
class | ParamShapeCluster |
Extract shape features for all the pieces in a given puzzle board.
+ +Manage the tracking of puzzle pieces. +More...
Classes | |
int | SCORE_SIMILAR = 1 |
Manage the tracking of puzzle pieces.
+This puzzle piece manager keeps track of the puzzle pieces and their association over time as new imagery of the scene is captured. This manager stores the puzzle piece instances and organizes the code for data association. Even though the individual puzzle piece instances has some mechanism to recognize matches in their class API, the implementation in the manager can override those matching mechanisms using other considerations such as multi-piece competition or changes in the image and what regions are linked to those changes.
+As an example, this manager can get all similarity (or difference) scores and use them for generating assignments instead of greedily creating assignments for each puzzle piece independently of the other pieces.
+To be able to generate the associations, the puzzle manager should have a template or calibration puzzle board.
+A basic tracking class that processes a layered image (or mask and image) detection output and generates a model of the puzzle pieces in the scene. Converts all accepted, isolated regions into their own puzzle piece instances. +More...
+Namespaces | |
fromLayer | |
A basic detector class that processes a layered image (or mask and image) detection output. Converts all isolated regions into their own puzzle piece instances. | |
fromSketch | |
A derived detector class that can process an image & mask image to create a binary mask. | |
Classes | |
class | boardMeasure |
Configuration setting specifier for centroidMulti. More... | |
A basic tracking class that processes a layered image (or mask and image) detection output and generates a model of the puzzle pieces in the scene. Converts all accepted, isolated regions into their own puzzle piece instances.
+1] boardMeasure
+Being a subclass of centroidMulti, this is effectively just a puzzle board measurement strategy. To be a full fledged system requires integration with some sort of filter (e.g., temporal data association scheme).
+2] boardTracker
+Performs the data association code for keeping track of puzzle pieces over time.
+3] boardActivity
+Monitors the tracker associations and recovers the atomic actions or activities inferred from the track states over time.
+ +
+ IVALab Python Libraries
+
+ Collection of code for computer vision and robotics with specific API.
+ |
+
A basic detector class that processes a layered image (or mask and image) detection output. Converts all isolated regions into their own puzzle piece instances. +More...
+A basic detector class that processes a layered image (or mask and image) detection output. Converts all isolated regions into their own puzzle piece instances.
+ +
+ IVALab Python Libraries
+
+ Collection of code for computer vision and robotics with specific API.
+ |
+
A derived detector class that can process an image & mask image to create a binary mask. +More...
+A derived detector class that can process an image & mask image to create a binary mask.
+Classes for puzzle piece specification or description encapsulation. +More...
Classes | |
Stores and encapsulates a template instance of a visual puzzle piece. More... | |
Classes for puzzle piece specification or description encapsulation.
+ +Uses edge features to establish similarity. +More...
Classes | |
Puzzle piece edge based comparison. More... | |
Uses edge features to establish similarity.
+ +Sub-classes of this derived class branch use difference scores for determining whether two puzzle pieces match. +More...
Classes | |
Uses pca to calculate rotation. More... | |
Sub-classes of this derived class branch use difference scores for determining whether two puzzle pieces match.
+Difference scores are interpreted as smaller being more likely to be a match and bigger being less likely to be a match. There will usually be lower and upper limits for the difference score.
+ +Sub-classes of this derived class branch use similarity scores for determining wheter two puzzle pieces match. +More...
Classes | |
Uses sift features to establish similarity. More... | |
Sub-classes of this derived class branch use similarity scores for determining wheter two puzzle pieces match.
+Similarity scores are interpreted as bigger being more likely to be a match and smaller being less likely to be a match. There will usually be lower and upper limits for the similarity score.
+Classes for comparing puzzle pieces in support of puzzle solving and puzzle piece association. The base-type class and most of its member functions will do nothing. They require overloading. The ones that don't should be for some generic functionality. +More...
Classes | |
Similarity matching. More... | |
Classes for comparing puzzle pieces in support of puzzle solving and puzzle piece association. The base-type class and most of its member functions will do nothing. They require overloading. The ones that don't should be for some generic functionality.
+Sub-classes of this derived class branch use difference or similarity scores for determining whether two puzzle pieces match. Difference scores are interpreted as smaller values being more likely to be a match and bigger being less likely to be a match. Similarity scores are interpreted as bigger value being more likely to be a match and smaller being less likely to be a match.
+ +
+ IVALab Python Libraries
+
+ Collection of code for computer vision and robotics with specific API.
+ |
+
Sub-classes of this derived class branch use similarity scores for determining wheter two puzzle pieces match. +More...
+Sub-classes of this derived class branch use similarity scores for determining wheter two puzzle pieces match.
+Similarity scores are interpreted as bigger being more likely to be a match and smaller being less likely to be a match. There will usually be lower and upper limits for the similarity score.
+Eventually should be translated to OpenCV style code by repurposing their code to get CUDA and OpenCL implementations for speed purposes. Even their C code is fairly zippy relative to python.
Redo so that inherits from appearance or some kind of fgmodel class.
@@ -92,25 +92,29 @@May need more work to align with current revisions.
Some of the test scripts may have bad Cfg parameter names.
Establish whether the registration code should be here or elsewhere. The reason for being here is that it takes advantage of matching computations made to prevent additional computations.
+Establish whether the registration code should be here or elsewhere. The reason for being here is that it takes advantage of matching computations made to prevent additional computations.
Yet, these are done whether it is a match or not. Better to not bother if not even a match. Going to go with that by rearranging the code [2023/11/03]. Delete note if acceptable.