Para ilustrar una solución de procesamiento de imágenes / ráster, comencé con la imagen publicada. Es de una calidad mucho más baja que los datos originales, debido a la superposición de puntos azules, líneas grises, regiones coloreadas y texto; y el engrosamiento de las líneas rojas originales. Como tal, presenta un desafío: sin embargo, todavía podemos obtener celdas Voronoi con alta precisión.
Extraje las partes visibles de las características lineales rojas, restando el verde del canal rojo y luego dilatando y erosionando las partes más brillantes en tres píxeles. Esto se usó como base para un cálculo de distancia euclidiana:
i = Import["http://i.stack.imgur.com/y8xlS.png"];
{r, g, b} = ColorSeparate[i];
string = With[{n = 3}, Erosion[Dilation[Binarize[ImageSubtract[r, g]], n], n]];
ReliefPlot[[email protected]@DistanceTransform[ColorNegate[string]]]

(TodoelcódigoquesemuestraaquíesMathematica8.)
Identificarlas"crestas" evidentes, que deben incluir todos los puntos que separan dos celdas Voronoi adyacentes, y volver a combinarlas con la capa de líneas proporciona la mayor parte de lo que necesitamos para continuar:
ridges = Binarize[ColorNegate[
LaplacianGaussianFilter[DistanceTransform[ColorNegate[string]], 2] // ImageAdjust], .65];
ColorCombine[{ridges, string}]

Labandarojarepresentaloquepodríaguardardelalíneaylabandacianmuestralascrestasenlatransformadadedistancia.(Todavíahayunagrancantidaddebasuradebidoaloscortesenlalíneaoriginal).Estascrestasdebenlimpiarseycerrarseconunadilataciónadicional(dospíxeles)yluegopodemosidentificarlasregionesconectadasdeterminadasporlaslíneasoriginalesylascrestasentreellas(algunasdelascualesnecesitanserrecombinadasexplícitamente):
Dilation[MorphologicalComponents[ColorNegate[ImageAdd[ridges,Dilation[string,2]]]]/.{2->5,8->0,4->3}//Colorize,2]
Loqueestohalogrado,enefecto,esidentificarcincocaracterísticaslinealesorientadas.Podemosvertrescaracterísticaslinealesseparadasqueemanandeunpuntodeconfluencia.Cadaunotienedoslados.Heconsideradoqueelladoderechodelasdosfuncionesdeladerechaeselmismo,perodeotramanerahedistinguidotodolodemás,dandolascincofunciones.LasáreascoloreadasmuestraneldiagramadeVoronoiapartirdeestascincocaracterísticas.
Un comando de Asignación Euclidiana basado en una capa que distingue las tres características lineales (que no tenía disponible para esta ilustración) no distinguiría los diferentes lados de cada característica lineal, y así lo haría combina las regiones verde y naranja que flanquean la línea de la izquierda; dividiría la característica del trullo más a la derecha en dos; y combinaría esas piezas divididas con las correspondientes características beige y magenta en sus otros lados.
Evidentemente, este enfoque raster tiene el poder de construir teselaciones Voronoi de entidades arbitrarias (puntos, piezas lineales e incluso polígonos, independientemente de sus formas) y puede distinguir los lados de las entidades lineales.