Skip to content

Standardize dataset metadata in DATASETS.toml - #70

Draft
user27182 wants to merge 105 commits into
masterfrom
maint/dataset-metadata
Draft

user27182 wants to merge 105 commits into
masterfrom
maint/dataset-metadata

Conversation

@user27182

@user27182 user27182 commented Sep 6, 2026 •

Copy link
Copy Markdown
Contributor

DATASETS.toml records what every file under Data/ is, where it came from, who made it, what licence it carries, which redistributors the copy passed through, and what changed between the source and the copy here. One central table, so a reviewer sees the whole picture in one diff and PyVista can fetch the lot in one request. The licensing keys borrow their names and meaning from the REUSE specification, and LICENSES/ holds each licence's full text named the way REUSE names it; [license.*] and [collection.*] are small lookup tables that the dataset blocks reference.

All 1261 tracked files under Data/ are claimed by exactly one of the 228 [[dataset]] blocks, and tools/validate_datasets.py enforces that on every pull request along with the rest of the schema; the job also runs the validator's own test suite. provenance records confidence in the origin only. The licence's status is carried by SPDX-License-Identifier, so a dataset can have a certain source and undetermined terms. What we do not know is visible rather than silently absent.

pyvista/pyvista#9118 reads this table. It collapses each entry to one usage value for users (unrestricted, attribution, share_alike, non_commercial or undetermined), the most restrictive term of the expression, and treats LicenseRef-Unknown as the reserved identifier for undetermined terms, so that identifier and the three [license.*] flags are the contract the reader depends on. The files shipped inside pyvista/examples/ and the Khronos glTF samples get a bundled table in this schema on that side; its frog_tissues record follows the frog entry here.

One rule decides every entry: a redistributor's collection licence (Kitware's BSD notice for VTK Data, the Apache-2.0 of the VTK Examples) covers what the redistributor made and nothing else. When a file demonstrably belongs to someone else, the entry names that origin and the terms it states, or LicenseRef-Unknown when it states none, and redistributed_from lists every hop the copy took, from the origin toward this repository, so a reader can see that a file also reached Kitware's test data or a VTK issue.

Status Datasets Files What it means for a downstream user
✅ Clear for any use 135 1033 Open licence, commercial use permitted. Credit where the licence asks for it.
⚠️ Usable with conditions 14 17 Commercial use permitted, but ShareAlike propagates or the terms attach a condition beyond credit.
🔴 Not cleared for commercial use 79 211 12 whose licence forbids it, 67 whose terms could not be established.

The split is derived from the [license.*] flags alone: a dataset is 🔴 when any term has commercial_use = false, ⚠️ when any term has share_alike = true or names the NASA media guidelines, and ✅ otherwise.

provenance datasets meaning
verified 120 the source states the origin, or the bytes prove it
inferred 96 reasoned conclusion, explained in notes
unknown 12 origin could not be established
Licence roll-up: every licence in the repository, and what it costs a downstream user (28 licences, 228 datasets)
Licence Full text Datasets Commercial use Credit required ShareAlike
✅ Apache-2.0 text 36 yes yes no
✅ BSD-2-Clause text 1 yes yes no
✅ BSD-3-Clause text 53 yes yes no
✅ CC-BY-3.0 text 3 yes yes no
✅ CC-BY-4.0 text 19 yes yes no
⚠️ CC-BY-SA-2.5 text 2 yes yes yes
⚠️ CC-BY-SA-3.0 text 1 yes yes yes
⚠️ CC-BY-SA-4.0 text 1 yes yes yes
✅ CC0-1.0 text 8 yes no no
⚠️ GPL-3.0-or-later text 1 yes yes yes
⚠️ LGPL-2.1-only text 1 yes yes yes
⚠️ LGPL-3.0-only text 2 yes yes yes
⚠️ LGPL-3.0-or-later text 1 yes yes yes
⚠️ LicenseRef-DbCL-1.0 text 1 yes yes yes
🔴 LicenseRef-LBNL-WholeFrog text 1 no yes no
✅ LicenseRef-MINC text 1 yes yes no
⚠️ LicenseRef-NASA-Media text 2 yes yes no
🔴 LicenseRef-PaulBourke-PersonalUse text 1 no yes no
✅ LicenseRef-PublicDomain text 6 yes no no
✅ LicenseRef-SimScale-PublicProject text 2 yes no no
🔴 LicenseRef-StanfordScanningRepository text 6 no yes no
🔴 LicenseRef-TrainingImagesLibrary text 1 no no no
🔴 LicenseRef-Unknown text 67 no no no
✅ LicenseRef-UtahTeapot text 2 yes no no
🔴 LicenseRef-Viewpoint-DataLabs text 3 no no no
✅ MIT text 5 yes yes no
⚠️ ODbL-1.0 text 2 yes yes yes
⚠️ OFL-1.1 text 1 yes yes yes
🔴 79 datasets not cleared for commercial use: 12 whose licence forbids it, 67 whose terms could not be established

The licence forbids commercial use (12)

Dataset Files Licence Provenance Origin Reached us via Credited to Terms
armadillo 1 LicenseRef-StanfordScanningRepository verified Stanford 3D Scanning Repository lorensen/VTKExamples, vtk/vtk-examples Stanford University Computer Graphics Laboratory Stanford 3D Scanning Repository conditions of use
bunny 1 LicenseRef-StanfordScanningRepository verified Stanford 3D Scanning Repository vtk/vtk, data.kitware.com Stanford University Computer Graphics Laboratory Stanford 3D Scanning Repository conditions of use
bunny_coarse 1 LicenseRef-StanfordScanningRepository verified Stanford 3D Scanning Repository lorensen/VTKExamples Stanford University Computer Graphics Laboratory Stanford 3D Scanning Repository conditions of use
bunny_export 65 LicenseRef-StanfordScanningRepository verified Stanford 3D Scanning Repository lorensen/VTKExamples Stanford University Computer Graphics Laboratory Stanford 3D Scanning Repository conditions of use
cow 6 LicenseRef-Viewpoint-DataLabs verified VTK Data lorensen/VTKExamples Viewpoint Animation Engineering Inc. Viewpoint Animation Engineering dataset terms
cow_head 1 LicenseRef-Viewpoint-DataLabs verified lorensen/VTKExamples Viewpoint Animation Engineering Inc. Viewpoint Animation Engineering dataset terms
dragon 1 LicenseRef-StanfordScanningRepository verified Stanford 3D Scanning Repository vtk/vtk-examples Stanford University Computer Graphics Laboratory Stanford 3D Scanning Repository conditions of use
frog 4 LicenseRef-LBNL-WholeFrog verified LBNL Whole Frog Project, slice image data lorensen/VTKExamples Bill Johnston; Wing Nip Lawrence Berkeley National Laboratory Whole Frog Project data terms
lucy 1 LicenseRef-StanfordScanningRepository verified Stanford 3D Scanning Repository Stanford University Computer Graphics Laboratory Stanford 3D Scanning Repository conditions of use
sgems_geostatistics 6 LicenseRef-TrainingImagesLibrary verified Training Images Library Gregoire Mariethoz; Jef Caers Training Images Library, research use only
tecplot_ascii 1 LicenseRef-PaulBourke-PersonalUse verified Paul Bourke's data formats notes: TecPlot ascii format Paul Bourke Paul Bourke website terms, personal use only
three_ds_flamingo 2 LicenseRef-Viewpoint-DataLabs verified VTK Data 1992 Viewpoint Animation Engineering Inc. Viewpoint Animation Engineering dataset terms

