{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,18]],"date-time":"2026-01-18T12:02:09Z","timestamp":1768737729881,"version":"3.49.0"},"reference-count":42,"publisher":"Springer Science and Business Media LLC","issue":"6","license":[{"start":{"date-parts":[[2023,12,28]],"date-time":"2023-12-28T00:00:00Z","timestamp":1703721600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2023,12,28]],"date-time":"2023-12-28T00:00:00Z","timestamp":1703721600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["OAC-1750865"],"award-info":[{"award-number":["OAC-1750865"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Engineering with Computers"],"published-print":{"date-parts":[[2024,12]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>We have developed a differentiable programming framework for truncated hierarchical B-splines (THB-splines), which can be used for several applications in geometry modeling, such as surface fitting and deformable image registration, and can be easily integrated with geometric deep learning frameworks. Differentiable programming is a novel paradigm that enables an algorithm to be differentiated via automatic differentiation, i.e., using automatic differentiation to compute the derivatives of its outputs with respect to its inputs or parameters. Differentiable programming has been used extensively in machine learning for obtaining gradients required in optimization algorithms such as stochastic gradient descent (SGD). While incorporating differentiable programming with traditional functions is straightforward, it is challenging when the functions are complex, such as splines. In this work, we extend the differentiable programming paradigm to THB-splines. THB-splines offer an efficient approach for complex surface fitting by utilizing a hierarchical tensor structure of B-splines, enabling local adaptive refinement. However, this approach brings challenges, such as a larger computational overhead and the non-trivial implementation of automatic differentiation and parallel evaluation algorithms. We use custom kernel functions for GPU acceleration in forward and backward evaluation that are necessary for differentiable programming of THB-splines. Our approach not only improves computational efficiency but also significantly enhances the speed of surface evaluation compared to previous methods. Our differentiable THB-splines framework facilitates faster and more accurate surface modeling with local refinement, with several applications in CAD and isogeometric analysis.<\/jats:p>","DOI":"10.1007\/s00366-023-01929-1","type":"journal-article","created":{"date-parts":[[2023,12,28]],"date-time":"2023-12-28T08:02:11Z","timestamp":1703750531000},"page":"3477-3493","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["THB-Diff: a GPU-accelerated differentiable programming framework for THB-splines"],"prefix":"10.1007","volume":"40","author":[{"given":"Ajith","family":"Moola","sequence":"first","affiliation":[]},{"given":"Aditya","family":"Balu","sequence":"additional","affiliation":[]},{"given":"Adarsh","family":"Krishnamurthy","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1547-4298","authenticated-orcid":false,"given":"Aishwarya","family":"Pawar","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2023,12,28]]},"reference":[{"key":"1929_CR1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-59223-2","volume-title":"The NURBS book","author":"L Piegl","year":"1997","unstructured":"Piegl L, Tiller W (1997) The NURBS book. Springer-Verlag, Berlin (3540615458)"},{"issue":"39\u201341","key":"1929_CR2","doi-asserted-by":"publisher","first-page":"4135","DOI":"10.1016\/j.cma.2004.10.008","volume":"194","author":"TJR Hughes","year":"2005","unstructured":"Hughes TJR, Cottrell JA, Bazilevs Y (2005) Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement. Comput Methods Appl Mech Eng 194(39\u201341):4135\u20134195","journal-title":"Comput Methods Appl Mech Eng"},{"issue":"4","key":"1929_CR3","doi-asserted-by":"publisher","first-page":"205","DOI":"10.1145\/378456.378512","volume":"22","author":"DR Forsey","year":"1988","unstructured":"Forsey DR, Bartels RH (1988) Hierarchical B-spline refinement. ACM SIGGRAPH Comput Graph 22(4):205\u2013212","journal-title":"ACM SIGGRAPH Comput Graph"},{"issue":"3","key":"1929_CR4","doi-asserted-by":"publisher","first-page":"276","DOI":"10.1145\/1015706.1015715","volume":"23","author":"TW Sederberg","year":"2004","unstructured":"Sederberg TW, Cardon DL, Finnigan GT, North NS, Zheng J, Lyche T (2004) T-spline simplification and local refinement. ACM Trans Graph (TOG) 23(3):276\u2013283","journal-title":"ACM Trans Graph (TOG)"},{"key":"1929_CR5","doi-asserted-by":"publisher","first-page":"197","DOI":"10.1016\/j.cma.2012.11.001","volume":"254","author":"MA Scott","year":"2013","unstructured":"Scott MA, Simpson RN, Evans JA, Lipton S, Bordas S, Hughes TJR, Sederberg TW (2013) Isogeometric boundary element analysis using unstructured T-splines. Comput Methods Appl Mech Eng 254:197\u2013221","journal-title":"Comput Methods Appl Mech Eng"},{"issue":"3","key":"1929_CR6","doi-asserted-by":"publisher","first-page":"477","DOI":"10.1145\/882262.882295","volume":"22","author":"TW Sederberg","year":"2003","unstructured":"Sederberg TW, Zheng J, Bakenov A, Nasri A (2003) T-splines and T-NURCCs. ACM Trans Graph 22(3):477\u2013484","journal-title":"ACM Trans Graph"},{"key":"1929_CR7","doi-asserted-by":"publisher","first-page":"58","DOI":"10.1016\/j.apnum.2017.08.006","volume":"123","author":"EM Garau","year":"2018","unstructured":"Garau EM, V\u00e1zquez R (2018) Algorithms for the implementation of adaptive isogeometric methods using hierarchical B-splines. Appl Numer Math 123:58\u201387","journal-title":"Appl Numer Math"},{"issue":"4","key":"1929_CR8","doi-asserted-by":"publisher","first-page":"76","DOI":"10.1016\/j.gmod.2008.03.001","volume":"70","author":"J Deng","year":"2008","unstructured":"Deng J, Chen F, Li X, Hu C, Tong W, Yang Z, Feng Y (2008) Polynomial splines over hierarchical T-meshes. Graph Models 70(4):76\u201386","journal-title":"Graph Models"},{"issue":"7","key":"1929_CR9","doi-asserted-by":"publisher","first-page":"485","DOI":"10.1016\/j.cagd.2012.03.025","volume":"29","author":"C Giannelli","year":"2012","unstructured":"Giannelli C, J\u00fcttler B, Speleers H (2012) THB-splines: the truncated basis for hierarchical splines. Comput Aided Geom Des 29(7):485\u2013498","journal-title":"Comput Aided Geom Des"},{"key":"1929_CR10","doi-asserted-by":"publisher","first-page":"337","DOI":"10.1016\/j.cma.2015.11.002","volume":"299","author":"C Giannelli","year":"2016","unstructured":"Giannelli C, J\u00fcttler B, Kleiss SK, Mantzaflaris A, Simeon B, \u0160peh J (2016) THB-splines: an effective mathematical technology for adaptive refinement in geometric design and isogeometric analysis. Comput Methods Appl Mech Eng 299:337\u2013365","journal-title":"Comput Methods Appl Mech Eng"},{"key":"1929_CR11","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1016\/j.cma.2015.03.019","volume":"291","author":"X Wei","year":"2015","unstructured":"Wei X, Zhang YJ, Hughes TJR, Scott MA (2015) Truncated hierarchical Catmull-Clark subdivision with local refinement. Comput Methods Appl Mech Eng 291:1\u201320","journal-title":"Comput Methods Appl Mech Eng"},{"key":"1929_CR12","doi-asserted-by":"publisher","first-page":"471","DOI":"10.1016\/j.cma.2013.09.014","volume":"269","author":"KA Johannessen","year":"2014","unstructured":"Johannessen KA, Kvamsdal T, Dokken T (2014) Isogeometric analysis using LR B-splines. Comput Methods Appl Mech Eng 269:471\u2013514","journal-title":"Comput Methods Appl Mech Eng"},{"key":"1929_CR13","doi-asserted-by":"publisher","first-page":"609","DOI":"10.1016\/j.cma.2018.07.013","volume":"341","author":"X Wei","year":"2018","unstructured":"Wei X, Zhang YJ, Toshniwal D, Speleers H, Li X, Manni C, Evans JA, Hughes TJR (2018) Blended b-spline construction on unstructured quadrilateral and hexahedral meshes with optimal convergence rates in isogeometric analysis. Comput Methods Appl Mech Eng 341:609\u2013639","journal-title":"Comput Methods Appl Mech Eng"},{"key":"1929_CR14","doi-asserted-by":"publisher","first-page":"349","DOI":"10.1016\/j.cma.2016.07.020","volume":"316","author":"X Wei","year":"2017","unstructured":"Wei X, Zhang Y, Liu L, Hughes TJR (2017) Truncated T-splines: fundamentals and methods. Comput Methods Appl Mech Eng 316:349\u2013372","journal-title":"Comput Methods Appl Mech Eng"},{"issue":"9","key":"1929_CR15","doi-asserted-by":"publisher","first-page":"2203","DOI":"10.1016\/j.camwa.2017.07.043","volume":"74","author":"X Wei","year":"2017","unstructured":"Wei X, Zhang YJ, Hughes TJR (2017) Truncated hierarchical tricubic C0 spline construction on unstructured hexahedral meshes for isogeometric analysis applications. Comput Math Appl 74(9):2203\u20132220","journal-title":"Comput Math Appl"},{"issue":"3","key":"1929_CR16","doi-asserted-by":"publisher","first-page":"877","DOI":"10.4208\/cicp.OA-2017-0141","volume":"23","author":"A Pawar","year":"2018","unstructured":"Pawar A, Zhang YJ, Anitescu C, Jia Y, Rabczuk T (2018) DTHB3D_Reg: dynamic truncated hierarchical B-spline based 3D nonrigid image registration. Commun Comput Phys 23(3):877\u2013898","journal-title":"Commun Comput Phys"},{"key":"1929_CR17","doi-asserted-by":"publisher","first-page":"3250","DOI":"10.1016\/j.camwa.2019.04.026","volume":"78","author":"A Pawar","year":"2019","unstructured":"Pawar A, Zhang YJ, Anitescu C, Rabczuk T (2019) Joint image segmentation and registration based on a dynamic level set approach using truncated hierarchical B-splines. Comput Math Appl 78:3250\u20133267","journal-title":"Comput Math Appl"},{"key":"1929_CR18","doi-asserted-by":"crossref","unstructured":"Pawar A, Zhang, YJ (2020) Neuronseg_BACH: automated neuron segmentation using B-spline based active contour and hyperelastic regularization. Commun Comput Phys 28(3)","DOI":"10.4208\/cicp.OA-2020-0025"},{"key":"1929_CR19","doi-asserted-by":"publisher","DOI":"10.1201\/b19466","volume-title":"Geometric modeling and mesh generation from scanned images","author":"YJ Zhang","year":"2016","unstructured":"Zhang YJ (2016) Geometric modeling and mesh generation from scanned images. Chapman and Hall\/CRC"},{"issue":"8","key":"1929_CR20","doi-asserted-by":"publisher","first-page":"2028","DOI":"10.1016\/j.camwa.2016.05.020","volume":"72","author":"A Pawar","year":"2016","unstructured":"Pawar A, Zhang Y, Jia Y, Wei X, Rabczuk T, Chan CL, Anitescu C (2016) Adaptive FEM-based nonrigid image registration using truncated hierarchical B-splines. Comput Math Appl 72(8):2028\u20132040","journal-title":"Comput Math Appl"},{"issue":"12","key":"1929_CR21","doi-asserted-by":"publisher","first-page":"971","DOI":"10.1016\/j.cad.2009.06.015","volume":"41","author":"A Krishnamurthy","year":"2009","unstructured":"Krishnamurthy A, Khardekar R, McMains S (2009a) Optimized GPU evaluation of arbitrary degree NURBS curves and surfaces. Comput-Aid Des 41(12):971\u2013980 (ISSN 0010-4485)","journal-title":"Comput-Aid Des"},{"issue":"4","key":"1929_CR22","doi-asserted-by":"publisher","first-page":"530","DOI":"10.1109\/TVCG.2009.29","volume":"15","author":"A Krishnamurthy","year":"2009","unstructured":"Krishnamurthy A, Khardekar R, McMains S, Haller K, Elber G (2009) Performing efficient NURBS modeling operations on the GPU. IEEE Trans Visual Comput Graph 15(4):530\u2013543. https:\/\/doi.org\/10.1109\/TVCG.2009.29","journal-title":"IEEE Trans Visual Comput Graph"},{"issue":"6","key":"1929_CR23","doi-asserted-by":"publisher","first-page":"729","DOI":"10.1109\/TVCG.2010.114","volume":"17","author":"A Krishnamurthy","year":"2011","unstructured":"Krishnamurthy A, McMains S, Haller K (2011) GPU-accelerated minimum distance and clearance queries. IEEE Trans Visual Comput Graph 17(6):729\u2013742. https:\/\/doi.org\/10.1109\/TVCG.2010.114","journal-title":"IEEE Trans Visual Comput Graph"},{"key":"1929_CR24","unstructured":"Qi CR, Su H, Mo K, Guibas LJ (2017) Pointnet: deep learning on point sets for 3D classification and segmentation. In: Proceedings of the IEEE conference on computer vision and pattern recognition, pp 652\u2013660"},{"issue":"5","key":"1929_CR25","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3326362","volume":"38","author":"Y Wang","year":"2019","unstructured":"Wang Y, Sun Y, Liu Z, Sarma SE, Bronstein MM, Solomon JM (2019) Dynamic graph CNN for learning on point clouds. ACM Trans Graph (TOG) 38(5):1\u201312","journal-title":"ACM Trans Graph (TOG)"},{"issue":"4","key":"1929_CR26","first-page":"1","volume":"42","author":"HD Liu","year":"2023","unstructured":"Liu HD, Gillespie M, Chislett B, Sharp N, Jacobson A, Crane K (2023) Surface simplification using intrinsic error metrics. ACM Trans Graph (TOG) 42(4):1\u201317","journal-title":"ACM Trans Graph (TOG)"},{"key":"1929_CR27","doi-asserted-by":"crossref","unstructured":"Fey M, Lenssen JE, Weichert F, M\u00fcller H (2018) SplineCNN: fast geometric deep learning with continuous B-spline kernels. In: Proceedings of the IEEE conference on computer vision and pattern recognition","DOI":"10.1109\/CVPR.2018.00097"},{"key":"1929_CR28","unstructured":"Zhang X (2018) CAD-based geometry parametrization for shape optimization using Non-uniform Rational B-Splines. PhD thesis, Queen Mary University of London"},{"key":"1929_CR29","doi-asserted-by":"crossref","unstructured":"Ugolotti M, Vaughan B, Orkwis PD (2021) Differentiated ML-based modeling of structured grids for gradient-based optimization. In: AIAA Scitech 2021 Forum","DOI":"10.2514\/6.2021-0895"},{"key":"1929_CR30","doi-asserted-by":"publisher","DOI":"10.1016\/j.cad.2022.103199","volume":"146","author":"AD Prasad","year":"2022","unstructured":"Prasad AD, Balu A, Shah H, Sarkar S, Hegde C, Krishnamurthy A (2022) NURBS-DIFF: a differentiable programming module for NURBS. Comput Aided Des 146:103199","journal-title":"Comput Aided Des"},{"issue":"5","key":"1929_CR31","doi-asserted-by":"publisher","first-page":"273","DOI":"10.1016\/j.gmod.2014.03.017","volume":"76","author":"G Kiss","year":"2014","unstructured":"Kiss G, Giannelli C, Zore U, J\u00fcttler B, Gro\u00dfmann D, Barner J (2014) Adaptive CAD model (re-) construction with THB-splines. Graph Models 76(5):273\u2013288","journal-title":"Graph Models"},{"issue":"2","key":"1929_CR32","doi-asserted-by":"publisher","first-page":"87","DOI":"10.1016\/0146-664X(80)90040-4","volume":"14","author":"E Cohen","year":"1980","unstructured":"Cohen E, Lyche T, Riesenfeld R (1980) Discrete B-splines and subdivision techniques in computer-aided geometric design and computer graphics. Comput Graphics Image Process 14(2):87\u2013111","journal-title":"Comput Graphics Image Process"},{"key":"1929_CR33","unstructured":"Cuturi M, Teboul O, Vert J-P (2019) Differentiable ranks and sorting using optimal transport. arXiv, pp 1\u201310"},{"key":"1929_CR34","unstructured":"Blondel M, Teboul O, Berthet Q, Djolonga J (2020) Fast differentiable sorting and ranking. Arxiv:2002.08871"},{"key":"1929_CR35","unstructured":"Vlastelica M, Paulus A, Musil V, Martius G, Rol\u00ednek M (2020) Differentiation of blackbox combinatorial solvers. arXiv"},{"key":"1929_CR36","unstructured":"Sheriffdeen S, Ragusa JC, Morel JE, Adams ML, Bui-Thanh T (2019) Accelerating PDE-constrained inverse solutions with deep learning and reduced order models. arXiv"},{"key":"1929_CR37","doi-asserted-by":"crossref","unstructured":"Joshi A, Cho M, Shah V, Pokuri B, Sarkar S, Ganapathysubramanian B, Hegde C (2020) InvNet: encoding geometric and statistical invariances in deep generative models. In: Association for the Advancement of Artificial Intelligence Conference, pp 1\u20138","DOI":"10.1609\/aaai.v34i04.5863"},{"key":"1929_CR38","unstructured":"Djolonga J, Krause A (2017) Differentiable learning of submodular models. In: Neural Information Processing Systems, pp 1014\u20131024, (ISBN 9781510860964)"},{"key":"1929_CR39","doi-asserted-by":"publisher","first-page":"584","DOI":"10.1016\/j.cma.2012.06.023","volume":"253","author":"PB Bornemann","year":"2013","unstructured":"Bornemann PB, Cirak F (2013) A subdivision-based implementation of the hierarchical B-spline finite element method. Comput Methods Appl Mech Eng 253:584\u2013598","journal-title":"Comput Methods Appl Mech Eng"},{"key":"1929_CR40","unstructured":"Jakob W, Rhinelander J, Moldovan D (2016) pybind11\u2014seamless operability between c++11 and python. https:\/\/github.com\/pybind\/pybind11"},{"key":"1929_CR41","unstructured":"Kingma DP, Ba J (2014) Adam: a method for stochastic optimization. CoRR. arxiv:1412.6980, https:\/\/api.semanticscholar.org\/CorpusID:6628106"},{"issue":"4","key":"1929_CR42","doi-asserted-by":"publisher","DOI":"10.1115\/1.4025983","volume":"7","author":"NM Wilson","year":"2013","unstructured":"Wilson NM, Ortiz AK, Johnson AB (2013) The vascular model repository: a public resource of medical imaging data and blood flow simulation results. J Med Dev 7(4):040923","journal-title":"J Med Dev"}],"container-title":["Engineering with Computers"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00366-023-01929-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s00366-023-01929-1\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00366-023-01929-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,12,3]],"date-time":"2024-12-03T16:23:32Z","timestamp":1733243012000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s00366-023-01929-1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,12,28]]},"references-count":42,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2024,12]]}},"alternative-id":["1929"],"URL":"https:\/\/doi.org\/10.1007\/s00366-023-01929-1","relation":{},"ISSN":["0177-0667","1435-5663"],"issn-type":[{"value":"0177-0667","type":"print"},{"value":"1435-5663","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,12,28]]},"assertion":[{"value":"2 September 2023","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"23 November 2023","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"28 December 2023","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors declare that they have no competing interests relevant to the content of this article.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}}]}}