{"id":1028,"date":"2020-11-09T00:15:18","date_gmt":"2020-11-09T00:15:18","guid":{"rendered":"http:\/\/cs.smu.ca\/~jiju\/?page_id=1028"},"modified":"2026-08-03T07:17:28","modified_gmt":"2026-08-03T10:17:28","slug":"software","status":"publish","type":"page","link":"https:\/\/cs.smu.ca\/~jiju\/index.php\/software\/","title":{"rendered":"Software &#038; Data"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>Software &#038; Data \u2014 GSC Lab<\/title>\n<\/head>\n<body>\n<!-- ============================================\n  Software & Data page \u2014 paste-ready for WordPress\n  Instructions:\n  1. Edit the \"Software & Data\" page in WP admin.\n  2. Delete the existing content blocks.\n  3. Add ONE \"Custom HTML\" block.\n  4. Paste EVERYTHING below into it. Save\/Update.\n  ============================================ -->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;500&#038;family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&#038;family=Space+Grotesk:wght@500;600;700&#038;display=swap\" rel=\"stylesheet\">\n\n<style>\n\/* ============================================================\n   Everything is scoped under .gsc-resources so this block can be\n   pasted into a WordPress \"Custom HTML\" block without fighting\n   the theme's stylesheet.\n   ============================================================ *\/\n.gsc-resources{\n  --ink:#15202f;          \/* headings *\/\n  --body:#3d4a5c;         \/* paragraphs *\/\n  --faint:#7b8798;        \/* metadata *\/\n  --paper:#fafbfc;        \/* page *\/\n  --card:#ffffff;\n  --line:#e3e8ee;\n  --link:#0f5f8f;         \/* links & buttons *\/\n  --c-dataset:#0e7c86;    \/* class-label colours *\/\n  --c-benchmark:#5a4fcf;\n  --c-software:#b3561d;\n  font-family:'IBM Plex Sans',-apple-system,'Segoe UI',sans-serif;\n  color:var(--body);\n  background:var(--paper);\n  line-height:1.65;\n  font-size:16.5px;\n  margin:0;\n}\n.gsc-resources *{box-sizing:border-box;margin:0;padding:0}\n.gsc-resources .gsc-wrap{max-width:1060px;margin:0 auto;padding:56px 24px 80px}\n\n\/* ---------- page header ---------- *\/\n.gsc-resources .gsc-head{max-width:760px;margin-bottom:26px}\n.gsc-resources h1{\n  font-family:'Space Grotesk',sans-serif;font-weight:700;\n  font-size:clamp(2rem,4.6vw,2.9rem);letter-spacing:-.02em;\n  color:var(--ink);line-height:1.12;margin-bottom:18px;\n}\n.gsc-resources .gsc-lede{font-size:1.06rem;color:var(--body)}\n.gsc-resources .gsc-lede a{color:var(--link);text-decoration:none;border-bottom:1px solid #bcd4e4}\n.gsc-resources .gsc-lede a:hover{border-bottom-color:var(--link)}\n\n\/* class-label legend, echoing a point-cloud legend *\/\n.gsc-resources .gsc-legend{\n  display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;\n  margin:26px 0 0;padding:14px 0 30px;border-bottom:1px solid var(--line);\n  font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.06em;\n  text-transform:uppercase;color:var(--faint);\n}\n.gsc-resources .gsc-legend span{display:inline-flex;align-items:center;gap:8px}\n.gsc-resources .gsc-legend i{width:11px;height:11px;border-radius:2px;display:inline-block}\n.gsc-resources .gsc-legend .sw-d i{background:var(--c-dataset)}\n.gsc-resources .gsc-legend .sw-b i{background:var(--c-benchmark)}\n.gsc-resources .gsc-legend .sw-s i{background:var(--c-software)}\n\n\/* ---------- section headings ---------- *\/\n.gsc-resources h2{\n  font-family:'Space Grotesk',sans-serif;font-weight:600;\n  font-size:1.35rem;letter-spacing:-.01em;color:var(--ink);\n  margin:54px 0 6px;\n}\n.gsc-resources .gsc-sec-sub{color:var(--faint);font-size:.95rem;margin-bottom:26px}\n\n\/* ---------- resource cards ---------- *\/\n.gsc-resources .gsc-item{\n  display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:34px;\n  background:var(--card);border:1px solid var(--line);border-radius:14px;\n  padding:28px;margin-bottom:26px;\n}\n.gsc-resources .gsc-item:nth-of-type(even){grid-template-columns:minmax(0,1fr) minmax(0,300px)}\n.gsc-resources .gsc-item:nth-of-type(even) .gsc-media{order:2}\n.gsc-resources .gsc-media{align-self:start}\n.gsc-resources .gsc-media a{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#f1f4f7}\n.gsc-resources .gsc-media img{display:block;width:100%;height:auto;transition:transform .35s ease}\n.gsc-resources .gsc-media a:hover img{transform:scale(1.025)}\n.gsc-resources .gsc-media figcaption{\n  font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--faint);\n  margin-top:8px;letter-spacing:.03em;\n}\n\n\/* metadata row: class chip + year + venue *\/\n.gsc-resources .gsc-meta{\n  display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;\n  font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.05em;\n  text-transform:uppercase;color:var(--faint);\n}\n.gsc-resources .gsc-chip{\n  display:inline-flex;align-items:center;gap:7px;padding:3px 10px;\n  border-radius:999px;font-weight:500;color:var(--ink);background:#f2f5f8;\n}\n.gsc-resources .gsc-chip i{width:9px;height:9px;border-radius:2px;display:inline-block}\n.gsc-resources .gsc-chip.d i{background:var(--c-dataset)}\n.gsc-resources .gsc-chip.b i{background:var(--c-benchmark)}\n.gsc-resources .gsc-chip.s i{background:var(--c-software)}\n.gsc-resources .gsc-meta .sep{opacity:.5}\n\n.gsc-resources h3{\n  font-family:'Space Grotesk',sans-serif;font-weight:600;\n  font-size:1.42rem;letter-spacing:-.015em;color:var(--ink);\n  line-height:1.25;margin-bottom:10px;\n}\n.gsc-resources h3 .sub{font-weight:500;color:var(--body)}\n.gsc-resources .gsc-item p{margin-bottom:12px;font-size:.99rem}\n.gsc-resources .gsc-item p:last-of-type{margin-bottom:0}\n\n\/* stat strip *\/\n.gsc-resources .gsc-stats{\n  display:flex;flex-wrap:wrap;gap:6px 26px;margin:16px 0 18px;\n  padding:12px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);\n}\n.gsc-resources .gsc-stats div{min-width:70px}\n.gsc-resources .gsc-stats b{\n  display:block;font-family:'Space Grotesk',sans-serif;font-weight:700;\n  font-size:1.18rem;color:var(--ink);letter-spacing:-.01em;\n}\n.gsc-resources .gsc-stats small{\n  font-family:'IBM Plex Mono',monospace;font-size:.68rem;\n  text-transform:uppercase;letter-spacing:.07em;color:var(--faint);\n}\n\n\/* link buttons *\/\n.gsc-resources .gsc-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}\n.gsc-resources .gsc-links a{\n  display:inline-flex;align-items:center;gap:6px;\n  font-family:'IBM Plex Mono',monospace;font-size:.8rem;font-weight:500;\n  color:var(--link);text-decoration:none;border:1px solid #c9dbe7;\n  border-radius:8px;padding:7px 14px;transition:background .15s,border-color .15s;\n}\n.gsc-resources .gsc-links a:hover{background:#eef5fa;border-color:var(--link)}\n.gsc-resources .gsc-links a.primary{background:var(--link);color:#fff;border-color:var(--link)}\n.gsc-resources .gsc-links a.primary:hover{background:#0c4d75}\n.gsc-resources .gsc-links a[aria-disabled=\"true\"]{\n  color:var(--faint);border-color:var(--line);pointer-events:none;\n}\n\n\/* citation footnote per card *\/\n.gsc-resources .gsc-cite{\n  margin-top:14px;font-size:.85rem;color:var(--faint);line-height:1.55;\n}\n.gsc-resources .gsc-cite em{font-style:italic}\n\n\/* closing note *\/\n.gsc-resources .gsc-foot{\n  margin-top:48px;padding-top:24px;border-top:1px solid var(--line);\n  font-size:.92rem;color:var(--faint);max-width:760px;\n}\n.gsc-resources .gsc-foot a{color:var(--link);text-decoration:none}\n.gsc-resources .gsc-foot a:hover{text-decoration:underline}\n\n\/* ---------- responsive ---------- *\/\n@media (max-width:820px){\n  .gsc-resources .gsc-item,\n  .gsc-resources .gsc-item:nth-of-type(even){grid-template-columns:1fr;gap:20px;padding:20px}\n  .gsc-resources .gsc-item:nth-of-type(even) .gsc-media{order:0}\n}\n@media (prefers-reduced-motion:reduce){\n  .gsc-resources .gsc-media img{transition:none}\n}\n.gsc-resources a:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:4px}\n.gsc-resources a.eml{color:var(--link);text-decoration:none;border-bottom:1px dashed #bcd4e4;cursor:pointer}\n.gsc-resources a.eml:hover{border-bottom-style:solid}\n<\/style>\n\n<div class=\"gsc-resources\">\n<div class=\"gsc-wrap\">\n\n  <header class=\"gsc-head\">\n    \n    <p class=\"gsc-lede\">\n      Open research artifacts from the Graphics &amp; Spatial Computing Lab. Everything on this\n      page \u2014 LiDAR benchmarks, annotated datasets, and reference implementations \u2014 is released\n      to the community so that our results can be reproduced, extended, and improved. If you\n      build on any of these resources, please cite the accompanying paper.\n    <\/p>\n    <div class=\"gsc-legend\" aria-label=\"Resource categories\">\n      <span class=\"sw-d\"><i><\/i>Dataset<\/span>\n      <span class=\"sw-b\"><i><\/i>Benchmark<\/span>\n      <span class=\"sw-s\"><i><\/i>Software<\/span>\n    <\/div>\n  <\/header>\n\n  <!-- ================= DATASETS & BENCHMARKS ================= -->\n  <h2>Datasets &amp; Benchmarks<\/h2>\n  <p class=\"gsc-sec-sub\">Curated data with ground-truth annotation, evaluation protocols, and baseline results.<\/p>\n\n  <!-- HFX3D -->\n  <article class=\"gsc-item\" id=\"hfx3d\">\n    <figure class=\"gsc-media\">\n      <a href=\"https:\/\/jijup.github.io\/hfx3d-benchmark\/\" target=\"_blank\" rel=\"noopener\">\n        <img decoding=\"async\" src=\"https:\/\/cs.smu.ca\/~jiju\/wp-content\/uploads\/2026\/06\/teaser.png\"\n             alt=\"Semantically coloured LiDAR point clouds of Halifax building facades from the HFX3D benchmark\" loading=\"lazy\">\n      <\/a>\n      <figcaption>Semantic point clouds \u00b7 Halifax, NS<\/figcaption>\n    <\/figure>\n    <div>\n      <div class=\"gsc-meta\">\n        <span class=\"gsc-chip d\"><i><\/i>Dataset<\/span>\n        <span class=\"gsc-chip b\"><i><\/i>Benchmark<\/span>\n        <span class=\"sep\">\u00b7<\/span><span>2026<\/span>\n      <\/div>\n      <h3>HFX3D <span class=\"sub\">\u2014 A LiDAR Benchmark for Semantic Segmentation and Functional Understanding of Urban Building Facades<\/span><\/h3>\n      <p>\n        HFX3D is a large-scale LiDAR benchmark for 3D facade understanding, captured across\n        Halifax, Nova Scotia with a handheld ZEB&nbsp;Horizon scanner. It spans commercial,\n        residential, institutional, and waterfront buildings \u2014 from historical masonry to\n        contemporary glass curtain walls \u2014 recorded across four seasons and varied lighting.\n        To our knowledge it is the first facade benchmark to provide all three annotation\n        tiers: semantic, instance, and functional labels.\n      <\/p>\n      <p>\n        The release includes an interactive 3D explorer, train\/val\/test splits, and baseline\n        results for seven leading 3D segmentation architectures (KPConv, PTv3, PTv2, DGCNN,\n        RandLA-Net, PointNet++, PointNet), exposing the challenges unique to close-range\n        architectural LiDAR.\n      <\/p>\n      <div class=\"gsc-stats\">\n        <div><b>26<\/b><small>Buildings<\/small><\/div>\n        <div><b>492M<\/b><small>Points<\/small><\/div>\n        <div><b>12<\/b><small>Classes<\/small><\/div>\n        <div><b>5<\/b><small>Neighbourhoods<\/small><\/div>\n        <div><b>4<\/b><small>Seasons<\/small><\/div>\n        <div><b>7<\/b><small>Baselines<\/small><\/div>\n      <\/div>\n      <div class=\"gsc-links\">\n        <a class=\"primary\" href=\"https:\/\/jijup.github.io\/hfx3d-benchmark\/\" target=\"_blank\" rel=\"noopener\">Project page \u2197<\/a>\n        <a href=\"https:\/\/github.com\/jijup\/hfx3d-benchmark\" target=\"_blank\" rel=\"noopener\">Code<\/a>\n        <a href=\"https:\/\/jijup.github.io\/hfx3d-benchmark\/#explorer\" target=\"_blank\" rel=\"noopener\">3D Explorer<\/a>\n        <a aria-disabled=\"true\" href=\"#\">Dataset \u2014 coming soon<\/a>\n      <\/div>\n      <p class=\"gsc-cite\">\n        <em>HFX3D: A LiDAR Benchmark for Semantic Segmentation and Functional Understanding of Urban Building Facades.<\/em>\n        Graphics &amp; Spatial Computing Lab, Saint Mary&#8217;s University. Paper under review \u2014 citation to follow.\n      <\/p>\n    <\/div>\n  <\/article>\n\n  <!-- Topological Signatures (ModelNet40 & ShapeNet) -->\n  <article class=\"gsc-item\" id=\"topo-signatures\">\n    <figure class=\"gsc-media\">\n      <a href=\"https:\/\/arxiv.org\/abs\/2602.14228\" target=\"_blank\" rel=\"noopener\">\n        <img decoding=\"async\" src=\"http:\/\/cs.smu.ca\/~jiju\/wp-content\/uploads\/2026\/02\/cg26-300x239.png\"\n             alt=\"Persistent homology signatures for 3D shapes from ModelNet40 and ShapeNet\" loading=\"lazy\">\n      <\/a>\n      <figcaption>Persistent homology signatures \u00b7 ModelNet40 &amp; ShapeNet<\/figcaption>\n    <\/figure>\n    <div>\n      <div class=\"gsc-meta\">\n        <span class=\"gsc-chip d\"><i><\/i>Dataset<\/span>\n        <span class=\"sep\">\u00b7<\/span><span>2026<\/span>\n      <\/div>\n      <h3>Topological Signatures for 3D Shapes <span class=\"sub\">\u2014 Precomputed Persistent Homology for ModelNet40 &amp; ShapeNet<\/span><\/h3>\n      <p>\n        Persistent homology gives learning models a powerful, deformation-invariant view of 3D shape \u2014\n        but computing it from point clouds involves expensive filtration and complex construction, and doing\n        so <em>during training<\/em> is prohibitively slow at scale. To remove that bottleneck, we release\n        <strong>precomputed topological signatures<\/strong> for the full ModelNet40 and ShapeNet benchmarks,\n        so the topological deep learning community can train and experiment without paying the persistent-homology\n        cost on every epoch.\n      <\/p>\n      <p>\n        The signatures accompany our work on persistent-homology-based learning for 3D understanding, and are\n        drop-in ready for classification, retrieval, and representation-learning pipelines. Code for generating\n        and consuming the signatures is provided alongside the data.\n      <\/p>\n      <div class=\"gsc-stats\">\n        <div><b>2<\/b><small>Benchmarks<\/small><\/div>\n        <div><b>40+55<\/b><small>Categories<\/small><\/div>\n        <div><b>PH<\/b><small>Signatures<\/small><\/div>\n        <div><b>3<\/b><small>Papers<\/small><\/div>\n      <\/div>\n      <div class=\"gsc-links\">\n        <a class=\"primary\" aria-disabled=\"true\" href=\"#\">Dataset &amp; code \u2014 coming soon<\/a>\n        <a href=\"https:\/\/arxiv.org\/abs\/2602.14228\" target=\"_blank\" rel=\"noopener\">Paper (J41)<\/a>\n        <a href=\"https:\/\/arxiv.org\/pdf\/2604.04299\" target=\"_blank\" rel=\"noopener\">Paper (J42)<\/a>\n        <a href=\"https:\/\/www.sciencedirect.com\/science\/article\/abs\/pii\/S0097849324002541\" target=\"_blank\" rel=\"noopener\">Paper (J32)<\/a>\n      <\/div>\n      <p class=\"gsc-cite\">\n        Accompanies: P. Kudeshia, J. Poovvancheri, A. Ghoneim, D. Chen, <em>A Persistent Homology Design Space\n        for 3D Point Cloud Learning<\/em>; P. Kudeshia, J. Poovvancheri, <em>Learning Significant Persistent\n        Homology Features for 3D Shape Understanding<\/em>; and P. Kudeshia, M. A. Agowun, J. Poovvancheri,\n        <em>Learning Geometric Complexes for 3D Shape Classification<\/em> (SMI 2024). Computers &amp; Graphics, Elsevier.\n      <\/p>\n    <\/div>\n  <\/article>\n\n  <!-- SatStreaks -->\n  <article class=\"gsc-item\" id=\"satstreaks\">\n    <figure class=\"gsc-media\">\n      <a href=\"https:\/\/github.com\/jijup\/SatStreaks\" target=\"_blank\" rel=\"noopener\">\n        <img decoding=\"async\" src=\"http:\/\/cs.smu.ca\/~jiju\/wp-content\/uploads\/2024\/03\/teaser.png\"\n             alt=\"Astronomical night-sky images with annotated satellite streaks from the SatStreaks dataset\" loading=\"lazy\">\n      <\/a>\n      <figcaption>Annotated satellite streaks \u00b7 night-sky imagery<\/figcaption>\n    <\/figure>\n    <div>\n      <div class=\"gsc-meta\">\n        <span class=\"gsc-chip d\"><i><\/i>Dataset<\/span>\n        <span class=\"sep\">\u00b7<\/span><span>CRV 2024<\/span>\n      <\/div>\n      <h3>SatStreaks <span class=\"sub\">\u2014 Supervised Learning for Delineating Satellite Streaks in Astronomical Images<\/span><\/h3>\n      <p>\n        As satellite mega-constellations grow, streak contamination has become a real problem\n        for ground- and space-based astronomy \u2014 yet pixel-accurate training data for streak\n        segmentation has been scarce. SatStreaks fills that gap with 3,130 densely annotated,\n        real images of satellite streaks drawn from NASA&#8217;s Satellite Streak Watcher citizen\n        science project and the Hubble Asteroid Hunters archive, with ground-truth masks\n        produced through a dedicated citizen-science annotation campaign.\n      <\/p>\n      <p>\n        Alongside the data, we provide an experimental evaluation of classical and deep\n        segmentation methods and an Enhanced U-Net (FPN, dilated convolutions, and attention)\n        that reaches 94.4% accuracy and an 88.9 F1 score on the benchmark.\n      <\/p>\n      <div class=\"gsc-stats\">\n        <div><b>3,130<\/b><small>Annotated images<\/small><\/div>\n        <div><b>2<\/b><small>Source archives<\/small><\/div>\n        <div><b>94.4%<\/b><small>Best accuracy<\/small><\/div>\n        <div><b>88.9<\/b><small>Best F1<\/small><\/div>\n      <\/div>\n      <div class=\"gsc-links\">\n        <a class=\"primary\" href=\"https:\/\/github.com\/jijup\/SatStreaks\" target=\"_blank\" rel=\"noopener\">Code &amp; dataset \u2197<\/a>\n        <a href=\"https:\/\/openreview.net\/forum?id=GtvkR1scwk\" target=\"_blank\" rel=\"noopener\">Paper<\/a>\n      <\/div>\n      <p class=\"gsc-cite\">\n        S. Chatterjee, P. Kudeshia, N. Kollo, M. A. Agowun, J. Peethambaran, Y. Akiyama.\n        <em>SatStreaks: Towards Supervised Learning for Delineating Satellite Streaks from\n        Astronomical Images.<\/em> 21st Conference on Robots and Vision (CRV), 2024.\n      <\/p>\n    <\/div>\n  <\/article>\n\n  <!-- Curve Reconstruction Benchmark -->\n  <article class=\"gsc-item\" id=\"curve-benchmark\">\n    <figure class=\"gsc-media\">\n      <a href=\"https:\/\/gitlab.com\/stefango74\/curve-benchmark\/\" target=\"_blank\" rel=\"noopener\">\n        <img decoding=\"async\" src=\"https:\/\/cs.smu.ca\/~jiju\/wp-content\/uploads\/2020\/11\/nsom1-1.png\"\n             alt=\"Planar curves reconstructed from unorganized point sets in the curve reconstruction benchmark\" loading=\"lazy\">\n      <\/a>\n      <figcaption>Curves reconstructed from unorganized points<\/figcaption>\n    <\/figure>\n    <div>\n      <div class=\"gsc-meta\">\n        <span class=\"gsc-chip b\"><i><\/i>Benchmark<\/span>\n        <span class=\"sep\">\u00b7<\/span><span>Eurographics \/ CGF 2021<\/span>\n      <\/div>\n      <h3>Curve Reconstruction Benchmark <span class=\"sub\">\u2014 Survey &amp; Open Evaluation Framework for 2D Curve Reconstruction<\/span><\/h3>\n      <p>\n        Reconstructing a curve from unstructured planar points is a decades-old problem with\n        dozens of competing algorithms \u2014 and, until this work, no common yardstick. Accompanying\n        our Eurographics survey of 36 curve reconstruction methods, this open-source benchmark\n        provides a unified framework that evaluates 14 representative algorithms against ground\n        truth on unorganized points, boundary samples of binary images, and samples of smooth\n        curves, covering open, sharp, multiple, and non-manifold outlines.\n      <\/p>\n      <p>\n        The framework is designed for reproducibility: all results in the paper can be\n        regenerated from the repository, and new algorithms can be plugged in with minimal\n        effort \u2014 making it the standard testbed for follow-up work in the area.\n      <\/p>\n      <div class=\"gsc-stats\">\n        <div><b>36<\/b><small>Methods surveyed<\/small><\/div>\n        <div><b>14<\/b><small>Methods evaluated<\/small><\/div>\n        <div><b>100%<\/b><small>Reproducible<\/small><\/div>\n      <\/div>\n      <div class=\"gsc-links\">\n        <a class=\"primary\" href=\"https:\/\/gitlab.com\/stefango74\/curve-benchmark\/\" target=\"_blank\" rel=\"noopener\">Benchmark code \u2197<\/a>\n        <a href=\"https:\/\/arxiv.org\/abs\/2103.09583\" target=\"_blank\" rel=\"noopener\">Paper (arXiv)<\/a>\n        <a href=\"https:\/\/onlinelibrary.wiley.com\/doi\/abs\/10.1111\/cgf.142659\" target=\"_blank\" rel=\"noopener\">CGF version<\/a>\n      <\/div>\n      <p class=\"gsc-cite\">\n        S. Ohrhallinger, J. Peethambaran, A. D. Parakkat, T. K. Dey, R. Muthuganapathy.\n        <em>2D Points Curve Reconstruction Survey and Benchmark.<\/em>\n        Computer Graphics Forum 40(2): 611\u2013632 (Eurographics STAR), 2021.\n      <\/p>\n    <\/div>\n  <\/article>\n\n  <!-- ================= SOFTWARE ================= -->\n  <h2>Software<\/h2>\n  <p class=\"gsc-sec-sub\">Reference implementations and interactive tools from our publications.<\/p>\n\n  <!-- OpenSN -->\n  <article class=\"gsc-item\" id=\"opensn\">\n    <figure class=\"gsc-media\">\n      <a href=\"https:\/\/github.com\/jijup\/OpenSN\" target=\"_blank\" rel=\"noopener\">\n        <img decoding=\"async\" src=\"https:\/\/cs.smu.ca\/~jiju\/wp-content\/uploads\/2020\/11\/ProceduralLandscape.png\"\n             alt=\"Procedural landscape synthesized with noise functions from the OpenSN library\" loading=\"lazy\">\n      <\/a>\n      <figcaption>Procedural landscape synthesized with OpenSN<\/figcaption>\n    <\/figure>\n    <div>\n      <div class=\"gsc-meta\">\n        <span class=\"gsc-chip s\"><i><\/i>Software<\/span>\n        <span class=\"sep\">\u00b7<\/span><span>C++ \u00b7 2021<\/span>\n      <\/div>\n      <h3>OpenSN <span class=\"sub\">\u2014 An Open Library for Synthetic &amp; Procedural Noise<\/span><\/h3>\n      <p>\n        OpenSN is an open-source C++ workbench for procedural noise generation and analysis.\n        It implements ten noise models \u2014 including Perlin, Gabor, Worley, wavelet, phasor,\n        better gradient, and our own prime gradient noise \u2014 over five interchangeable lattice\n        hashing schemes (linear, Cantor, Szudzik, Rosenberg\u2013Strong, and classic Perlin\n        permutation), so the interaction between hashing and noise quality can be studied\n        directly.\n      <\/p>\n      <p>\n        A Dear&nbsp;ImGui interface lets you tweak parameters and apply noise to procedural\n        textures and terrain in real time, while built-in amplitude and Fourier analysis modes\n        export spectra to CSV for quantitative comparison. OpenSN grew out of our research on\n        prime gradient noise, a parameterized lattice noise that reduces visible periodicity\n        while improving efficiency.\n      <\/p>\n      <div class=\"gsc-stats\">\n        <div><b>10<\/b><small>Noise models<\/small><\/div>\n        <div><b>5<\/b><small>Hashing schemes<\/small><\/div>\n        <div><b>2<\/b><small>Analysis modes<\/small><\/div>\n      <\/div>\n      <div class=\"gsc-links\">\n        <a class=\"primary\" href=\"https:\/\/github.com\/jijup\/OpenSN\" target=\"_blank\" rel=\"noopener\">Code \u2197<\/a>\n        <a href=\"https:\/\/doi.org\/10.1007\/s41095-021-0206-z\" target=\"_blank\" rel=\"noopener\">Paper<\/a>\n      <\/div>\n      <p class=\"gsc-cite\">\n        S. Taylor, O. Sharpe, J. Peethambaran. <em>Prime Gradient Noise.<\/em>\n        Computational Visual Media 7(3): 349\u2013362, 2021.\n      <\/p>\n    <\/div>\n  <\/article>\n\n  <!-- Shapehull3D -->\n  <article class=\"gsc-item\" id=\"shapehull3d\">\n    <figure class=\"gsc-media\">\n      <a href=\"https:\/\/github.com\/jijup\/Shapehull3D\" target=\"_blank\" rel=\"noopener\">\n        <img decoding=\"async\" src=\"https:\/\/cs.smu.ca\/~jiju\/wp-content\/uploads\/2020\/11\/74456121-1.png\"\n             alt=\"Watertight triangular mesh reconstructed from a point cloud by Shapehull3D\" loading=\"lazy\">\n      <\/a>\n      <figcaption>Watertight surface via Delaunay sculpting<\/figcaption>\n    <\/figure>\n    <div>\n      <div class=\"gsc-meta\">\n        <span class=\"gsc-chip s\"><i><\/i>Software<\/span>\n        <span class=\"sep\">\u00b7<\/span><span>C++ \/ Qt \/ CGAL \u00b7 CAD 2015<\/span>\n      <\/div>\n      <h3>Shapehull3D <span class=\"sub\">\u2014 Delaunay Sculpting for Watertight Surface Reconstruction<\/span><\/h3>\n      <p>\n        Shapehull3D reconstructs watertight triangular surfaces from raw, unorganized point\n        clouds by repeatedly eliminating Delaunay tetrahedra under circumcenter and topological\n        constraints \u2014 a sculpting approach with a theoretical topological guarantee on the\n        resulting 3D shape-hull. Unlike many competing sculpting methods, it is non-parametric\n        and single-stage: no parameter tuning, no multi-pass pipelines.\n      <\/p>\n      <p>\n        The tool ships with a Qt interface for loading point clouds and inspecting the\n        reconstructed mesh, and is built on the exact geometric predicates of CGAL. It performs\n        particularly well on models with sharp features and sparsely sampled point clouds.\n      <\/p>\n      <div class=\"gsc-stats\">\n        <div><b>0<\/b><small>Parameters to tune<\/small><\/div>\n        <div><b>1<\/b><small>Stage<\/small><\/div>\n        <div><b>\u2713<\/b><small>Topological guarantee<\/small><\/div>\n      <\/div>\n      <div class=\"gsc-links\">\n        <a class=\"primary\" href=\"https:\/\/github.com\/jijup\/Shapehull3D\" target=\"_blank\" rel=\"noopener\">Code \u2197<\/a>\n        <a href=\"https:\/\/www.sciencedirect.com\/science\/article\/pii\/S0010448514001900\" target=\"_blank\" rel=\"noopener\">Paper<\/a>\n      <\/div>\n      <p class=\"gsc-cite\">\n        J. Peethambaran, R. Muthuganapathy. <em>Reconstruction of Water-tight Surfaces through\n        Delaunay Sculpting.<\/em> Computer-Aided Design 58: 62\u201372 (SPM 2014), 2015.\n      <\/p>\n    <\/div>\n  <\/article>\n\n  <footer class=\"gsc-foot\">\n    <p>\n      Questions about access, licensing, or contributing baselines? Email\n      <a class=\"eml\" role=\"button\" tabindex=\"0\" data-u=\"jiju.poovvancheri\" data-d=\"smu.ca\">Show email<\/a>.\n      This work is supported by NSERC, the Canada Foundation for Innovation, and computational\n      resources from the Digital Research Alliance of Canada.\n    <\/p>\n  <\/footer>\n\n\n<script>\n(function(){\n  function reveal(a){\n    if(a.getAttribute('data-shown')==='1') return;\n    var addr=a.getAttribute('data-u')+String.fromCharCode(64)+a.getAttribute('data-d');\n    a.textContent=addr;\n    a.setAttribute('href','mail'+'to:'+addr);\n    a.setAttribute('data-shown','1');\n  }\n  var links=document.querySelectorAll('.'+\"gsc-resources\"+' a.eml');\n  for(var i=0;i<links.length;i++){\n    (function(a){\n      a.style.cursor='pointer';\n      a.addEventListener('click',function(e){ if(a.getAttribute('data-shown')!=='1'){e.preventDefault(); reveal(a);} });\n      a.addEventListener('keydown',function(e){ if((e.key==='Enter'||e.key===' ')&#038;&#038;a.getAttribute('data-shown')!=='1'){e.preventDefault(); reveal(a);} });\n    })(links[i]);\n  }\n})();\n<\/script>\n<\/div>\n<\/div>\n\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Software &#038; Data \u2014 GSC Lab Open research artifacts from the Graphics &amp; Spatial Computing Lab. Everything on this page&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/pages\/1028"}],"collection":[{"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/comments?post=1028"}],"version-history":[{"count":21,"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/pages\/1028\/revisions"}],"predecessor-version":[{"id":2432,"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/pages\/1028\/revisions\/2432"}],"wp:attachment":[{"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/media?parent=1028"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}