Terms could not be established (67): treat as unlicensed until someone can identify the terms; 55 of them have an identified source that publishes none

Dataset Files Provenance Origin Reached us via Credited to What is known
action_figure 2 verified Laser Design sample files, Action Figure 3dgallery.gks.com Source confirmed; it states no terms
aero_bracket 2 verified SimScale public project: Aircraft engine bearing bracket analysis Source confirmed; it states no terms
antarctica_velocity 1 verified PyVista support issue 83 Benoit Urruty Source confirmed; it states no terms
banes_heart 1 inferred pyvista/data commit e28738e, "Add Bane's heart scan" Origin inferred; no terms found at the source
beach_nrrd 1 inferred VTK Data Origin inferred; no terms found at the source
bibliography 2 inferred VTK Data, Infovis folder Origin inferred; no terms found at the source
biplane 1 verified ParaView issue 21342 vtk/vtk, data.kitware.com Source confirmed; it states no terms
blood_vessels 1 inferred JiaweiZhuang/vtk_experiments Jiawei Zhuang Origin inferred; no terms found at the source
can_crushed_vtu 2 inferred VTK Data Origin inferred; no terms found at the source
carburetor 1 verified Laser Design sample files Source confirmed; it states no terms
cgns 2 verified CGNS example files Chris Rumsey; Marc Poinot Source confirmed; it states no terms
clouds 1 verified xplanet cloud images data.kitware.com Source confirmed; it states no terms
crater 1 unknown No source established
damavand_volcano 3 inferred AlexeyPechnikov/ParaView-MoshaFault banesullivan/damavand-volcano Alexey Pechnikov Origin inferred; no terms found at the source
dark_matter_halo 2 verified PyVista discussion 2576 Lukas Winkler (Findus23) Source confirmed; it states no terms
dc_inversion 1 unknown No source established
delaunay_example 1 unknown No source established
dicom_directory 2 inferred VTK Data lorensen/VTKExamples Origin inferred; no terms found at the source
dicom_knee 1 unknown No source established
dolfinx_checkpoint 5 verified pyvista PR 2839, comment by Rémi Delaporte-Mathurin with xdmf_files.zip pyvista/data Rémi Delaporte-Mathurin; Tetsuo Koyama Source confirmed; it states no terms
doorman 9 inferred lorensen/VTKExamples Origin inferred; no terms found at the source
drill 1 verified Laser Design sample file: Drill (archived 2019-08-25) 3dgallery.gks.com Source confirmed; it states no terms
earth_models 3 verified earthmodels.org, ETOPO example files for ParaView (Wayback Machine) Source confirmed; it states no terms
electronics_cooling 2 verified SimScale thermal management tutorial Source confirmed; it states no terms
exodus_mesh 1 verified pyvista/pyvista issue #143 Daniel Livingston Source confirmed; it states no terms
fea_bracket 1 inferred shkiefer/dash_vtk_unstructured Steve Kiefer Origin inferred; no terms found at the source
fonts 4 inferred VTK Data lorensen/VTKExamples Origin inferred; no terms found at the source
ge_signa 1 inferred VTK Data Origin inferred; no terms found at the source
gpr 2 inferred pyvista-support issue 135, Creating a 2.5D image/section (example with GPR) Origin inferred; no terms found at the source
great_white_shark 1 inferred CGTrader, Great white shark by Cartoomotion thingiverse.com, lorensen/VTKExamples Cartoomotion Origin inferred; no terms found at the source
hertzian_contact_cylinder 1 unknown No source established
horse 2 inferred Georgia Tech Large Geometric Models Archive lorensen/VTKExamples Origin inferred; no terms found at the source
horse_scan 1 verified Georgia Tech Large Geometric Models Archive lorensen/VTKExamples Cyberware, Inc. Source confirmed; it states no terms
hydrogen_orbital 1 inferred PyVista discussion 3810 Origin inferred; no terms found at the source
interpolating_on_stl 1 verified VTK Discourse thread 450 lorensen/VTKExamples Hosam (VTK Discourse user) Source confirmed; it states no terms
iron_protein 2 verified VTK Data lorensen/VTKExamples Scripps Clinic Source confirmed; it states no terms
kafadar_lidar 1 unknown No source established
kitchen 1 verified lorensen/VTKExamples, kitchen.vtk Ludwig Besse Source confirmed; it states no terms
land_sea_mask 1 verified pyvista-support issue 67, Plotting 2d array on a sphere Source confirmed; it states no terms
lethe_particles 1 verified pyvista/pyvista discussion 1984 Victor Oliveira Ferreira Source confirmed; it states no terms
letter_a 1 unknown No source established
lobster 1 verified Laser Design sample files Source confirmed; it states no terms
man_face 1 verified Laser Design sample files Source confirmed; it states no terms
misc_pyvista_era 3 unknown No source established
neghip 1 inferred Open SciVis Datasets, Neghip (VolVis distribution, SUNY Stony Brook) vtk/vtk, data.kitware.com Origin inferred; no terms found at the source
netcdf 1 inferred Unidata NetCDF example files data.kitware.com Institut Pierre Simon Laplace Origin inferred; no terms found at the source
nifti_brain 1 verified NIfTI-1 test data sets Montreal Neurological Institute Source confirmed; it states no terms
nifti_samples 3 verified NIfTI-1 test data sets data.kitware.com NIfTI Data Format Working Group Source confirmed; it states no terms
notch_stress 2 unknown No source established
openfoam_ensight_case 1 verified pyvista/pyvista#722 Luca Zampieri Source confirmed; it states no terms
pepper 1 verified Laser Design sample files: Red Pepper Source confirmed; it states no terms
pine_root_volume 2 verified Center for In Vivo Microscopy, Duke University examples.vtk.org, lorensen/VTKExamples Janet MacFall Source confirmed; it states no terms
pine_roots 1 verified The Visualization Toolkit textbook, chapter 9 lorensen/VTKExamples Janet MacFall Source confirmed; it states no terms
prostate 1 verified lorensen/VTKWikiExamples lorensen/VTKExamples Memorial Sloan Kettering Cancer Center Source confirmed; it states no terms
puppy 1 unknown No source established
pvgeo_examples 10 unknown No source established
qiime_tutorial_otus 2 inferred QIIME 1 overview tutorial data.kitware.com Origin inferred; no terms found at the source
quadratic_cylinder 2 verified VTK Data commit b8dd056, courtesy of Robert McGregor, ETHZ data.kitware.com Robert McGregor Source confirmed; it states no terms
room_surface_mesh 1 verified pyvista/pyvista issue 547 Source confirmed; it states no terms
sextant 2 verified CAD Studio VRMLout sample files lorensen/VTKExamples CAD Studio s.r.o. Source confirmed; it states no terms
sparse_points 1 verified VTK Discourse: Interpolate on STL lorensen/VTKExamples Hosam Source confirmed; it states no terms
stock_prices 4 unknown lorensen/VTKExamples, vtk/vtk-examples No source established
toy_plane_point_cloud 2 verified pyvista/pyminiply issue 13 WouterB15 Source confirmed; it states no terms
turbine_blade 1 verified Laser Design sample files: Turbine Blade 3dgallery.gks.com Source confirmed; it states no terms
urn 1 verified Laser Design sample files: Burial Urn 3dgallery.gks.com Source confirmed; it states no terms
vase 3 verified SUNY Stony Brook data.kitware.com, lorensen/VTKExamples SUNY Stony Brook Source confirmed; it states no terms
woman 1 inferred Laser Design sample files, Full Body Scan with Texture 3dgallery.gks.com Origin inferred; no terms found at the source
⚠️ 14 datasets usable with conditions: ShareAlike, or a condition beyond credit
Dataset Files Licence Provenance Origin Reached us via Credited to Condition
bridge 1 LGPL-3.0-only verified John Burkardt, WRL Files, Version 2.0 lorensen/VTKExamples John Burkardt ShareAlike: a derived work must carry the same licence
cubemap_space 2 LicenseRef-NASA-Media verified NASA/Goddard Scientific Visualization Studio NASA media guidelines: no implied endorsement, and identifiable people need consent
dolfin_mesh 1 LGPL-3.0-or-later verified DOLFIN demo stokes-taylor-hood (legacy FEniCS) FEniCS Project ShareAlike: a derived work must carry the same licence
font_ridiculous 1 OFL-1.1 verified VTK Data Martin B. Brilliant ShareAlike: a derived work must carry the same licence
foot_bones 2 LGPL-3.0-only verified John Burkardt, PLY Files lorensen/VTKExamples ShareAlike: a derived work must carry the same licence
grey_nurse_shark 1 CC-BY-SA-3.0 verified Thingiverse thing:137954 vtk/vtk-examples Autodesk ShareAlike: a derived work must carry the same licence
mug 1 LGPL-2.1-only verified MOOSE framework, chigger test input mug_blocks_out.e lorensen/VTKExamples Idaho National Laboratory ShareAlike: a derived work must carry the same licence
nefertiti 2 CC-BY-SA-4.0 verified The Other Nefertiti alloversky.com Nora Al-Badri; Jan Nikolai Nelles ShareAlike: a derived work must carry the same licence
openfoam_cavity 1 BSD-3-Clause AND GPL-3.0-or-later verified Kitware VTK Data on data.kitware.com, OpenFOAM folder 1993-2015 Ken Martin, Will Schroeder, Bill Lorensen ShareAlike: a derived work must carry the same licence
osmnx_street_graph 1 ODbL-1.0 verified OpenStreetMap OpenStreetMap contributors ShareAlike: a derived work must carry the same licence
pluto_texture 1 LicenseRef-NASA-Media verified NASA, Pluto global color map tamaskis/planet3D-MATLAB NASA; Johns Hopkins University Applied Physics Laboratory; Southwest Research Institute NASA media guidelines: no implied endorsement, and identifiable people need consent
reservoir 1 ODbL-1.0 AND LicenseRef-DbCL-1.0 verified UNISIM-CEPETRO, Unicamp pyvista/pyvista-support 2023 UNISIM-CEPETRO-Unicamp ShareAlike: a derived work must carry the same licence
stars_cloud_hyg 1 CC-BY-SA-2.5 verified HYG Database astronexus/HYG-Database ShareAlike: a derived work must carry the same licence
tango_icons 1 CC-BY-SA-2.5 verified Tango Desktop Project, Tango Icon Library 0.8.1 data.kitware.com Ulisse Perusin; Steven Garrity; Lapo Calamandrei; Ryan Collier; Rodney Dawes; Andreas Nilsson; Tuomas Kuosmanen; Garrett LeSage; Jakub Steiner ShareAlike: a derived work must carry the same licence
✅ 135 datasets clear for any use: open licence, commercial use permitted
Dataset Files Licence Provenance Origin Reached us via Credited to
alpha_channel 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
amr 164 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
amr_enzo 7 BSD-3-Clause verified yt test data, tests/DD0010 vtk/vtk, data.kitware.com Matthew Turk
angular_sector 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
auto_mpg 2 CC-BY-4.0 verified UCI Machine Learning Repository, Auto MPG data.kitware.com, lorensen/VTKExamples R. Quinlan
avs_ucd 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
biquadratic_quads 1 BSD-3-Clause inferred VTK Data vtk/vtk, lorensen/VTKExamples 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
bird_bath 2 CC-BY-4.0 verified GGG-BenchmarkSfM, Mendeley Data Ivan Nikolov; Claus Madsen
black_vase 2 CC-BY-4.0 verified GGG-BenchmarkSfM, Mendeley Data Ivan Nikolov; Claus Madsen
blow 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
bolt_nut 2 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
brain 1 Apache-2.0 inferred lorensen/VTKExamples
cad_model_case 1 CC-BY-4.0 verified Thingiverse thing:4947746 downerhouse
caffeine 2 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
cake_easy 1 Apache-2.0 inferred lorensen/VTKExamples
calculix_frd 1 Apache-2.0 verified pyvista pull request 8255, comment by 3rav 3rav
can_crushed_hdf_series 3 BSD-3-Clause verified ParaView testing data, v5.10.0 pyvista/pyvista Sandia National Laboratories
carotid 1 Apache-2.0 inferred lorensen/VTKExamples
cells 32 Apache-2.0 verified lorensen/VTKExamples, WriteLegacyLinearCells and WriteXMLLinearCells Bill Lorensen
chest_ct 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
chi_field 1 BSD-3-Clause verified VTK Data commit by Philippe Pébay, Sandia National Laboratories Philippe Pébay; Ajith Mascarenhas
chombo3d 17 BSD-3-Clause inferred VTK Data, chombo3d folder 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
clown 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
cubemap_debug 7 Apache-2.0 verified BabylonJS/Babylon.js 2023 The Babylon.js team
cubemap_park 1 CC-BY-3.0 verified Humus texture library math.hws.edu Emil Persson
dicom_stack 2 CC-BY-4.0 verified The Cancer Imaging Archive, CPTAC-SAR collection
embryo 1 MIT inferred vedo example data Marco Musy
emg3d_dipole 2 Apache-2.0 verified pyvista/data, emg3d dipole README with the generating script Alex Kaszynski
emoji 1 Apache-2.0 inferred lorensen/VTKExamples
ensight_cylinder_crossflow 5 Apache-2.0 verified pyvista/data pull request 2 Matthew Flamm
ensight_lshape 3 Apache-2.0 inferred pyvista/data pull request 33 Paul Hofer
ensight_naca 4 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
ensight_simple_tetra 2 Apache-2.0 inferred pyvista/data pull request 59 riku-sakamoto
ensight_test_cases 143 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
ex_blow_5 17 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
face 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
faults 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
filled_contours 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
fluent_cff_room 2 BSD-3-Clause verified VTK merge request 7521, Fluent CFF Reader vtk/vtk, data.kitware.com Arthur Piquet
foot_volume 2 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
full_head 2 BSD-3-Clause inferred VTK Data lorensen/VTKExamples 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
gambit_prism 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
gears 1 Apache-2.0 inferred lorensen/VTKExamples
gettysburg_address 1 LicenseRef-PublicDomain verified lorensen/VTKExamples Abraham Lincoln
gis_countries 4 LicenseRef-PublicDomain verified Natural Earth vector data, ne_110m_admin_0_countries data.kitware.com Natural Earth
gourds 3 Apache-2.0 inferred lorensen/VTKExamples
grasshopper 1 Apache-2.0 inferred VTK Examples
hdr_textures 2 CC0-1.0 verified Poly Haven Greg Zaal; Sergej Majboroda
head_2 1 BSD-3-Clause inferred VTK Data lorensen/VTKExamples 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
head_mr_volume 2 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
headsq 94 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
honolulu 1 BSD-3-Clause inferred VTK Data lorensen/VTKExamples 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
human 1 Apache-2.0 inferred lorensen/VTKExamples
idgh_bracket 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
infovis 32 BSD-3-Clause inferred VTK Data lorensen/VTKExamples 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
ivan_angel 2 CC-BY-4.0 verified GGG-BenchmarkSfM, Mendeley Data Ivan Nikolov; Claus Madsen
letter_k 1 Apache-2.0 inferred lorensen/VTKExamples
libtiff_test 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
lincoln_life_mask 5 CC0-1.0 verified Smithsonian Open Access Smithsonian Institution
louis_louvre 1 CC-BY-4.0 verified Sketchfab HoangHiepVu
magnetic_coil_field 1 BSD-2-Clause verified magpylib
masonry 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
meshio_xdmf 2 Apache-2.0 verified meshio test suite, test_time_series Tetsuo Koyama
minc_image 1 LicenseRef-MINC verified MINC library volume_io test data data.kitware.com The MINC developers, McConnell Brain Imaging Centre, Montreal Neurological Institute, McGill University
model_with_variance 1 CC-BY-4.0 inferred Utah FORGE: Roosevelt Hot Springs Analytical Well-Based Temperature Model Data, GDR submission 1110 Robert Podgorney; Rick Allis
moonlanding_image 1 CC-BY-4.0 verified Scipy Lecture Notes
motor 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
mount_damavand 1 MIT verified AlexeyPechnikov/ParaView-MoshaFault banesullivan/damavand-volcano Alexey Pechnikov
multiblock_display 67 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
nasa_plot3d_cfd 10 LicenseRef-PublicDomain verified NASA Ames Research Center, PLOT3D User's Manual data.kitware.com, lorensen/VTKExamples NASA Ames Research Center
natural_earth_ii 4 LicenseRef-PublicDomain verified Natural Earth II Tom Patterson
nek5000_eddy 12 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
oblique_cone 1 Apache-2.0 inferred lorensen/VTKExamples
office 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
omf_wolfpass 1 MIT inferred Open Mining Format (gmggroup/omf, 2019 repository, Wayback) pyvista/omfvista Global Mining Guidelines Group
openfoam_tubes 2 LicenseRef-SimScale-PublicProject verified SimScale public project library
openvdb_sphere_points 1 CC-BY-4.0 verified OpenVDB sample models vtk/vtk, data.kitware.com OpenVDB project
owl 2 CC-BY-4.0 verified GGG-BenchmarkSfM, Mendeley Data Ivan Nikolov; Claus Madsen
parallel_exodus_can 4 BSD-3-Clause inferred VTK Data vtk/vtk 1993-2015 Ken Martin, Will Schroeder, Bill Lorensen
paraview_pvd 40 BSD-3-Clause verified ParaView test data data.kitware.com 2000 Kitware Inc.
paraview_pvd_variants 2 Apache-2.0 verified pyvista/data PyVista Developers
particles 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
perlin_noise_shader 1 MIT verified webgl-noise lorensen/VTKExamples Stefan Gustavson
pileated_woodpecker 1 Apache-2.0 inferred lorensen/VTKExamples
planet3d_matlab_backgrounds 4 CC-BY-4.0 verified Solar System Scope Textures tamaskis/planet3D-MATLAB Solar System Scope (INOVE)
plastic_vase 2 CC-BY-4.0 verified GGG-BenchmarkSfM, Mendeley Data Ivan Nikolov; Claus Madsen
polyline 1 Apache-2.0 inferred lorensen/VTKExamples
procedural_cow 3 CC0-1.0 verified PyVista
prostar 2 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
protein_2j6g 1 CC0-1.0 verified RCSB Protein Data Bank lorensen/VTKExamples
protein_2lyz 1 CC0-1.0 verified RCSB Protein Data Bank data.kitware.com
protein_3gqp 1 CC0-1.0 verified RCSB Protein Data Bank data.kitware.com
pump_bracket 2 LicenseRef-SimScale-PublicProject verified SimScale public project 'Bracket' by STR STR
quadratic_pyramid 1 Apache-2.0 inferred lorensen/VTKExamples
rectilinear_grid 1 BSD-3-Clause inferred VTK Data lorensen/VTKExamples 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
ruapehu_topo50 1 CC-BY-4.0 inferred LINZ, NZ Topo50 Maps Land Information New Zealand
sample_gif 1 MIT verified PyVista PyVista Developers
sample_struct_grid 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
sea_vase 2 CC-BY-4.0 verified GGG-BenchmarkSfM, Mendeley Data Ivan Nikolov; Claus Madsen
semi_disk 4 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
shark 1 Apache-2.0 inferred lorensen/VTKExamples
skybox2 6 CC-BY-3.0 verified Humus texture library vtk/vtk, lorensen/VTKExamples Emil Persson
skybox_lorensen 13 BSD-3-Clause inferred VTK Data lorensen/VTKExamples 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
solar_textures 12 CC-BY-4.0 verified Solar System Scope Textures Solar System Scope (INOVE)
spcth_time_series 9 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
spider 1 Apache-2.0 inferred lorensen/VTKExamples
st_helens 1 LicenseRef-PublicDomain verified VTK Data United States Geological Survey
step_model 1 Apache-2.0 inferred cqparts/cqparts test data CadQuery/cadquery
teapot 2 LicenseRef-UtahTeapot verified The Utah Teapot, University of Utah Graphics Lab data.kitware.com, lorensen/VTKExamples Martin Newell
teapot_vrml 2 LicenseRef-UtahTeapot verified The Utah Teapot, University of Utah Graphics Lab lorensen/VTKExamples Martin Newell; Martin Isenburg
tensors 1 BSD-3-Clause verified VTK Data Prabhu Ramachandran
tetrahedron 1 Apache-2.0 inferred lorensen/VTKExamples, ExtractFaces example data
thermal_probes 1 CC-BY-4.0 verified Utah FORGE: Roosevelt Hot Springs Analytical Well-Based Temperature Model Data, GDR submission 1110 Robert Podgorney; Rick Allis
torso 1 Apache-2.0 inferred lorensen/VTKExamples
triquadratic_hexahedron 1 Apache-2.0 inferred lorensen/VTKExamples
trumpet 12 Apache-2.0 inferred lorensen/VTKExamples
ucd2d 11 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
unstructured_grid_example 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
usa 2 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
utah_forge_earth_model 2 CC-BY-4.0 verified Utah FORGE: Earth Model Mesh Data for Selected Surfaces, GDR submission 1107 Robert Podgorney
vector_animation 9 Apache-2.0 inferred VTK animVectors example (vtkdata/vecTex) lorensen/VTKExamples
victorian_goblet_face_illusion 1 CC-BY-3.0 verified Thingiverse thing:1541337 Alzibiff
vtk_cell_types 1 BSD-3-Clause verified VTK legacy file format documentation lorensen/VTKExamples 1993-2015 Ken Martin, Will Schroeder, Bill Lorensen
vtk_data_files 103 BSD-3-Clause inferred VTK Data lorensen/VTKExamples 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
vtk_examples_files 32 Apache-2.0 inferred lorensen/VTKExamples
vtk_logo 1 BSD-3-Clause inferred VTK Data 1993-2008 Ken Martin, Will Schroeder, Bill Lorensen
vtk_logo_mesh 1 Apache-2.0 inferred lorensen/VTKExamples
vtu_series 1 Apache-2.0 verified pyvista/data pull request 61 riku-sakamoto
vw_knee 1 LicenseRef-PublicDomain inferred The Visible Human Project, U.S. National Library of Medicine lorensen/VTKExamples U.S. National Library of Medicine
warping_spheres 1 Apache-2.0 verified VTK Examples
washington_bust 5 CC0-1.0 verified Smithsonian National Portrait Gallery, George Washington (NPG.70.4) sketchfab.com Smithsonian Institution
wavy_pvd 1 Apache-2.0 verified pyvista/data pull request 3 Matthew Flamm
whole_body_ct 7 CC-BY-4.0 verified TotalSegmentator dataset v2.0.1, Zenodo Jakob Wasserthal
wintersun 1 CC0-1.0 inferred GiantCowFilms, HDR: Winter Sun - Morning vtk/vtk, lorensen/VTKExamples GiantCowFilms
yinyang 2 Apache-2.0 inferred VTK Examples

