{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,8,27]],"date-time":"2026-08-27T12:17:54Z","timestamp":1787833074816,"version":"build-2784847793"},"reference-count":23,"publisher":"MDPI AG","issue":"9","license":[{"start":{"date-parts":[[2026,8,27]],"date-time":"2026-08-27T00:00:00Z","timestamp":1787788800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Imaging"],"abstract":"<jats:p>Geometry-processing and computational-imaging workflows combine heterogeneous data structures, topology-changing edits, dense numerical fields, visualization, and repeated experimental variation. These workflows are often clear as algorithms but obscured in software by traversal boilerplate, representation conversions, build-system boundaries, and ad hoc scripting conventions. This paper presents tgLang, a domain-specific language with explicit, runtime-enforced representation types that makes meshes, point clouds, curve networks, grids, two-dimensional images, and image stacks first-class executable values. The language combines manifest types, typed arrays, modules, deterministic parallel constructs, flow-oriented queries, and runtime-provided domain operations. Its current implementation uses a stack-based bytecode virtual machine for reference semantics and dispatches representation-heavy operations to optimized C++ kernels. The evaluation is organized around complete workflows: topological hole detection, distance-field-based mean camber line extraction, voxel downsampling of point clouds, curve-network generation, surface-mesh smoothing and remeshing, image-stack edge detection, morphological image processing, and image-stack surface extraction. These examples show that a domain-aware source language can express multi-representation geometry and imaging algorithms as compact, reproducible programs while preserving explicit representation choices and a path toward deployable implementations.<\/jats:p>","DOI":"10.3390\/jimaging12090406","type":"journal-article","created":{"date-parts":[[2026,8,27]],"date-time":"2026-08-27T10:58:21Z","timestamp":1787828301000},"page":"406","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["tgLang: A Domain-Specific Language for Geometry Processing and Computational Imaging Workflows"],"prefix":"10.3390","volume":"12","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9736-3750","authenticated-orcid":false,"given":"Vijai Kumar","family":"Suriyababu","sequence":"first","affiliation":[{"name":"Delft Institute of Applied Mathematics, Delft University of Technology, 2628 CD Delft, The Netherlands"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5988-9153","authenticated-orcid":false,"given":"Cornelis","family":"Vuik","sequence":"additional","affiliation":[{"name":"Delft Institute of Applied Mathematics, Delft University of Technology, 2628 CD Delft, The Netherlands"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0802-945X","authenticated-orcid":false,"given":"Matthias","family":"M\u00f6ller","sequence":"additional","affiliation":[{"name":"Delft Institute of Applied Mathematics, Delft University of Technology, 2628 CD Delft, The Netherlands"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"1968","published-online":{"date-parts":[[2026,8,27]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"10226","DOI":"10.1109\/TPEL.2017.2756449","article-title":"Questionnaire-Based Discussion of Finite Element Multi-Physics Simulation Software in Power Electronics","volume":"33","author":"Song","year":"2018","journal-title":"IEEE Trans. Power Electron."},{"key":"ref_2","unstructured":"CGAL Editorial Board (2021). CGAL User and Reference Manual, CGAL Editorial Board. [5.3 ed.]. The CGAL Project."},{"key":"ref_3","unstructured":"Kobbelt, L., Bischoff, S., Botsch, M., and Steinberg, S. (2026, August 24). In Proceedings of the OpenMesh: A Generic and Efficient Polygon Mesh Data Structure, Darmstadt, Germany, 29 January 2002. Available online: https:\/\/www.google.com\/url?sa=t&source=web&rct=j&opi=89978449&url=https:\/\/www.graphics.rwth-aachen.de\/media\/papers\/openmesh1.pdf&ved=2ahUKEwjHiv-e5L-WAxVFZfUHHeU-A8wQFnoECBgQAQ&usg=AOvVaw1qjmSOy1xNgKBHgQkBPgUq."},{"key":"ref_4","unstructured":"OpenVolumeMesh Developers (2026, August 24). OpenVolumeMesh. GitLab repository, Visual Computing Institute, RWTH Aachen University. Available online: https:\/\/gitlab.vci.rwth-aachen.de:9000\/OpenVolumeMesh\/OpenVolumeMesh."},{"key":"ref_5","unstructured":"Sharp, N., Crane, K., Soliman, Y., Gillespie, M., Sawhney, R., and Yu, C. (2026, August 24). GeometryCentral: A Modern C++ Library of Data Structures and Algorithms for Geometry Processing. Available online: https:\/\/geometry-central.net\/."},{"key":"ref_6","unstructured":"(2026, August 24). libigl: A Simple C++ Geometry Processing Library. Available online: https:\/\/libigl.github.io\/."},{"key":"ref_7","unstructured":"PyMesh Developers (2026, August 24). PyMesh: Geometry Processing Library. GitHub Repository. Available online: https:\/\/github.com\/PyMesh\/PyMesh."},{"key":"ref_8","unstructured":"Zhou, Q.Y., Park, J., and Koltun, V. (2018). Open3D: A Modern Library for 3D Data Processing. arXiv."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"1309","DOI":"10.1002\/nme.2579","article-title":"Gmsh: A 3-D finite element mesh generator with built-in pre- and post-processing facilities","volume":"79","author":"Geuzaine","year":"2009","journal-title":"Int. J. Numer. Methods Eng."},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"DeVito, Z., Joubert, N., Palacios, F., Oakley, S., Medina, M., Barrientos, M., Elsen, E., Ham, F., Aiken, A., and Duraisamy, K. (2011). Liszt: A domain-specific language for building portable mesh-based PDE solvers. Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC \u201911), Association for Computing Machinery.","DOI":"10.1145\/2063384.2063396"},{"key":"ref_11","first-page":"1","article-title":"Ebb: A DSL for Physical Simulation on CPUs and GPUs","volume":"35","author":"Bernstein","year":"2016","journal-title":"ACM Trans. Graph."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2866569","article-title":"Simit: A Language for Physical Simulation","volume":"35","author":"Kjolstad","year":"2016","journal-title":"ACM Trans. Graph."},{"key":"ref_13","first-page":"1","article-title":"MeshTaichi: A Compiler for Efficient Mesh-Based Operations","volume":"41","author":"Yu","year":"2022","journal-title":"ACM Trans. Graph."},{"key":"ref_14","first-page":"1","article-title":"I\u2665MESH: A DSL for Mesh Processing","volume":"43","author":"Li","year":"2024","journal-title":"ACM Trans. Graph."},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Ragan-Kelley, J., Barnes, C., Adams, A., Paris, S., Durand, F., and Amarasinghe, S. (2013). Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines. Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, Association for Computing Machinery.","DOI":"10.1145\/2491956.2462176"},{"key":"ref_16","first-page":"1","article-title":"Taichi: A Language for High-Performance Computation on Spatially Sparse Data Structures","volume":"38","author":"Hu","year":"2019","journal-title":"ACM Trans. Graph."},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Parr, T., Harwell, S., and Fisher, K. (2014). Adaptive LL(*) parsing: The power of dynamic analysis. Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA \u201914), Association for Computing Machinery.","DOI":"10.1145\/2660193.2660202"},{"key":"ref_18","unstructured":"Parr, T. (2013). The Definitive ANTLR 4 Reference, Pragmatic Bookshelf."},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"044502","DOI":"10.1115\/1.4049030","article-title":"A Simple and Fast Hole Detection Algorithm for Triangulated Surfaces","volume":"21","author":"Vuik","year":"2021","journal-title":"J. Comput. Inf. Sci. Eng."},{"key":"ref_20","unstructured":"Suriyababu, V.K. (2026). Robust and Automated Geometry Processing Workflows for Engineering Applications. [Doctoral Thesis, Delft University of Technology]."},{"key":"ref_21","unstructured":"Suriyababu, V.K., and Vuik, C. (2026, August 24). A Simple and Fast Hole Detection Algorithm for Triangulated Surfaces. Available online: https:\/\/data.mendeley.com\/datasets\/3snr7g9cvx\/1."},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Li, W.l., Xie, H., Li, Q.d., Zhou, L.p., and Yin, Z.p. (2015). Section Curve Reconstruction and Mean-Camber Curve Extraction of a Point-Sampled Blade Surface. PLoS ONE, 9.","DOI":"10.1371\/journal.pone.0115471"},{"key":"ref_23","unstructured":"Zhou, Q., and Jacobson, A. (2016). Thingi10K: A Dataset of 10,000 3D-Printing Models. arXiv."}],"container-title":["Journal of Imaging"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2313-433X\/12\/9\/406\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,8,27]],"date-time":"2026-08-27T11:22:59Z","timestamp":1787829779000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2313-433X\/12\/9\/406"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,8,27]]},"references-count":23,"journal-issue":{"issue":"9","published-online":{"date-parts":[[2026,9]]}},"alternative-id":["jimaging12090406"],"URL":"https:\/\/doi.org\/10.3390\/jimaging12090406","relation":{},"ISSN":["2313-433X"],"issn-type":[{"value":"2313-433X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,8,27]]}}}