Skip to main content

A package for flattening and rendering 3D meshes of segments of the Herculaneum Papyri.

Project description

Scroll Renderer

Scroll Renderer is a Python package developed by the Vesuvius Challenge Team 2024. It provides tools for flattening and rendering 3D meshes of segments of the Herculaneum Papyri. It is currently in alpha version.

Requirements

  • Python 3.11 (no newer versions are currently supported)
  • CUDA 12+ installed on the machine

It is recommended to run this package in a Conda environment to manage dependencies effectively.

Installation

  1. Install with pip and accept vesuvius terms:

    pip install scroll-renderer
    vesuvius.accept_terms --yes
    

You can also install the package in editable mode:

  1. Clone the repository and navigate to the project directory, install and accept vesuvius terms:

    https://github.com/ScrollPrize/villa.git
    cd villa
    cd scroll-renderer
    pip install -e .
    vesuvius.accept_terms --yes
    

Commands

The package provides command-line utilities for working with mesh files. For more options and details on each command, you can use the --help option after any command.

Example Usage

  1. Flatten a Mesh

    Use the slim_uv command to flatten a mesh with the following options:

    slim_uv --path 20241025062044_intermediate_mesh.obj --ic harmonic --iter 200
    
    • --path: Path to the intermediate mesh file (e.g., .obj file).
    • --ic: Initial condition; options are harmonic or arap.
    • --iter: Number of iterations.
  2. Render a Flattened Mesh

    After flattening, use mesh_to_surface to generate a surface render of the mesh:

    mesh_to_surface 20241025062044_intermediate_mesh_flatboi.obj /mnt/localdisk/scrolls/Scroll5 --r 32
    

    You can also render without having a scroll volume locally (works only with canonical vesuvius scrolls):

    mesh_to_surface 20241025062044_intermediate_mesh_flatboi.obj Scroll5 --r 32 --remote
    
    • First argument: Path to the flattened mesh file.
    • Second argument: Scroll volume, can be zarr, tifstack or grid cells. It can also be a canonical vesuvius scroll, like Scroll1
    • --r: Half number of layers in the surface volume besides the center (e.g., 32 will give 65 layers, the middle +- 32).
    • --triangle_batch: Choose how many triangles to process per batch, default 5000
    • --max_side_triangle: Choose the max length of the side of a triangle when creating dataset, default 10
    • --nr_workers: Choose nr workers to load the dataset
    • --remote: Add this flag to fetch the scroll data from the data server using the vesuvius package.

For additional options and usage information, use --help with any command (e.g., slim_uv --help or mesh_to_surface --help).

License

MIT License


Developed by: Vesuvius Challenge Tech Team 2024 (Stephen Parsons, Julian Schilliger, Giorgio Angelotti and Youssef Nader)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scroll_renderer-0.0.3a0.tar.gz (26.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scroll_renderer-0.0.3a0-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file scroll_renderer-0.0.3a0.tar.gz.

File metadata

  • Download URL: scroll_renderer-0.0.3a0.tar.gz
  • Upload date:
  • Size: 26.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for scroll_renderer-0.0.3a0.tar.gz
Algorithm Hash digest
SHA256 1d845e54a9c9f268f290daa2332f34d089072a392e92522386b9edbd3311a592
MD5 51c277d7823118dd0c553b23561bfbb4
BLAKE2b-256 d5571d0a9ef6bbbcf34b35addf5d40a2b933c8d6234605f3dab1c24f03d24bb8

See more details on using hashes here.

File details

Details for the file scroll_renderer-0.0.3a0-py3-none-any.whl.

File metadata

File hashes

Hashes for scroll_renderer-0.0.3a0-py3-none-any.whl
Algorithm Hash digest
SHA256 5bf553798645a2a76117c7a3f4fbc308cfd3350b6cc335acccb539ed5d234dac
MD5 04a63c9809f8f48864a5f088a4beeafa
BLAKE2b-256 d7e6cb8f60e838fb7f55b78feb5669050d1cf65901b5f21b456b72755c936f93

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page