Where every claim comes from

Each row above carries the whole chain: the origin that published the work, the route this copy travelled, and who it is credited to. origin_url is the furthest upstream point that could be established, not a download link; 89 entries name VTK Data, the VTK test data or the VTK Examples there because that is as far back as anyone got. redistributed_from records the route when it differs: 79 entries carry one, 96 hops in all, including VTK issues, content links and the 2019 import from lorensen/VTKExamples. The licence roll-up links both the text this repository ships and the issuing organisation's own page.

  • Every claim was re-derived from the source rather than from the LICENSE and README sidecars this branch deletes, then re-verified record by record: every origin_url opened, every licence read off its page, every byte match and hash rerun. Each pass found errors in what the sidecars and the previous pass asserted, so the notes say what was checked and how, for the next person to rerun rather than trust.
  • The recurring defect was structural: a redistributor's collection licence asserted over third-party work. Kitware's BSD-3-Clause and the VTK Examples Apache-2.0 had been applied wholesale to a MOOSE simulation, a CAD vendor's sample model, an ETH flow analysis, a Sandia Exodus file attached to a ParaView issue, the OpenVDB project's model, Natural Earth's countries, John Burkardt's PLY and VRML files, NASA CFD cases, Emil Persson's skybox, Cyberware's horse, LBNL's frog and Scripps' iron protein. cow.obj states its own terms in its header; kitchen.vtk credits ETH on its second line.
  • The techniques that found these, and how to repeat them, are in CONTRIBUTING.md: read the bytes, look for a readme beside the file upstream, check when a file arrived, hash against upstreams, query URLs through an API, read the CC version from rel="license", and read the whole pull request discussion. Several origins were found only in issue comments or attachments.
  • The licence texts have provenance too: each [license.*] table records text_source, CI requires it, and all 16 SPDX-listed texts in LICENSES/ are the canonical SPDX text unchanged, verifiable with the snippet in CONTRIBUTING. The 12 LicenseRef- files each carry a Source: line: nine quote the page or file they rest on, LicenseRef-DbCL-1.0 reproduces the ODC text, and LicenseRef-PublicDomain and LicenseRef-Unknown were written here and say so.
  • Honest gaps. 12 datasets have no established source after bytes, upstream readmes, the VTK textbook, Debian's content-hash index, code search, the VTK forums and the pre-fork history, and 55 more have a source that publishes no terms. All are recorded as undetermined rather than guessed; the longer records say what was tried.
  • The root LICENSE is Apache-2.0 from the 2019 VTK Examples import and does not cover Data/; README.md says what each root file covers.

