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:

    git clone https://github.com/your-repo/scroll_renderer.git
    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.2a0.tar.gz (26.4 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.2a0-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scroll_renderer-0.0.2a0.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for scroll_renderer-0.0.2a0.tar.gz
Algorithm Hash digest
SHA256 cfede75858bf39f26a8c6a219f63b07c8a117bcb085ef6ef3a839b1647d3197a
MD5 a3825be243bd7023b264f0160627b143
BLAKE2b-256 ba4130b6bbbff249aeafbbb035175980b4d9015ad824c3b8c718004f3a85da44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for scroll_renderer-0.0.2a0-py3-none-any.whl
Algorithm Hash digest
SHA256 0bde22d3d25a2e15cd51fb07a226a99d5e591af26926892af9e50861edf6f130
MD5 fc66054f270449c0cf0d42e8686f9657
BLAKE2b-256 145b946c64129292ec0107cb3b220628a1a9c70e40d5446e77316d7d53a71206

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