Update communityNodes.md with a few more nodes

Adds my (@dwringer's) released nodes to the community nodes page.
This commit is contained in:
Darren Ringer 2023-09-03 02:37:36 -04:00 committed by GitHub
parent b0cce8008a
commit fee5cd9c7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -109,6 +109,86 @@ a Text-Generation-Webui instance (might work remotely too, but I never tried it)
This node works best with SDXL models, especially as the style can be described independantly of the LLM's output.
--------------------------------
### Depth Map from Wavefront OBJ
**Description:** Render depth maps from Wavefront .obj files (triangulated) using this simple 3D renderer utilizing numpy and matplotlib to compute and color the scene.
To be imported, an .obj must use triangulated meshes, so make sure to enable that option if exporting from a 3D modeling program. This renderer makes each triangle a solid color based on its average depth, so it will cause anomalies if your .obj has large triangles. In Blender, the Remesh modifier can be helpful to subdivide a mesh into small pieces that work well given these limitations.
There are simple parameters to change the FOV, camera position, and model orientation.
Additional parameters like different image sizes will probably be added, and things like more sophisticated rotations are planned but this node is experimental and may or may not change much.
**Node Link:** https://github.com/dwringer/invoke-nodes/blob/main/depth_from_obj.py
--------------------------------
### Enhance Image
**Description:** Boost or reduce color saturation, contrast, brightness, sharpness, or invert colors of any image at any stage with this simple wrapper for pillow [PIL]'s ImageEnhance module.
Color inversion is toggled with a simple switch, while each of the four enhancer modes are activated by entering a value other than 1 in each corresponding input field. Values less than 1 will reduce the corresponding property, while values greater than 1 will enhance it.
**Node Link:** https://github.com/dwringer/invoke-nodes/blob/main/image_enhance.py
--------------------------------
### Generative Grammar-Based Prompt Nodes
**Description:** This generates prompts from simple user-defined grammar rules (loaded from custom files - examples provided below). The prompts are made by recursively expanding a special template string, replacing nonterminal "parts-of-speech" until no more nonterminal terms remain in the string.
**Three nodes are included:**
- *Lookup Table from File* - loads a YAML file "prompt" section (or of a whole folder of YAML's) into a JSON-ified dictionary (Lookups output)
- *Lookups Entry from Prompt* - places a single entry in a new Lookups output under the specified heading
- *Prompt from LookupTable* - uses a Collection of Lookups as grammar rules from which to randomly generate prompts.
**Node Link:** https://github.com/dwringer/invoke-nodes/blob/main/lookuptables.py
**Example Templates:**
- https://github.com/dwringer/invoke-nodes/blob/main/example_template.yaml
- https://github.com/dwringer/invoke-nodes/blob/main/movies.yaml
- https://github.com/dwringer/invoke-nodes/blob/main/photograph.yaml
**Example Usage:**
![lookups usage example graph](https://raw.githubusercontent.com/dwringer/invoke-nodes/main/lookuptables_usage.jpg)
--------------------------------
### Ideal Size Stepper
**Description:** Plug in your full size dimensions as well as JPPhoto's Ideal Size node's output dimensions, and get 1, 2, or 3 intermediate pairs of dimensions for upscaling based on the natural log of the image area. Thus, each successive generation (from ideal size to full size) adds approximately the same percentage of new pixels to the image. Note this does not output the ideal size or full size dimensions. The 1, 2, or 3 outputs of this node are only the intermediate step sizes.
There are up to three stages which determine how many intermediate sizes to compute and output. With Tapers B and C disabled, outputs A, B, and C will be the same (inactive outputs yield copies of the previous pair). With a taper assigned to B, Width/Height A and B will both be active with progressively larger intermediate resolutions, and if Taper C is activated, active outputs will be calculated with even finer gradations.
**Node Link:** https://github.com/dwringer/invoke-nodes/blob/main/ideal_size_stepper.py
--------------------------------
### Image Compositor
**Description:** Take a subject from an image with a flat backdrop and layer it on another image using a chroma key to specify a color value/threshold to remove backdrop pixels, or leave the color blank and a "flood select" will be used from the image corners.
The subject image may be scaled using the fill X and fill Y options (enable both to stretch-fit). Final subject position may also be adjusted with X offset and Y offset. If used, chroma key may be specified either as an (R, G, B) tuple, or a CSS-3 color string.
**Node Link:** https://github.com/dwringer/invoke-nodes/blob/main/image_composite.py
--------------------------------
### Final Size & Orientation / Random Switch (Integers)
**Description:** Input two integers, get two out in random, landscape, or portrait orientations.
Pretty self explanatory. You can just enter your height/width in the two inputs and then get the requested configurations of WxH or HxW from the two outputs.
Contains two nodes: Final Size & Orientation, and Random Switch (Integer) which was the original, slightly more generalized version.
**Node Link:** https://github.com/dwringer/invoke-nodes/blob/main/random_switch.py
--------------------------------
### Text Mask (simple 2D)
**Description:** Create a white on black (or black on white) text image for use with controlnets or further processing in other nodes. Specify any TTF/OTF font file available to Invoke and control parameters to resize, rotate, and reposition the text.
Currently this only generates one line of text, but it can be layered with other images using the Image Compositor node or any other such tool.
**Node Link:** https://github.com/dwringer/invoke-nodes/blob/main/text_mask.py
--------------------------------
### Example Node Template