Resolves #68

Changes drafted by Claude Opus 5 and Claude Fable 5.1 but fully understood by me.

🤖 Generated with Claude Code

user27182 and others added 30 commits September 5, 2026 16:06
Follows the REUSE convention: one plain-text file per licence, named by its
SPDX identifier. Standard licence texts come from the SPDX license list.
Terms that SPDX does not list are recorded as `LicenseRef-` identifiers:
the Stanford 3D Scanning Repository conditions of use, the Utah Teapot's
public-domain-by-convention status, SimScale's public project terms, NASA
SVS media usage, the Open Data Commons Database Contents License, and a
statement of what `LicenseRef-Unknown` means.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A single central table records, for each of the 200 datasets in this
repository, what the data is, where it came from, who made it, what licence
it carries, what changed between the source and the copy here, and how
confident that record is. Every one of the 1258 tracked files under `Data/`
is claimed by exactly one `[[dataset]]` block.

The licensing keys follow the REUSE specification, so `SPDX-License-Identifier`
and `SPDX-FileCopyrightText` carry their standard meaning. Two lookup tables
sit alongside the datasets: `[license.*]` gives each licence a title, a URL, a
path to its full text and flags for commercial use, attribution and
ShareAlike; `[collection.*]` names the upstreams that several datasets share.

