La tarea de estos objetos es la de
recibir un Pixel y en función de sus "vecinos" y de las "etiquetas"
de estos, elijo la "etiqueta" adecuada. Es razonable que haya una especialización
primero en la dimensión y luego en el tipo de "conectividad" deseada
Todos estos objetos heredan de una
clase base abstracta. A continuación haremos una descripción
de la clase base.
class bicotiConnectivityLabelingStrategy
void
SetEquivalence(
unsigned& , unsigned& )
void
InsertInTable(
unsigned& )
Public Methods
virtual void Initiate( bicotiImageDescriptor
*, vector< vector < unsigned > > * ) = 0
virtual void operator( ) ( bicotiCoordinate<
INTEGER
> ) = 0
virtual bicotiMatrix< unsigned > * CreateResult(
) = 0
Esta función debería preocupar solamente a quien desea hacer un criterio nuevo de conectividad, recomendamos que de no ser así, no invertir tiempo en su entendimiento.
Normalmente durante la toma de decisión de que "etiqueta" poner a un pixel, nos encontramos con que hay dos( o más ) "etiquetas" que en algun momento se hacen equivalentes( la misma desde el punto de vista de conectividad ). Por facilidad en las futuras especializaciones, al no tener que entrar en los objetos temporales de paseje de información, se creo esta función y se sugiere usarla.
Esta función debería preocupar solamente a quien desea hacer un criterio nuevo de conectividad, recomendamos que de no ser así, no invertir tiempo en su entendimiento.
Normalmente durante la toma de decisión de que "etiqueta" poner a un pixel, nos podemos encontrar con que los vecinos( según el criterio de conectividad ) no posean "etiqueta", en estos casos hay que avisarle "a alguien", de la existencia de una nueva "etiqueta". Por facilidad en las futuras especializaciones, al no tener que entrar en los objetos temporales de paseje de información, se creo esta función y se sugiere usarla.
Esta función se encarga de inicializar las variables internas de los objetos que dependen de la dimensión. Se especializa en la dimensión, salvo que aperescan nuevas dimensiones no habría razón alguna para preocuparse por esta función.
Función a invocar cuando se desea "etiquetar" un pixel, observar que solamente importa su posición en la implementación. Se especializa en cada criterio de "conectividad".
Retorna el resultado de la "conectividad" hasta el momento, tener cuidado porque es destructiva se pierden los resultados, habría que hacerlo solamente al final. Esta función, en pincipio, no se devería ser invocada, aún para quienes realicen nuevos criterios de conectividad.