InvokeAI/invokeai/app/invocations
ymgenesis 95fd2ee6ff
Nodes-FaceTools (FaceIdentifier, FaceOff, FaceMask) (#4576)
* node-FaceTools

* Added more documentation for facetools

* invert FaceMask masking

- FaceMask had face protected and surroundings change by default (face white, else black)
- Change to how FaceOff/others work: the opposite where surroundings protected, face changes by default (face black, else white)

* reflect changed facemask behaviour in docs

* add FaceOff+FaceMask workflows

- Add FaceOff and FaceMask example workflows to docs/workflows

* add FaceMask+FaceOff workflows to exampleworkflows.md

- used invokeai URL paths mimicking other workflow URLs, hopefully they translate when/if merged

* inheriting, typehints, black/isort/flake8

- modified FaceMask and FaceOff output classes to inherit base image, height, width from ImageOutput
- Added type annotations to helper functions, required some reworking of code's stored data

* remove credit header

- Was in my personal/repo copy, don't think it's necessary if merged.

* Optionals & image declaration duplication

- Added Optional[] to optional outputs and types
- removed duplication of image = context.services.images.get_pil_images(self.image.image_name) declaration
- Still need to find a way to deal with mask_pil None typing errors

* face(facetools): fix typing issues, add validation, clean up structure

* feat(facetools): update field descriptions

* Update FaceOff_FaceScale2x.json

- update FaceOff workflow after Bounded Image field removed in place of inheriting Image out field from ImageOutput

* feat(facetools): pass through original image on facemask if invalid face ids requested

* feat(facetools): tidy variable names & fn calls

* feat(facetools): bundle inter font, draw ids with it

Inter is a SIL Open Font license. The license is included and is fully permissive. Inter is the same font the UI and commercial application already uses.

Only the "regular" version is bundled.

* chore(facetools): isort & fix mypy issues

* docs(facetools): update and format docs

---------

Co-authored-by: Millun Atluri <millun.atluri@gmail.com>
Co-authored-by: Millun Atluri <Millu@users.noreply.github.com>
Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com>
2023-09-29 17:54:13 +10:00
..
__init__.py Run python black 2023-07-28 09:46:44 -04:00
baseinvocation.py Add 'Random Float' node <3 (#4581) 2023-09-26 05:57:44 +00:00
collections.py feat: queued generation (#4502) 2023-09-20 15:09:24 +10:00
compel.py Merge branch 'main' into feat/ip-adapter 2023-09-15 13:15:25 -04:00
controlnet_image_processors.py fix: Handle cases where tile size > image size 2023-09-22 17:30:12 -04:00
cv.py Apply black, isort, flake8 2023-09-12 13:01:58 -04:00
facetools.py Nodes-FaceTools (FaceIdentifier, FaceOff, FaceMask) (#4576) 2023-09-29 17:54:13 +10:00
image.py feat(nodes): provide board_id in image creation 2023-09-22 10:11:20 -04:00
infill.py fix(nodes): downscale and resample_mode are not optional 2023-09-05 11:23:13 +10:00
ip_adapter.py fix(nodes): fix ip-adapter field positioning on workflow editor 2023-09-20 21:52:29 -04:00
latent.py feat(nodes): remove ui_type overrides for polymorphic fields 2023-09-21 10:00:17 +10:00
math.py Add 'Random Float' node <3 (#4581) 2023-09-26 05:57:44 +00:00
metadata.py Use metadata ip adapter (#4715) 2023-09-28 09:05:32 +00:00
model.py feat(nodes): add version to node schemas 2023-09-04 19:08:18 +10:00
noise.py feat(nodes): add version to node schemas 2023-09-04 19:08:18 +10:00
onnx.py feat(nodes): remove ui_type overrides for polymorphic fields 2023-09-21 10:00:17 +10:00
param_easing.py isort wip 2023-09-12 13:01:58 -04:00
primitives.py feat: move board logic to save_image node 2023-09-22 10:11:20 -04:00
prompt.py feat: queued generation (#4502) 2023-09-20 15:09:24 +10:00
sdxl.py feat(nodes): add version to node schemas 2023-09-04 19:08:18 +10:00
strings.py Prompts from file support nodes (#3964) 2023-09-13 08:06:38 +00:00
upscale.py isort wip 2023-09-12 13:01:58 -04:00