`provenance` is either "verified", "inferred" or "unknown", so a researched
record is distinguishable from a reasoned guess and from a genuine gap. 54
datasets carry `LicenseRef-Unknown`, and each says in `notes` what was
established, what was not, and what a downstream user should do.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Removes the `LICENSE`, `License`, `LICENSE.txt`, `LICENSE_PARAVIEW` and
`*.license` files under `Data/`. Everything they recorded is now a field in
`DATASETS.toml`: the source URL in `source_url`, the licence in
`SPDX-License-Identifier`, the required credit in `attribution`, the caveats
in `notes`, and the full licence text in `LICENSES/`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Removes the `README`, `README.md`, `README.txt`, `README.VTK.txt` and
`CITATION.txt` files under `Data/`. Their descriptive content is now the
`description`, `source_url` and `notes` fields of the matching `[[dataset]]`
block, the processing they documented is `modification`, and the works they
asked to be cited are `references`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Checks that DATASETS.toml is well formed and complete. It verifies that every
tracked file under `Data/` is claimed by exactly one `[[dataset]]`, that no
block carries an unknown or missing key, that names are unique and the blocks
are sorted, that every `SPDX-License-Identifier` resolves to a `[license.*]`
table with its text on disk, and that the conditionally required fields are
present: `attribution` when the licence requires credit, `modification` when
`modified` is set, `notes` when the provenance is not verified, `source_url`
unless the provenance is unknown. It also rejects `LICENSE`, `README`,
`CITATION` and `.license` files under `Data/`.

Each failure prints the place, the problem and a concrete remedy, including a
ready-to-paste `[[dataset]]` block for an uncovered file. Needs only Python
3.11 or newer.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Runs tools/validate_datasets.py on every pull request and on pushes to
master. The checkout is blobless, so the job does not download the data
itself. On failure the workflow writes a job summary explaining the rule,
the command to reproduce the check locally, the validator's full output and
a link to CONTRIBUTING.md.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
CONTRIBUTING.md gives the field reference, two worked examples, guidance on
choosing a provenance value, the licence requirements for new data, and how
to add a licence that is not yet declared. The README explains what
DATASETS.toml is and shows how to read one dataset's record downstream. The
pull request template now asks for the fields the validator checks rather
than for a prose licence file.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The forbidden-file set matched exact, case-sensitive names, so `license.txt`,
`Readme.md`, `CITATION.md` and `NOTICE.txt` all passed. Match on the
case-folded stem instead, which also covers `LICENCE`, `COPYING` and
`data.License`.

`fnmatch` does not treat `/` specially, so `dir/*` matched everything nested
under `dir/` and was indistinguishable from `dir/**`. A dataset written with
`dir/*` therefore claimed files added under it later, and the coverage check
never reported them. Compile the pattern to a regex where `*` and `?` stop at
a separator and `**` crosses one, which is the meaning CONTRIBUTING.md
documents.

