Brick Structure Visualization and Analysis

August 27, 2024 · View on GitHub

This project focuses on generating, visualizing, and evaluating brick structures in different dimensions. The goal is to create various brick layouts and utilize different models to analyze and manipulate these structures.

Project Structure

.
├── data
│   ├── brick_1D_50
│   │   ├── data.json
│   │   ├── images
│   │   │   ├── img_X_bw.png
│   │   │   └── img_X_color.png
│   │   ├── results_gpt-3.5-turbo.json
│   │   ├── results_gpt-4o-2024-08-06.json
│   │   └── results_gpt-4o-mini.json
│   └── brick_2D_50
│       ├── data.json
│       └── images
│           ├── img_X_bw.png
│           └── img_X_color.png
├── notebooks
│   ├── eval_bricks_zeroshot.ipynb
│   └── test_brick_ivan.ipynb
└── scripts
    └── create_bricks_with_drawing.py
  • data/: Contains generated data, images, and model results for different brick dimensions.
  • notebooks/: Jupyter notebooks for exploring, evaluating, and testing different approaches and models.
  • scripts/: Python scripts for generating brick structures and visualizing them.

Getting Started

Prerequisites

Ensure you have Python 3.8+ installed. To install the required Python packages, run:

pip install -r requirements.txt

Installing Jupyter

To run Jupyter notebooks, you may need to install Jupyter:

pip install jupyter

Usage

Generating and Visualizing Brick Structures

The script create_bricks_with_drawing.py is used to generate and visualize brick structures.

Run the script with default parameters:

python scripts/create_bricks_with_drawing.py

To customize parameters such as the number of bricks, dimensions, and other attributes, use command-line options. To view all available options, use the -h or --help flag:

python scripts/create_bricks_with_drawing.py --help

Example with custom parameters:

python scripts/create_bricks_with_drawing.py --num-bricks 100 --dimension 3

Jupyter Notebooks

  • eval_bricks_zeroshot.ipynb: Evaluates different models for brick structure manipulation.
  • test_brick_ivan.ipynb: Runs prompts testing LLM reasoning with different brick data.

To run the notebooks, navigate to the notebooks directory and open the desired notebook using Jupyter:

jupyter notebook

Contributing

Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Thanks to all the contributors and the open-source community for their support and tools.