Las regiones
son un conjunto de puntos de la imagen agrupadas con un criterio arbitrario
elegido por el usuario. El objeto bicotiDexelRegion
guarda una lista de coordenadas, todas correspondientes a puntos de la
imagen que componene la región.
El usuario puede simplemente agregar coordenadas a la
lista de forma arbitraria o lo que es más usual , obtenerla a través
de algún algoritmo, como es el caso del labeling.
Las regiones en si no serán demasiado útiles, lo que nos será más interesante es calcular algunas propiedades de la region, como ser area, perímetro, centroide, ejes de inercia, etc, para eso se usa el objeto bicotiRegionProperty.
Una región puede tener más de una propiedad asociada a ella, aunque es muy raro que esto ocurra.
La clase bicotiDexelRegion es un template de CoordType ( coordenada ) y de PixelType ( el tipo de pixel de la imagen ).
Uno pensaría que en CoordType se podría poner cualquier Coordinate, no es así el algoritmo está pensado para que se trabaje con coordenadas enteras, o sea, para bicotiCoordiante2D< INTEGER > o bicotiCoordinate3D< INTEGER >, esto es porque las coordenadas hacen referencia a ubicaciones en la implementación de la imagen.
Se podrá obsevar que se puede crear una región sin implementación, y luego poner puntos dentro de esta región, luego cargar la implementación de la imagen y modificar los pixels de la imagen en la región, podría haber un error por poner un punto que cae fuera de la imagen.
Tener en cuenta que se pueden poner un mismo "punto" mas de una vez en la región, esto altera la cantidad de puntos "reales" dentro de la región.