Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
AWFeldick committed Feb 22, 2015
0 parents commit 269ea95
Show file tree
Hide file tree
Showing 21 changed files with 794 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
__pycache__/
*.py[cod]

.idea/
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The MIT License (MIT)

Copyright (c) 2015 Abraham Feldick

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
29 changes: 29 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
## Rotostitch

A simple python/tkinter GUI utility to assist in assembling a cylindrical map of an object from a image sequence representing the object being rotated 360 degrees in uniform increments.

### Installation

Before you can use Rotostitch, you will need:

1. Python 3 (developed with 3.4.2)
2. Required dependencies (listed in requirements.txt)

To install Python 3 see [python.org](https://www.python.org/). After installing Python and cloning the Rotostitch repository (or downloading the ZIP), the next step is to install the dependencies.

To install the dependencies you can use Python pip and 'requirements.txt' to easily do so. On Windows, you could open an instance of 'cmd.exe' with admin privileges and run the following command (assuming you cloned/unzipped the app to the folder 'Rotostitch' that is located on your Desktop):

```bat
python -m pip install -r "C:\Users\[Your Username]\Desktop\Rotostitch\requirements.txt"
```
After the dependencies have been downloaded and installed, you can then run 'Rotostitch.pyw' to launch the program.

### Basic Usage

To really make use of Rotostitch, you have to have an image sequence of an object being rotated 360 degrees around the vertical axis (in relation to the image sequence) in uniform steps. Once you have that, load it with Rotostitch (File >> Open... select one of the frames from the sequence).

If the sequence loads successfully, the first frame will appear in the left image preview area, and the last frame will appear in the right. Navigation of the previews is accomplished by panning with the middle mouse button and zooming in and out with the mouse wheel or '+' and '-' buttons between the previews. Use the entry boxes beneath each preview to select a first and last frame between which the object has rotated 360 degrees. Difference mode (activated with the button below and inbetween the previews) can help with this. Your first and last frame should result in a nearly black image in the left preview with difference mode on.

Having set the start and end frame, set the cylinder map reference width in the left preview with the left and right mouse buttons. If your object is a cylinder itself (as it probably should be), this can simple be the left and right edge of the object. The blue vertical line shows the rotation axis.

Last, set the rotation direction, ouput file path, and hit 'Create'!
4 changes: 4 additions & 0 deletions Rotostitch.pyw
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import rotostitch.main

app = rotostitch.main.Application()
app.mainloop()
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Pillow==2.7.0
6 changes: 6 additions & 0 deletions rotostitch/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import os

__version__ = "1.0.0"

packageDir, __ = os.path.split(__file__)
RESOURCE_DIR = os.path.join(packageDir, "resources")
Loading

0 comments on commit 269ea95

Please sign in to comment.