initial commit

This commit is contained in:
Igor Turchenko
2024-05-09 17:36:20 +03:00
parent 2848b289c9
commit ce7a01222d
5 changed files with 72 additions and 1 deletions
+1
View File
@@ -0,0 +1 @@
**/__pycache__/
+12 -1
View File
@@ -1 +1,12 @@
# ComfyUI-SizeFromArray
# ComfyUI-SizeFromArray
![SizeFromArray Preview](example.png "SizeFromArray Preview")
- Custom node for [ComfyUI](https://github.com/comfyanonymous/ComfyUI).
- Add node that outputs random pair of width and height from given array.
## Installation
```
cd <ComfyUI directory>/custom_nodes
git clone https://github.com/ITurchenko/ComfyUI-SizeFromArray.git
```
+9
View File
@@ -0,0 +1,9 @@
from .nodes.random import *
NODE_CLASS_MAPPINGS = {
"SizeFromArray": SizeFromArray,
}
NODE_DISPLAY_NAME_MAPPINGS = {
"SizeFromArray": "Retrieve random pair of size from array",
}
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

+50
View File
@@ -0,0 +1,50 @@
import csv
import os
import numpy as np
import torch
import folder_paths
import comfy.model_management
custom_nodes_dir = folder_paths.get_folder_paths("custom_nodes")[0]
presets_dir = os.path.join(custom_nodes_dir, "ComfyUI-SizeFromArray", "presets")
class SizeFromArray:
def __init__(self):
pass
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"sizes": ("STRING", {"default": "512,512\n512,768\n768,512\n", "multiline": True}),
"seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff}),
},
}
RETURN_TYPES = ("INT","INT")
RETURN_NAMES = ("width","height")
FUNCTION = "get_size"
CATEGORY = "SizeFromArray"
DESCRIPTION = """
Return random pair of width&height from given array
For example the default values:
512,512
512,768
768,512
Would return random pair from 512x512, 512x768 or 768x512
"""
def get_size(self, sizes, seed):
random_gen = np.random.default_rng(seed)
lines = [line for line in sizes.split('\n') if line] # Split the string into lines (except empty ones)
tuples_array = [ tuple(map(int, line.strip().split(','))) for line in lines]
preset = random_gen.choice(tuples_array)
return (preset[0], preset[1])