-
Notifications
You must be signed in to change notification settings - Fork 0
Shell Classification
Each shell preset includes a classification section describing the biological affinity, computational growth model and observable shell morphology represented by the preset.
The classification system serves three purposes:
- To document the characteristics of each shell preset
- To support grouping and filtering throughout the project
- To provide a consistent vocabulary for comparing shell forms
The classification is intentionally descriptive rather than taxonomic. It does not attempt to reproduce formal biological classification, but instead records a set of independent morphological characteristics that together describe the shell.
Each preset contains a classification object.
"classification": {
"family": "ammonoid",
"geometry": "log-spiral",
"morphology": {
"form": "coiled-cephalopod",
"coiling": "planispiral",
"umbilicus": "moderate",
"whorl_contact": "touching"
}
}Only fields applicable to a particular shell are included. For example, straight shells do not have an umbilicus, while gastropods may define a spire or aperture instead.
The broad biological group that inspired the shell.
This is intentionally kept at a high level rather than attempting detailed zoological taxonomy.
| Value | Description |
|---|---|
| ammonoid | Ammonites and related extinct coiled cephalopods |
| nautiloid | Nautilus-like cephalopods |
| orthoceratoid | Straight- and curved-shelled cephalopods |
| gastropod | Snails and related molluscs |
The computational growth model used to generate the shell. This describes the underlying mathematics rather than the appearance of the shell.
| Value | Description |
|---|---|
| log-spiral | Classical logarithmic spiral growth |
| centreline-conical | Conical shell generated along a parameterised centreline |
| conical-helix | Conical shell generated along a helical centreline |
Additional geometries may be added as new shell growth models are implemented.
The overall shell morphology. This field provides a concise description of the finished shell rather than the underlying mathematics.
| Value | Description |
|---|---|
| coiled-cephalopod | General planispiral cephalopod shell |
| serpenticonic | Evolute ammonoid shell with a broad umbilicus |
| crioconic | Open planispiral shell with detached whorls |
| nautiliconic | Tightly coiled involute nautiloid shell |
| orthoconic | Straight conical shell |
| cyrtoconic | Curved conical shell |
| planispiral | Flat planispiral gastropod shell |
| turriform | High-spired gastropod shell |
| flared | Shell with a strongly expanded terminal aperture |
Describes the overall coiling pattern.
| Value | Description |
|---|---|
| none | Shell does not coil |
| planispiral | Coils within a single plane |
| open-planispiral | Planispiral but with detached whorls |
| high-spired | Whorls stacked vertically |
| low-spired | Low vertical spire |
Describes the relative width of the umbilicus. Only applicable to planispiral shells.
| Value | Description |
|---|---|
| narrow | Earlier whorls largely concealed |
| moderate | Intermediate umbilical width |
| wide | Earlier whorls clearly visible |
| open | Whorls detached to produce an open spiral |
Describes how adjacent whorls interact.
| Value | Description |
|---|---|
| overlapping | Later whorls overlap earlier ones (involute) |
| touching | Adjacent whorls remain in contact |
| detached | Adjacent whorls do not meet |
| stacked | Whorls primarily increase vertically |
Describes the centreline of non-coiled shells. Only applicable to centreline-generated geometries.
| Value | Description |
|---|---|
| straight | Straight centreline |
| curved | Curved centreline |
Describes the relative height of the shell spire. Primarily applicable to gastropods.
| Value | Description |
|---|---|
| low | Low spire |
| high | Tall spire |
Describes notable terminal aperture morphology.
| Value | Description |
|---|---|
| expanded | Aperture flares outward during the final growth stage |
Additional aperture morphologies may be introduced in future models.
The classification deliberately separates several independent characteristics of shell morphology.
- family records the broad biological group that inspired the model.
- geometry records the computational growth mathematics.
- form records the overall shell morphology.
- The remaining fields describe independent morphological characteristics such as coiling, umbilical width, whorl contact, shell axis and spire development.
This approach reflects the goals of the project.
The repository investigates computational shell morphology, not biological taxonomy. Similar shell forms may be generated by different mathematical growth models, while a single computational model may produce a continuous range of morphologies through parameter variation.
Rather than forcing shells into rigid categories, the classification records the individual characteristics that together describe each shell. As new shell forms are introduced, additional descriptors may be added while maintaining compatibility with the existing classification system.
A classification exporter is provided that extracts the classification data from the presets and exports it in CSV format. To extract the classification from the presets in the data folder and write the results to a CSV file, first activate the virtual environment for the project and then:
python scripts/export-preset-classification.py -o /path/to/csv-file.csvThe following command line options are accepted by the exporter:
| Option | Short Form | Description |
|---|---|---|
| --input | -i | Path to the folder containing JSON preset files |
| --csv | -c | Path to the CSV file to write |
| --json | -j | Path to the CSV file to write |