initial commit
This commit is contained in:
@@ -0,0 +1 @@
|
||||
**/__pycache__/
|
||||
@@ -1 +1,12 @@
|
||||
# ComfyUI-SizeFromArray
|
||||
# ComfyUI-SizeFromArray
|
||||
|
||||

|
||||
|
||||
- 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
|
||||
```
|
||||
@@ -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
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
@@ -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])
|
||||
Reference in New Issue
Block a user