MiseEnPage

Analyze the layout of manuscript pages edited according to the conventions of the Homer Multitext project.

Shortest possible example: evaluate and visualize layout hypothesis

To analyze the layout of a manuscript page, identify the page by Cite2Urn. You'll need the CitableObject package for that.

using CitableObject
pageid = Cite2Urn("urn:cite2:hmt:msA.v1:112r")
urn:cite2:hmt:msA.v1:112r

Assemble all information necessary to analyze the page's layout in a MSPage object.

using MiseEnPage
pg = msPage(pageid)
MSPage(urn:cite2:hmt:msA.v1:112r, :recto, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.061,0.0503,0.86,0.876, (left = 0.18, top = 0.437, right = 0.638, bottom = 0.255), CitableText.CtsUrn[urn:cts:greekLit:tlg0012.tlg001.msA:9.21, urn:cts:greekLit:tlg0012.tlg001.msA:9.16, urn:cts:greekLit:tlg0012.tlg001.msA:9.28, urn:cts:greekLit:tlg0012.tlg001.msA:9.22, urn:cts:greekLit:tlg0012.tlg001.msA:9.27, urn:cts:greekLit:tlg0012.tlg001.msA:9.15, urn:cts:greekLit:tlg0012.tlg001.msA:9.19, urn:cts:greekLit:tlg0012.tlg001.msA:9.20, urn:cts:greekLit:tlg0012.tlg001.msA:9.14, urn:cts:greekLit:tlg0012.tlg001.msA:9.32  …  urn:cts:greekLit:tlg0012.tlg001.msA:9.30, urn:cts:greekLit:tlg0012.tlg001.msA:9.13, urn:cts:greekLit:tlg0012.tlg001.msA:9.25, urn:cts:greekLit:tlg0012.tlg001.msA:9.34, urn:cts:greekLit:tlg0012.tlg001.msA:9.12, urn:cts:greekLit:tlg0012.tlg001.msA:9.24, urn:cts:greekLit:tlg0012.tlg001.msA:9.31, urn:cts:greekLit:tlg0012.tlg001.msA:9.11, urn:cts:greekLit:tlg0012.tlg001.msA:9.17, urn:cts:greekLit:tlg0012.tlg001.msA:9.10], MiseEnPage.ScholionIliadPair[MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msA.hmt:9.26, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1936,0.1127,0.6378,0.04025, urn:cts:greekLit:tlg0012.tlg001.msA:9.14, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1922,0.3073,0.4224,0.0233, 9), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msA.hmt:9.27, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.2006,0.1353,0.6279,0.03154, urn:cts:greekLit:tlg0012.tlg001.msA:9.14, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1922,0.3073,0.4224,0.0233, 9), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msA.hmt:9.28, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1945,0.1466,0.6450,0.04302, urn:cts:greekLit:tlg0012.tlg001.msA:9.15, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1912,0.3253,0.4414,0.024, 6), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msA.hmt:9.29, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.2003,0.1716,0.6306,0.04454, urn:cts:greekLit:tlg0012.tlg001.msA:9.16, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1852,0.3449,0.4535,0.0225, 2), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msA.hmt:9.30, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.3353,0.1914,0.5094,0.1008, urn:cts:greekLit:tlg0012.tlg001.msA:9.17, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1982,0.3636,0.4034,0.0248, 24), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msA.hmt:9.31, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.609,0.2825,0.2323,0.0478, urn:cts:greekLit:tlg0012.tlg001.msA:9.18, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1952,0.3824,0.4354,0.0255, 15), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msA.hmt:9.32, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.6120,0.3263,0.2194,0.07400, urn:cts:greekLit:tlg0012.tlg001.msA:9.19, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1912,0.4027,0.4414,0.0225, 7), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msA.hmt:9.33, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.6178,0.3939,0.2154,0.0931, urn:cts:greekLit:tlg0012.tlg001.msA:9.23, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1932,0.4763,0.4284,0.0255, 11), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msA.hmt:9.34, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1761,0.7188,0.6535,0.06072, urn:cts:greekLit:tlg0012.tlg001.msA:9.29, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1942,0.595,0.4725,0.0248, 13), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msA.hmt:9.35, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1652,0.7525,0.6703,0.0532, urn:cts:greekLit:tlg0012.tlg001.msA:9.29, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1942,0.595,0.4725,0.0248, 13)  …  MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msAil.hmt:9.45, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.2154,0.2140,0.03482,0.01992, urn:cts:greekLit:tlg0012.tlg001.msA:9.10, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1992,0.2246,0.3844,0.0301, 25), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msAil.hmt:9.46, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.2445,0.2437,0.0936,0.0103, urn:cts:greekLit:tlg0012.tlg001.msA:9.11, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1982,0.2472,0.4134,0.027, 23), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msAil.hmt:9.47, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.3604,0.2842,0.0638,0.0132, urn:cts:greekLit:tlg0012.tlg001.msA:9.13, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1962,0.287,0.4084,0.0233, 17), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msAil.hmt:9.48, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.4685,0.3244,0.035,0.0105, urn:cts:greekLit:tlg0012.tlg001.msA:9.15, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1912,0.3253,0.4414,0.024, 6), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msAil.hmt:9.49, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.2263,0.6086,0.0709,0.0163, urn:cts:greekLit:tlg0012.tlg001.msA:9.30, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1952,0.6131,0.4154,0.0255, 16), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msAil.hmt:9.50, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.3726,0.612,0.0655,0.0132, urn:cts:greekLit:tlg0012.tlg001.msA:9.30, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1952,0.6131,0.4154,0.0255, 16), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msAil.hmt:9.51, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.5197,0.6476,0.0713,0.0142, urn:cts:greekLit:tlg0012.tlg001.msA:9.32, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1922,0.6514,0.4715,0.024, 10), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msAil.hmt:9.52, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.2253,0.6663,0.04845,0.01397, urn:cts:greekLit:tlg0012.tlg001.msA:9.33, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1942,0.6709,0.4615,0.0225, 14), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msAext.hmt:9.694, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.8839,0.3171,0.027,0.0165, urn:cts:greekLit:tlg0012.tlg001.msA:9.14, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1922,0.3073,0.4224,0.0233, 9), MiseEnPage.ScholionIliadPair(urn:cts:greekLit:tlg5026.msAext.hmt:9.681, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.8885,0.3091,0.0254,0.0162, urn:cts:greekLit:tlg0012.tlg001.msA:9.13, urn:cite2:hmt:vaimg.2017a:VA112RN_0284@0.1962,0.287,0.4084,0.0233, 17)])

Now score the "proximity" hypothesis.

pagescore = score_by_proximity_y(pg)
PageScore(urn:cite2:hmt:msA.v1:112r, 3, 9)
success_rate(pagescore)
0.25

Load a documentary image for the page, and visualize the page's layout under the proximity hypothesis compared to the actual layout. (This last step requires the Luxor graphics package.) Gray dots mark Iliad lines that scholia comment on; orange dots show the y value for the placment of scholia using the proximity model; green dots show the recorded y value for the scholia.

img = load_rgba(pg; w = 400)

using Luxor
visualize_proximity_y_draw(pg, img)