La Plante → Tessera: work in progress (paused 13 Nov 2026)
La Plante → Tessera: work in progress (paused 13 Nov 2026)
Goal: add the plates of Grasset (ed.), La Plante et ses applications ornementales (1896) to Tessera as a second publication in the ornament library, cut out as printed (no tracing), grouped per publication, with sources cited.
Status
- DONE Page images: Internet Archive item
planteetsesappl00Gras(Smithsonian Libraries copy, digitised for BHL; public domain per BHL), full-size pagespage/n{leaf}_w3200.jpg(5038×7060, 450 ppi), even leaves 10–114. Copies are in_to_delete/lp_pages/(182 MB). This copy lacks plates 5, 6, 21, 25, 28, 43, 46, 54, 59, 61, 63–68, 70–72. - DONE Segmentation (
seg.py, corrections inoverrides.json), checked by eye on every plate: study plates: whole plant parts, paper enclosed between stems made transparent (“gaps”); application plates: each design separately (splits between designs printed touching), plus roundels as items of their own (plates 23 and 42; plate 42’s roundel is clipped by its panel in the print). - DONE Plant name and signature per plate (below).
- NEXT
python3 export.py <outdir>(half-size masks → full-size cut-outs, whole plates, thumbnails, manifest). Needshalf/(half-size copies, made from the pages by the first block in seg.py’s history: resize ½ INTER_AREA → half/nNNN.png) and SRC in seg.py pointing at the full-size pages. Then review the cut-outs on a checkerboard. - TODO Tessera: library grouped by publication (Combinaisons 1901 / La Plante 1896) with plant + study/application filters;
Whole plates tab grouped the same way; thumbnails atlas for the new items; loadLib path for
plants/. - TODO Citations: About → Sources, How it works, picker caption per item (plate, plant, signed artist, holding library), README Sources table, papers/README.
- TODO Browser test (picker, place, tile, Compose reopen of saved tiles, console errors).
Plates: plant (FR / EN) and signature
1–3 Iris (Iris) · 4 Pavot (Poppy) · 7–9 Nénuphar (Water-lily) · 10–12 Ancolie (Columbine) · 13–15 Courge (Gourd) · 16–18 Couronne impériale (Crown imperial) · 19–20 Géranium sauvage (Wild geranium) · 22–24 Cyclamen · 26–27 Sagittaire (Arrow-head) · 29–30 Jonquille (Jonquil) · 31–33 Perce-neige (Snowdrop) · 34–36 Sceau de Salomon (Solomon’s seal) · 37–39 Muguet (Lily of the valley) · 40–42 Capucine (Nasturtium) · 44–45 Pissenlit (Dandelion) · 47–48 Glycine (Wisteria) · 49–51 Lilas (Lilac) · 52–53 Marronnier (Horse chestnut) · 55–57 Aconit (Monkshood) · 58, 60 Chardon (Thistle) · 62 Pervenche (Periwinkle) · 69 Églantier (Wild rose). Study plates are 1, 4, 7 … (3k+1); the others are applications.
Signatures (read on the plates): M. P. Verneuil 1, 2, 4, 7, 8, 10, 11, 13, 14, 16, 17, 26, 29, 31, 32, 34, 35, 40, 41, 44, 47, 55, 56, 58 · E. Hervegh 3, 22, 23, 30, 37, 38, 51, 69 · C. G. Schlumberger 9, 15 · Anna Martin 12, 24, 27, 42, 49, 50, 57 · J. Milesi 18, 19, 20, 33, 45, 52, 53, 60 · G. Bourgeot 36 · A. Poidevin 39, 48 · Marcelle Gaudin 62.
Gallica plates added (14 Nov 2026)
The 19 plates missing from the Internet Archive copy (5, 6, 21, 25, 28, 43, 46, 54, 59, 61, 63-68, 70-72) were cut from the BnF copy: papers/period_sources/Grasset_La_Plante_…_Gallica_BnF_complete.pdf (Gallica ark:/12148/btv1b10546212d; plate n = PDF page 13+n, checked against the printed “Pl. n” on every page). The PDF holds 1024-px pages only (Gallica’s IIIF server has 5190 x 7390 but refuses scripted downloads), so the pages were upscaled (Lanczos x 4.92 + light unsharp) to the IA geometry and placed at gal/full/n2NN.jpg (leaf = 200 + plate; seg.GALLICA, seg.src()). seg.py additions: inner frame rules removed on Gallica study plates; overrides ‘dropin’ (drop leftovers inside a rect) and ‘mergein’ (put a piece cut off at the frame back into its item). Extras over a pattern on plates 6, 59, 65, 71 are also erased from the pattern under them; on 66 (book over wallpaper) the wallpaper keeps it, as for 23 and 42. Roundels (kind 3): lp06_04, lp23_04, lp42_04, lp68_03, lp71_05. Totals: 377 items = 178 parts, 194 designs, 5 roundels. Captions: 64-66 Butter-cup / Bouton d’Or / Die Goldblume; 70-72 Chrysanthemum / Chrysanthème / Das Chrysanthemum. New signatures: Max Mangin (6), Marcelle Gaudin (21, 61), Anna Martin (54, 63), A. Poidevin (66, 72). Upgrade path: replace gal/full pages with full-resolution IIIF images (downloaded by hand) and re-run export.py for those plates; overrides are in half-size pixels of the same geometry, so they still apply.
Full-size Gallica images (14 Nov 2026, later)
The user downloaded the 19 plates at full size from Gallica’s IIIF server into bnf_download/ (native_
Straightening and restored PDFs (14 Nov 2026, evening)
- rotate.py + skew4.py: every page is rotated by its measured skew (projection profiles of all strong horizontal and vertical edges; -0.53 to +0.94 deg, BnF pages most). A first attempt (rectify.py, homography to the frame rules) was dropped: the double frame rule made the corner fit unreliable. Residual skew after rotation <= 0.01 deg.
- export_rect.py: items are segmented on the ORIGINAL pages (SEG_ORIG=1, the segmentation reviewed by eye, numbering unchanged), the masks rotated with the page, and cut from the straightened full-size page. Clean-ups built in: lp31_01/05 dropped, BnF stamp on lp46_03, flecks on lp61_05/07, paper flood on plate 21; plate 21 h-split at 1312.
- tools/restore/: restore.py (paper flattening, BnF stamp inpainting, despeckle), compile_lp.py (each plate placed on one 1850 x 2556 page template with its frame at the same position; margins cleaned to the lettering), front_lp.py, compile_co.py (Combinaisons: NYPL cover + preface, IA title + plates 3-60), build_pdf.py (img2pdf + pikepdf, bookmarks, XMP metadata). Full PDFs in papers/period_sources/, web PDFs (<20 MB) in tessera/downloads/.
- BnF ownership stamps are KEPT in the PDF (user’s choice, 14 Nov); the La Plante plates use one scale (S_ALL) so captions stay on the page.