diff --git a/INSTALL.md b/INSTALL.md index e8346d2..e0d3de4 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,13 +1,15 @@ # Installation Guide ## Requirements -- Python 3.8+ + +- Python 3.8 or higher - Latest version of ComfyUI - Sufficient GPU memory for processing large panoramic images +- CUDA-compatible GPU recommended ## Basic Installation -1. Clone this repository to ComfyUI's `custom_nodes` directory: +1. Clone this repository to your ComfyUI's `custom_nodes` directory: ```bash cd ComfyUI/custom_nodes git clone https://github.com/yourusername/ComfyUI-Equirect.git @@ -23,7 +25,7 @@ ## Manual Installation of py360convert -If `pip install py360convert` fails, you can try installing from source: +If `pip install py360convert` fails, you can install from source: ```bash git clone https://github.com/sunset1995/py360convert.git @@ -38,25 +40,37 @@ If you encounter import errors, ensure all dependencies are correctly installed: ``` ImportError: No module named 'py360convert' ``` - -Solution: Manually install the py360convert library. +Solution: Manually install the py360convert library as described above. ### Memory Errors -Processing large panoramic images may require substantial memory. If you encounter memory errors, try: -1. Reduce the input image size -2. Lower the cubemap face size +Processing large panoramic images requires substantial memory. If you encounter memory errors: +1. Reduce input image size +2. Lower cubemap face size 3. Use a device with more GPU memory ### Conversion Quality -For best conversion quality: -1. Use high-resolution input images (at least 4K) +For optimal conversion quality: +1. Use high-resolution input images (4K or higher recommended) 2. Set cubemap face size to 512 or higher -3. Keep default FOV (90 degrees) +3. Maintain default FOV (90 degrees) ## Performance Optimization -To speed up processing: -1. Ensure PyTorch with CUDA support is correctly installed -2. Use reasonable image sizes (unnecessarily large sizes will increase processing time) -3. Process images individually if batch processing is not required \ No newline at end of file +To improve processing speed: +1. Ensure PyTorch with CUDA support is properly installed +2. Use appropriate image sizes (larger sizes increase processing time) +3. Process images individually when batch processing is not required + +## Version Compatibility + +- Tested with Python 3.8-3.12 +- Compatible with latest ComfyUI releases +- Requires CUDA-capable GPU for optimal performance + +## Support + +For issues and questions: +1. Check the GitHub issues page +2. Ensure all dependencies are correctly installed +3. Verify input image formats and sizes \ No newline at end of file diff --git a/README.md b/README.md index 84903c6..7f98308 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ # ComfyUI-Equirect -ComfyUI nodes for conversion between equirectangular panoramas and cubemaps. +A ComfyUI extension for converting between equirectangular panoramas and cubemaps. This tool provides essential functionality for 360° image processing and VR/AR content creation. ## Features -- **EquirectToCubemapNode**: Convert equirectangular panoramas to 6 cubemap faces -- **CubemapToEquirectNode**: Convert 6 cubemap faces back to equirectangular panoramas +- **EquirectToCubemapNode**: Convert equirectangular panoramas into 6 cubemap faces +- **CubemapToEquirectNode**: Convert 6 cubemap faces back to equirectangular panorama ## Installation -1. Clone this repository to your ComfyUI `custom_nodes` directory: +1. Clone this repository into your ComfyUI's `custom_nodes` directory: ```bash cd ComfyUI/custom_nodes git clone https://github.com/yourusername/ComfyUI-Equirect.git @@ -23,30 +23,35 @@ ComfyUI nodes for conversion between equirectangular panoramas and cubemaps. ## Usage -### EquirectToCubemapNode (Equirectangular to Cubemap) +### EquirectToCubemapNode + +Converts a 360° panorama into six individual faces of a cubemap. Inputs: - `equirect_image`: Equirectangular panorama input (2:1 aspect ratio) -- `face_size`: Size of the output cubemap faces +- `face_size`: Output size for each cubemap face - `fov`: Field of view angle (default: 90 degrees) Outputs: - `front`, `right`, `back`, `left`, `top`, `bottom`: 6 cubemap faces -### CubemapToEquirectNode (Cubemap to Equirectangular) +### CubemapToEquirectNode + +Reconstructs a 360° panorama from six cubemap faces. Inputs: - `front`, `right`, `back`, `left`, `top`, `bottom`: 6 cubemap faces -- `output_height`: Height of the output equirectangular image (width will be automatically set to twice the height) +- `output_height`: Height of the output panorama (width will be 2x height) Outputs: - `equirect_image`: Converted equirectangular panorama -## Technical Notes +## Technical Details -- Uses `py360convert` library for high-quality conversion when available -- Automatically falls back to custom implementation if the library is not available -- Supports batch processing and maintains correct image formats +- High-quality conversion using `py360convert` library +- Automatic fallback to custom implementation if needed +- Batch processing support +- Format preservation throughout conversion ## Dependencies @@ -58,18 +63,21 @@ Outputs: ## Parameters -- **Input Image**: Equirectangular panorama image with 2:1 aspect ratio -- **Face Size**: Edge length for each cubemap face (default: 512, range: 64-4096) -- **Field of View**: FOV angle for each face (default: 90, range: 60-120) +- **Input Image**: Equirectangular panorama (2:1 aspect ratio) +- **Face Size**: Cubemap face edge length (default: 512, range: 64-4096) +- **Field of View**: View angle per face (default: 90°, range: 60-120°) ## System Requirements -- ComfyUI +- ComfyUI latest version - Python 3.7+ -- PyTorch -- Pillow (PIL) -- NumPy +- CUDA-compatible GPU recommended +- Sufficient GPU memory for large panoramas ## License -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details \ No newline at end of file +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. + +## Version + +Current version: 1.1.0 \ No newline at end of file diff --git a/__init__.py b/__init__.py index 0826f93..22eb2c8 100644 --- a/__init__.py +++ b/__init__.py @@ -1,5 +1,6 @@ """ -ComfyUI nodes for equirectangular image processing +ComfyUI nodes for equirectangular image processing and cubemap conversion. +Provides functionality for converting between equirectangular panoramas and cubemap faces. """ from .equirect_to_cubemap import EquirectToCubemapNode diff --git a/comfyui-manager-entry.json b/comfyui-manager-entry.json index f882793..9d6da18 100644 Binary files a/comfyui-manager-entry.json and b/comfyui-manager-entry.json differ diff --git a/e -Force .git b/e -Force .git new file mode 100644 index 0000000..618bd2f --- /dev/null +++ b/e -Force .git @@ -0,0 +1,60 @@ + + SSUUMMMMAARRYY OOFF LLEESSSS CCOOMMMMAANNDDSS + + Commands marked with * may be preceded by a number, _N. + Notes in parentheses indicate the behavior if _N is given. + A key preceded by a caret indicates the Ctrl key; thus ^K is ctrl-K. + + h H Display this help. + q :q Q :Q ZZ Exit. + --------------------------------------------------------------------------- + + MMOOVVIINNGG + + e ^E j ^N CR * Forward one line (or _N lines). + y ^Y k ^K ^P * Backward one line (or _N lines). + f ^F ^V SPACE * Forward one window (or _N lines). + b ^B ESC-v * Backward one window (or _N lines). + z * Forward one window (and set window to _N). + w * Backward one window (and set window to _N). + ESC-SPACE * Forward one window, but don't stop at end-of-file. + d ^D * Forward one half-window (and set half-window to _N). + u ^U * Backward one half-window (and set half-window to _N). + ESC-) RightArrow * Right one half screen width (or _N positions). + ESC-( LeftArrow * Left one half screen width (or _N positions). + ESC-} ^RightArrow Right to last column displayed. + ESC-{ ^LeftArrow Left to first column. + F Forward forever; like "tail -f". + ESC-F Like F but stop when search pattern is found. + r ^R ^L Repaint screen. + R Repaint screen, discarding buffered input. + --------------------------------------------------- + Default "window" is the screen height. + Default "half-window" is half of the screen height. + --------------------------------------------------------------------------- + + SSEEAARRCCHHIINNGG + + /_p_a_t_t_e_r_n * Search forward for (_N-th) matching line. + ?_p_a_t_t_e_r_n * Search backward for (_N-th) matching line. + n * Repeat previous search (for _N-th occurrence). + N * Repeat previous search in reverse direction. + ESC-n * Repeat previous search, spanning files. + ESC-N * Repeat previous search, reverse dir. & spanning files. + ^O^N ^On * Search forward for (_N-th) OSC8 hyperlink. + ^O^P ^Op * Search backward for (_N-th) OSC8 hyperlink. + ^O^L ^Ol Jump to the currently selected OSC8 hyperlink. + ESC-u Undo (toggle) search highlighting. + ESC-U Clear search highlighting. + &_p_a_t_t_e_r_n * Display only matching lines. + --------------------------------------------------- + A search pattern may begin with one or more of: + ^N or ! Search for NON-matching lines. + ^E or * Search multiple files (pass thru END OF FILE). + ^F or @ Start search at FIRST file (for /) or last file (for ?). + ^K Highlight matches, but don't move (KEEP position). + ^R Don't use REGULAR EXPRESSIONS. + ^S _n Search for match in _n-th parenthesized subpattern. + ^W WRAP search if no match found. + ^L Enter next character literally into pattern. + ---------------------------------------------------------------------------