Both were reachable together: a directory holding a mesh, a `license.txt` and
a `Readme.md`, claimed with `path = ["newthing/*"]`, validated clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`main` caught only `TOMLDecodeError`, so a value of the wrong shape reached
the checks and crashed. Writing `license = "CC-BY-4.0"` — an easy slip given
that the licence tables use quoted keys — raised `AttributeError` from
`.items()`, and a `path` written as a string was iterated character by
character, reporting one nonsense pattern per character.

Check the top-level shape and the array-valued fields first, and stop there
when they are wrong, so a contributor gets the same report format as every
other failure rather than a traceback.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The recorded thing ID was reconstructed from the model name and never
confirmed. It is wrong: `thing:1420661` has no Wayback capture at all, while
`thing:1541337` is titled "Victorian Goblet face illusion by Alzibiff" and
matches the licence label the bundled file carried.

The publication date, 5 May 2016, also settles the version the licence label
omits: it postdates CC 4.0, so the CC-BY-4.0 reading stands on a date rather
than on a guess.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The Stanford page carries two separate conditions and only the commercial one
was recorded. The other names these two models directly: the dragon as a
symbol of Chinese culture and Lucy as a Christian angel, with a request not to
animate, morph, apply Boolean operators to, or simulate nasty things happening
to them.

It binds in practice — `examples/01-filter/clip_closed_surface.py` clips Lucy
— and a gallery card built from these entries would have told a reader that
commercial use was the only constraint. The bunny entry already recorded the
exemption from this restriction, so only the restriction itself was missing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`misc_pyvista_era` declined to confirm whether the top-level `mars.jpg` and
`stars.jpg` were duplicates of the copies under `solar_textures/` and
`planet3d-matlab/`. They are byte-identical, so both were recorded as having
undetermined terms when they are in fact CC-BY-4.0 (Solar System Scope) and
MIT (Tamas Kis).

Move each into the entry that owns its original, which removes two files from
the undetermined bucket.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
It is not a time series and not derived from `bunny.ply`. All 64 files hold
the same 872-point mesh, which compares equal to `Bunny.vtp`; what varies
between them is field data named `Camera:Position`, `Actor:Orientation`,
`Property:SpecularPower` and the like, so this is a scene export fixture.
`ExportBunny.vtp` is also a `vtkMultiBlockDataSet`, not PolyData.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
UNISIM licenses the database under the ODbL and its contents under the DbCL.
Only the DbCL half was recorded, whose table says no attribution and no
ShareAlike — so this entry failed CONTRIBUTING.md's own rule that a ShareAlike
licence must carry `share_alike = true` and a warning, and a gallery card
would have told a reader no credit was needed.

The source also makes citation mandatory rather than requested, in any
publication or report of a study that uses the benchmark. That is now in
`attribution`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The deleted `Data/DICOM_Stack/CITATION.txt` carried a statement the CPTAC
program asks publications to include, and it survived nowhere in
DATASETS.toml. It is an obligation rather than background, so it belongs in
`attribution` alongside the data citation.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Each was traceable, and three of the four move out of the undetermined bucket.

`biplane` and `openvdb_sphere_points` are VTK's own reader test inputs, named
in `IO/IOSS/Testing/CMakeLists.txt` and `IO/OpenVDB/Testing/CMakeLists.txt`,
so they sit on the same footing as the rest of the VTK Data collection.
`step_model` is `tests/testdata/red_cube_blue_cylinder.step` in the CadQuery
repository, which is Apache-2.0 — though its STEP header shows a
translation-service export rather than a CadQuery one, so the note says
CadQuery may itself be a redistributor.

`netcdf` stays undetermined but is no longer anonymous: its own global
attributes identify it as IPSL-CM4_v1 output for the IPCC Fourth Assessment
SRES A2 experiment, so CMIP3 terms attach to it. Its `source_url` had also
moved to the Unidata archive host.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The grey nurse shark was published on 22 August 2013, not in June; the
archived Thingiverse page carries the timestamp. The CC BY-SA 3.0 inference
still holds, since August still precedes CC 4.0. The date appeared in
CONTRIBUTING.md's worked example too.

`cow` described a collection README that this branch deletes.

`bunny_coarse` said only "decimated and converted". It is also scaled by a
factor of two and recentred: 35947 points to 872, with extent ratios of
2.0021, 1.9968 and 2.0014 against `bunny.ply`. That is the part a user
comparing the two datasets would trip over.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A `source_url` a reader cannot follow to the stated terms is worse than none,
because the record looks checkable and is not.

  - `magnetic_coil_field` — the linked magpylib example page 404s; point at
    the project instead, and say plainly that a downstream user is unlikely to
    be bound by a solver's licence for output it computed.
  - `tango_icons` — `tango.freedesktop.org` returns 400; use the archived page
    that still carries the licence statement.
  - `stars_cloud_hyg` — the GitHub repository now redirects readers to
    Codeberg and carries no licence text at all, so a "verified" entry could
    not be reproduced from it. Codeberg's README states the version rule that
    makes CC BY-SA 2.5 the right licence for `hygdata_v3.csv`.
  - `washington_bust` — pointed at the Smithsonian collection root, which says
    nothing about this object; use the object page, as `lincoln_life_mask`
    already did.
  - `earth_models` — cited ETOPO5 while the files are the ten-minute product,
    on a host that now redirects.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
None of these changes a licence except `cad_model_case`, but each replaces a
statement about what was not checked with one about what is now known.

  - The Laser Design note said no terms were found anywhere on the site. The
    site does carry terms pages and a CyberOptics copyright assertion; they
    cover purchase and website use, not reuse of the models, so the conclusion
    holds but the reasoning was wrong.
  - `great_white_shark` — the candidate Thingiverse upload exists, and its own
    uploader disclaims authorship and names a CGTrader page as the origin.
    That is a stronger reason to leave the licence undetermined than "not
    independently verified" was.
  - `cad_model_case` moves to verified: the archived page's structured data
    names the CC BY 4.0 licence URL directly, so the version is stated at the
    source rather than inferred.
  - `dicom_stack` — the collection page lists licences per data type and the
    image rows are not uniform, so the note now says which rows CC BY 3.0
    comes from. The Zenodo dataset DOI is added to `whole_body_ct`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The file said "quoted verbatim from the repository page" over text that had
been edited: "However," was dropped from the start of the restriction,
"without our permission" was expanded to name the laboratory, and the
sentence granting the right to publish images — the one the `attribution`
field depends on — was missing entirely.

Restore the passage as the page states it, and add the "Inappropriate uses of
these models" section, which carries the cultural-significance request and the
bunny and armadillo exemption. In a licence text file, verbatim has to be
literal.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The page is generated from `dataset_gallery.rst`, so the published URL uses an
underscore. Both files linked the hyphenated form, which 404s — and it is the
link a contributor is most likely to follow.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`provenance` describes the origin only, and the nine Laser Design scans are
`verified` with an undetermined licence — a certain source that publishes no
terms. Anything rendering a badge from this file should take "can I use this?"
from `SPDX-License-Identifier`, not from `provenance`, and the field reference
now says so.

The `path` rules were described as "`dir/**` matches everything under `dir/`",
which left the meaning of `dir/*` to whatever the validator happened to do.
A downstream consumer has to resolve a file to its dataset with these rules,
so they are part of the format: `*` and `?` stop at a separator and only `**`
crosses one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
An unqualified Apache-2.0 `LICENSE` at the root of a repository that now
documents a CC BY-NC-SA dataset inside it is the contradiction this branch
exists to remove. The README now says what each root file covers: `LICENSE`
came with the 2019 VTKExamples import and covers that material and the
tooling, `Copyright.txt` is VTK's notice for the inherited collection, and
neither licenses `Data/` as a whole.

