Crop Stereo to Monoscopic
Split a 3D panorama into its two eyes so you can actually work on them
- image
- First Image
- Second Image
A stereo (or 3D) panorama is two panoramas in one file - one for each eye, packed side-by-side or top-and-bottom. It's the format VR headsets and 3D viewers want, but it's a pain to work with in a node graph, because every tool you use will try to process the whole doubled image at once, and both eyes at the same resolution means a lot of wasted VRAM. Crop Stereo to Monoscopic splits a stereo 360 into its two separate monoscopic halves so you can process each eye independently.
The node's real job is packing this for you: exactly down the middle, with the odd-pixel edge case handled, so the two halves are cleanly separable. The pack's inverse node (Merge Monoscopic into Stereo) puts them back together when you're done.
How it works
It slices the image down the middle along one axis. The axis is what "split direction" means, and it's easy to get backwards, so read carefully:
- split_direction:
horizontal- splits into left/right halves, i.e. cuts the width. This is the standard side-by-side stereo format (top-bottom packed stereo uses the other one). - split_direction:
vertical- splits into top/bottom halves, i.e. cuts the height. That's the over/under 3D format.
One more input: larger_side (first or second). When the dimension is odd, one side gets the extra pixel - this picks which one. Default first (top/left). For perfectly even dimensions it does nothing.
Outputs are First Image and Second Image - the two monoscopic halves.
Gotcha
The naming is a trap: horizontal splits the image horizontally, which means you end up with left and right vertical slices. If you split a side-by-side stereo with vertical by mistake, you'll get the top half and bottom half of two different eyes mushed together, and the result will look like nonsense. When in doubt: side-by-side 3D → horizontal, over/under 3D → vertical.
When you'd reach for it
Same reason you crop anything before processing: one eye at a time is half the memory, and any per-image edits (seam fix, pole inpaint, upscale) should be done on each eye separately anyway, or you'll break the stereo correspondence. Do your work on the two halves, then merge back with Merge Monoscopic into Stereo - keeping the two eyes consistent is the whole ballgame for 3D, and doing edits while they're still packed together is how you get ghosting.
Install
Pack install is standard: ComfyUI Manager → "ComfyUI_pytorch360convert", or git clone https://github.com/ProGamerGov/ComfyUI_pytorch360convert into ComfyUI/custom_nodes and restart. The requirements.txt is empty, so you'll likely need python -m pip install pytorch360convert in your ComfyUI environment. No model downloads - this is pure slicing.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| split_direction | COMBO | horizontal | 2 options: horizontal, vertical |
| larger_side | COMBO | first | 2 options: first, second |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| First Image | IMAGE | — |
| Second Image | IMAGE | — |