Keeping Data Alive Supporting reuse & repurposing of 3D data in the humanities

Supplemental Materials

We have developed supplemental materials including sample repository mockups, CGA files, downloadable python scripts, and information on "choosing an infrastructure".

GitHub Repository

Most of the code for this project can be found on our Keeping Data Alive repository on GitHub.

You can also download a zip of the entire repository.

Repository Design Documentation

Front End

Fedora Viewer Mockup

This page demonstrates a simple view of the Fedora front end.

Repository front end wireframes

Representations of what the front end repository view for a model and scene might look like.

Back End

Sample ingest form for a scene

A sample ingest form for a scene. This is not meant to be a real, working example, but a demonstration of the complexities such an ingest might present.

Instructions

How to gather files for ingest

Example file structure for ingest.

CGA Files

Eleven sample CGA files are provided to generate 3D procedural models of ancient Maya architecture. In the future, additional CGA files will be available. However, any CGA files (following modifications outlined in white paper can be used with the python scripts developed in this Tier I project.

The scripts are accessible below or via a zipped file.
(If download does not begin, right click and choose "Save As…")

Python Scripts

We have developed four customized python scripts to automate and standardize export and import processes for 3D procedural models. The scripts are accessible on Github or via a downloadable zipped file.

Export_to_kda.py

This python script automates and standardizes the export of 3D procedural models, both objects and scenes from CityEngine, for import into the KDA repository (based on Fedora). The script can be modified to import 3D procedural models into other repositories or databases.

Read_fedora.py

This python script supports calling up 3D models by identifying resources within a container based on the file extension at the end of the resource identifier.

Fedora.py

This python script sets up the fedora repository to run on the web (via the bottle webserver) and then sets up the variables necessary to store and index 3D mesh, texture (image) and metadata (json) files, including a basic parent/child hierarchy.

Run.py

This python script starts the bottle webserver and calls fedora.py to load in the repository. The web app may be run as a standalone program served at port 3000 (typically for local development), or via a WSGI-compatible web server such as via Apache + mod_wsgi.p>

Infrastructure

Choosing An Infrustructure

Information on challenges and reccomendations on choosing an infrastructure.