The REUSE wording was narrowly true and read as more than it claimed. This
repository borrows REUSE's key names and its `LICENSES/` layout; it is not
REUSE-covered, because REUSE wants per-file sidecars and 1258 of those would
be unreviewable next to one table. Saying so is better than implying
otherwise.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`filter: blob:none` still materialises every blob in the working tree, so the
job was downloading 1.8 GB of data to read an index. The validator only needs
`git ls-files`, which reads the index and is unaffected by a sparse worktree.

Excluding `Data/` gives a 2.1 MB checkout, and the validator's output is
unchanged: 200 datasets cover 1258 files under Data/, with `Data/` absent from
disk. Also drop the checkout credentials, which this job never uses.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
All nine scans were recorded as `provenance = "verified"`, but only seven
appear on the current sample-files listing. `woman` and `drill` do not, so the
only evidence they came from Laser Design is PyVista's own docstring. That is
an inference, not a confirmation, and the notes now say so.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`license_terms` dropped the `WITH` keyword but kept the exception after it, so
`Apache-2.0 WITH LLVM-exception` demanded a `[license.LLVM-exception]` table
and a licence text that will never exist. No entry uses an exception today;
the first one to would have been rejected.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The entry claimed a NonCommercial clause that neither source states. The
artists' project page says "The 3d data is licensed under a Creative Commons
Attribution-ShareAlike 4.0 International License" and links
creativecommons.org/licenses/by-sa/4.0; the archived original
`nefertitihack.alloversky.com` page, which hosted the very `.obj` this
repository ships, says the same thing and links the same URL.

The NC reading came from the sidecar file this branch deletes, not from the
source, and it was recorded as `provenance = "verified"` — meaning the page
had been read. The notes then built on it: "not compatible with commercial
redistribution" and "no permissively licensed Nefertiti scan is currently
known to exist" are both wrong. Commercial redistribution is permitted; only
the ShareAlike obligation propagates.

This was the repository's only non-commercial dataset.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Two claims on an entry marked `provenance = "verified"` did not survive
checking.

`Data/DICOM_Stack/metadata.csv`, which ships in this repository, records
`Modality = MR`, `Study Description = FOREARMROUTINE`, `Series Description =
AX SCOUT`, `Number of Images = 3`. It is a three-slice MR scout of a forearm,
not a stack of CT slices.

The collection page lists CC BY 4.0 for the DICOM images as of Version 10,
updated 2023-05-10. CC BY 3.0 was the licence when the sidecar file this entry
replaces was written; the recommended citation has likewise moved to the 2019
Version 10 form.

Also adds the Zenodo dataset DOI to `whole_body_ct`, which CC BY attribution
for the dataset needs and which the paper DOI does not cover.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Commit a8f3faa described four changes and contained one: the script that
wrote them raised partway through and only the great white shark edit was
re-applied. This lands the two that were lost and still stand. The DICOM
stack pair is in the preceding commit.

The Laser Design note said no terms were found elsewhere on the site. The
"Terms of Use" link in the sample-file page's own footer goes to CyberOptics'
website terms, which grant permission to download one copy "for personal,
non-commercial transitory viewing only" and forbid using the materials "for
any commercial purpose" or transferring or mirroring them. Whether that
boilerplate is meant to reach the sample downloads is arguable, and the
conclusion is unchanged — no grant of redistribution rights exists anywhere on
the site. But the note asserted a fact about the site that the site
contradicts, one click from `source_url`.

`cad_model_case` reads CC BY 4.0 from the licence URL in the page's own
structured data rather than from the version-less label.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
All six said the archive held a "full-resolution mesh". It does not: the zips
were already decimated to keep each archive under 50 MB, and the `_decimated`
files are a second, much heavier reduction that no field described. Measured
point counts are now recorded for both.

`black_vase` said "converted without decimation", contradicted by both files.
`bird_bath`'s "decimated to roughly 1.8 million points" described the zip, not
the file the name refers to. `owl` and `sea_vase` read "with float32
coordinates and converted to float32 coordinates", and `owl.zip` is in fact
float64.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
user27182 and others added 30 commits September 6, 2026 12:16
Its 5926 by 2963 is the same unusual size as NASA's global colour mosaic, and
the two decode to the same picture — 0.03 out of 255 mean difference, 1 at
most, which is only re-encoding. Credit goes to NASA, JHUAPL and SwRI.

The NASA licence table was specific to the Scientific Visualization Studio;
the guidelines it quotes are agency-wide, so it is now `LicenseRef-NASA-Media`
and covers mission imagery too.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PVGeo's example scripts kept each original `trainingimages.org` URL as a
comment beside the pyvista/data URL that replaced it, and all six files are
named there. The library grants research use only, so these were not
unlicensed but restricted, which is a different thing to tell a user.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`Example.metadata` was renamed away and pyvista/pyvista#9118 is still open, so
both the README and the table header promised an API that does not exist yet.
The forbidden-file rule also read as absolute: it applies to tracked files,
not to a readme inside an archive, and several archives here carry one as the
evidence for their entry.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`solar_textures` still claimed Pluto after the texture moved to its own
entry, and the VTK Examples bulk description did not account for
`GitLfsInstalled`, a fifteen-byte probe marker swept in by the 2019 import.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Its projection, tiepoint beside Ruapehu's crater, 4.2333 metre pixel scale —
1:50,000 at 300 dpi, LINZ's published Topo50 raster spec — and the
`BJ34_GeoTifv` filename convention all point at the same sheet, and the LINZ
Data Service API reports that layer as CC BY 4.0. The elevation model it was
paired with stays undetermined, so the two are now separate entries.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`prostate.img` is not a raw greyscale slice: behind its `DICM` magic it is a
CT pelvis acquired at Memorial Sloan Kettering on 22 September 1998, with the
patient fields holding study codes and the institution and exact date intact.
A redistributor's Apache-2.0 cannot license a hospital's patient imaging, so
its terms go down as undetermined and the entry now carries the caveat the
other human-imaging entries have.

`vw_knee` names the Visible Human Project in its own title and description
while claiming the author could not be established. It is NLM federal work,
which needs no licence.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`avg152T1_RL_nifti.nii.gz` and `minimal.nii.gz` are byte-identical to the
files the NIfTI-1 project publishes, and the first is the MNI152 template its
own entry title already named while the notes said the author was unknown.

`vehicle_data.csv` and `cars.csv` are one dataset — UCI's Auto MPG, credited
to R. Quinlan under CC BY 4.0 — that had landed in two bulk entries under two
different collection licences, neither of which could grant it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The notes said the chain "runs back at least one step further than any page
that states terms". The CGTrader page it runs back to is archived and states
them: Cartoomotion's model under a General License, which forbids passing the
content on "in the form it is downloaded from the site". That is what this
repository does with it. The geometry corroborates — 3,672 polygons as 2,592
quads and 1,080 triangles is exactly the 6,264 triangles here.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The duplicate-blob check compared only the licence, so nine groups of
identical files could and did drift apart on `provenance`: the same bytes
recorded as `verified` in the entry that reasoned about them and `inferred`
in a bulk entry that swept up the other copy. The check now covers both
fields, and the nine groups are resolved by moving each loose copy into the
entry that holds the reasoning. `skybox_nz` merges into `skybox_lorensen`,
which is the same six faces under a different name.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The `paraview_pvd_variants` note cited a GitLab call with `all=true`, which
returns an empty list for every path including the ones that do exist, so it
proved nothing; `ref_name=master` discriminates. `omf_wolfpass` pointed at a
`blob/main` URL in a repository whose default branch is `master`, and the
Training Images Library page now returns 500, so both move to URLs that
resolve. `cad_model_case` said its version came from the page's structured
data, which no longer exists there — the note now says what the claim really
rests on.

