chaiNNer-org / chaiNNer

A node-based image processing GUI aimed at making chaining image processing tasks easy and customizable. Born as an AI upscaling application, chaiNNer has grown into an extremely flexible and powerful programmatic image processing application.
https://chaiNNer.app
GNU General Public License v3.0
4.25k stars 267 forks source link

Load Image Pairs doesn't account for Use Limit #2916

Closed OrloDavid closed 1 month ago

OrloDavid commented 1 month ago

Information:

Both directories have 1000 images, this should supersede the total image count Example 2: If Dir A > Use Limit and Dir B > Use Limit Dir A == Dir B

Logs Error

An error occurred in a Load Image Pairs node:

Number of images in directories A and B must be equal. Directory A: C:\%%%\Scu_Canv has 2972 images. Directory B: C:\%%%\2xNom__comp--2xNom_i_com\4x-ClearRealityV1 has 2889 images.

Input values: • Directory A: "C:\%%%\Scu_Canv" • Directory B: "C:\%%%\4x-ClearRealityV1" • Use limit: Yes • Limit: 1000 • Stop on first error: No

Stack Trace: Traceback (most recent call last): File "C:\%%%\chaiNNer\app-0.23.3\resources\src\process.py", line 176, in run_node raw_output = node.run(*enforced_inputs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\%%%\chaiNNer\app-0.23.3\resources\src\packages\chaiNNer_standard\image\batch_processing\load_image_pairs.py", line 84, in load_image_pairs_node assert len(image_files_a) == len(image_files_b), ( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: Number of images in directories A and B must be equal. Directory A: C:\%%%\Scu_Canv has 2972 images. Directory B: C:\%%%\4x-ClearRealityV1 has 2889 images.

joeyballentine commented 1 month ago

Oh this is interesting -- nice find. Should be an easy fix

OrloDavid commented 1 month ago

Thank You,

It also looks like the count includes recursive folders and files; would it be possible to include the recursive option so it can be turned off for image pairs?

I personally never use it because the quickest way to setup a chain is to use the image Dir and Name in your save dialog, which means lots of nested folders, which I then will reprocess depending on what I am looking to achieve. (I do, however, very MUCH appreciate the fact I can get really creative with the in/out when desired, so thank you Chainner team for that)

I noticed the option is on by default, but I'd be curious what the general preference is. I only use recursion with the Load Models Node. I generally do not want to include nested images, I can't think of any time I have wanted to, but I'm not everyone. Just thought I'd throw it out there if it hasn't been already.

joeyballentine commented 1 month ago

Good point, we definitely should include that as an option like it is in Load Images. Thanks for pointing that out as well