CONTRIBUTING and README lose three counts that go stale every review round,
gain the dotfile carve-out the validator actually applies, and stop promising
a PyVista API that has not merged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The table demanded provenance for every data file while the licence texts
beside it had none recorded. Each `[license.*]` table now carries
`text_source`, and CI requires it.

The twelve SPDX-listed texts are the canonical SPDX text unchanged — checked
byte for byte against `spdx.org/licenses/<id>.json`, with the command to
repeat that check in CONTRIBUTING. The nine `LicenseRef-` files are not
licence texts at all: SPDX does not list those terms, so each states them in
its own words and names the page it is based on, which is what `text_source`
points at for those.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`mr.001` is a 1994 spine MR whose header holds a real patient name, a full
date of birth, a patient identifier embedding that date, sex, age, weight,
an accession number, the acquisition time to the millisecond, a device serial
number and the name of the hospital radiology department. A Siemens private
tag repeats the name, the identifier and the date of birth as burned-in
display text, so stripping the standard tags would not de-identify it. It has
no `DICM` magic and no file-meta group, which is likely why nobody had parsed
it. The identifiers are not reproduced in the entry.

`ge_signa` is a cervical-spine MR naming its hospital, with patient fields
that look like placeholders.

Neither can rest on Kitware's collection notice, on the same reasoning
already applied to `prostate`. VTK ships the same `mr.001` bytes, so this
one is not only ours.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The blunt fin, the combustor and the LOx post are NASA Ames PLOT3D cases,
identified from their own grid headers: each decodes to the published
dimensions and each file size follows exactly from them. They were split
across the two bulk entries under Kitware's BSD-3-Clause and Lorensen's
Apache-2.0, neither of which can attach a copyright to work by NASA
employees.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`StructuredGrid.vts` had its own entry calling it a "small structured grid".
It is byte-identical to `multicomb_0.vts`, so it is one of the NASA combustor
blocks and takes that entry's terms. The duplicate-blob check caught this the
moment the NASA files moved.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
My note said neither upstream records the attribution. Both do: the VTK
textbook ships inside `vtk/vtk-examples` and says the data "was prepared at
Lawrence Berkeley National Laboratories and is included with their permission
on the CD-ROM accompanying this book", with 136 slices per tissue — which is
`frog.mhd`'s `DimSize = 500 470 136`.

That is permission for one book's CD-ROM, not a redistribution licence, and
not Lorensen's to widen into Apache-2.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The book's figure captions name owners that nine review rounds of
readme-hunting never reached. The vase is SUNY Stony Brook's, the iron
protein is Scripps Clinic's, and the four files named after companies are not
logos at all — they are pre-decimalisation stock quotes the book says were
taken from "a public site on the World Wide Web that archives stock prices",
which it does not name.

A courtesy credit in a textbook names an owner; it is not a licence, and none
of these is the redistributor's to widen into a collection licence.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
It is the only thing enforcing what this pull request claims, and every bug
found in it so far — case-folded names, `dir/*` crossing a separator, a `?**`
bypass, a crash on a malformed table — was found by accident. Truth tables for
`matches` and `is_forbidden` cover where all of those lived, a parametrised
case asserts every shape error reaches the report instead of raising, and one
test validates the TOML examples in CONTRIBUTING.md, which had drifted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`git ls-files` quotes non-ASCII paths, and the filter dropped any line that
did not start with `Data/` — so such a file would be invisible to coverage,
to the forbidden-name rule and to the duplicate-blob check, while the summary
under-reported the count. Reading `-s -z` from the index fixes that and also
makes the duplicate-blob check read the same tree as everything else; it read
`HEAD`, so staged work validated locally and failed in CI.

An empty `SPDX-License-Identifier` named no licence, so every licence and
attribution check was skipped silently. A malformed `[collection.*]` or
`[license.*]` value still raised where the neighbouring branch reported.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adding `text_source` to the required keys made the copy-paste block in
CONTRIBUTING.md fail the validator it documents. Also corrects a filename
that does not exist in this repository.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The validator's output was piped to `tee`, so a traceback went to stderr and
the failure summary rendered an empty code block — precisely when the
contributor most needs the text.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Master added a cow generated from a signed-distance field, with a `LICENSE`
and a `README.md` beside it — the arrangement this branch replaces. Both are
now a `[[dataset]]` block: CC0-1.0, no attribution required, generated by the
`generate_cow.py` sitting in the same directory, whose defaults match the
300000 triangles and 200 mm the README claims.

The README's note that the hoof outline was compared against a photograph
without any photograph data entering the mesh is worth keeping, so it is in
`notes` rather than lost with the file.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Corrects five statements: both Damavand entries now name Alexey Pechnikov's ParaView-MoshaFault repository as the origin and Bane Sullivan's repository, which does publish an MIT licence, as the redistributor; `dolfinx_checkpoint` was written with legacy DOLFIN; `hydrogen_orbital` cites the ht10 course page; `kafadar_lidar` is the Colorado School of Mines campus; `earth_models` is ETOPO1 downsampled to ten arc-minutes.

Records the credits owed and the grants received: Benoit Urruty's Elmer/Ice output behind `antarctica_velocity`, the relayed permission behind `blood_vessels`, and the author's grant for `lethe_particles`. Adds the Utah FORGE submissions behind `thermal_probes`, `model_with_variance` and two PVGeo files, the Open SciVis origin of `neghip`, Janet MacFall as the author of the pine root volumes, and the per-file origins established for files still inside the two bulk VTK entries. No licence identifier changes; every grant recorded is narrower than a licence.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The path matcher is a linear token automaton, so a star-heavy pattern cannot hang a pull request, and an interior `**` matches zero directories as in gitignore. Every field is type-checked and blank text rejected; `provenance = "unknown"` requires `LicenseRef-Unknown` and no `origin_url`; `path` must claim something and a block's own overlapping patterns are reported as such; `redistributed_from` is an array of URLs; SPDX expressions must be well formed; `name` is the first key; licence and collection tables reject unknown keys and `file` must be `LICENSES/<key>.txt`; forbidden per-dataset files are caught whatever their extension; the suggested block for an uncovered file uses placeholders the validator rejects. Problems outside the table (no git, a non-UTF-8 file) are reported instead of raised. The job has a ten minute timeout and runs the test suite, which now covers every check with a known-bad table and runs the published table through the whole validator.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A redistributor's collection licence covers only what the redistributor made, so every record now names the origin and the terms it states, or LicenseRef-Unknown with a verified origin when it states none. `redistributed_from` is an array listing every hop from the origin to this repository. Eight datasets that had no record gain one, seven licence tables are added for terms the table now names, and the Utah teapot licence follows the university's stated terms of use.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Every LicenseRef file opens with a Source line and quotes the wording it is based on verbatim, then says what it means for a downstream user.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… check

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ir sources, describe rather than narrate

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…the SOLPE reference

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Standardize licensing info and other metadata

1 participant