Solutions to “Just KNIME It!” Challenge 7 - Season 3

:camera_flash: This week our challenge explores the world of image processing. :cactus: You are a wildlife photographer wanting to automate the resizing and formatting of your photos, and decided to build a single workflow to handle this task. :eyes: Can you make it in a way that is very flexible to accommodate different magazine requests?

Here is the challenge. Let’s use this thread to post our solutions to it, which should be uploaded to your public KNIME Hub spaces with tag JKISeason3-7.

:sos: Need help with tags? To add tag JKISeason3-7 to your workflow, go to the description panel in KNIME Analytics Platform, click the pencil to edit it, and you will see the option for adding tags right there. :slight_smile: Let us know if you have any problems!

4 Likes

Hi @alinebessa :wave: :smiley:

This evening Jakarta time, I have completed the solution for the JKISeason3-7 challenge. You can access my solution through this link.

7 Likes

Where’s the data?

1 Like

Hi @rfeigel :wave: :smiley:

You can download the data from link Just KNIME It! | KNIME

1 Like

Here’s my solution:

Some interesting learnings along the way:

I initially thought 'yeah, that’s easy, there’s KNIME Image processing extension… ’ - but I was wrong.

The In’s and Out’s of this challenge once again taught me a lot about UI design (where do I put my widget nodes? for example) as well as working with image files etc.

Had a lot of fun though with it.

4 Likes

Life would be a lot easier if you included the data in a "data’ folder in the workflow and point the reader to that.

Thank you, @rfeigel .

I intentionally didn’t place the data in a folder so that people who download my workflow can interact with it and access the link Just KNIME It! | KNIME :slightly_smiling_face:

Many people, especially in Indonesia, are not yet aware of Just KNIME It! Therefore, I’m actively promoting this initiative in Indonesia.

4 Likes

Among my many KNIME weaknesses, Image processing is near the top. Regardless, here’s my solution. Employs Case Switch to select output image size. Uses simple selection widget to select image type output.

4 Likes

Hello, this is my solution for this challenge.

For me it was challenging to get the requested features after selecting and not before. It is usable but still has some points that could be optimized.

4 Likes

Hello everyone,
It is possible to use any folder for input and output of images. The resized images will be saved in a newly created folder within the input directory you specifed in advance. Thanks.

image

image

9 Likes

Hi everyone, here is my solution

Coincidentally, it is very similar to all your solutions :slight_smile:
In my workflow the post-processed files are zipped and available for download.


image

7 Likes

Hello JKIers
This is my take to the JKI S03 CH07 episode. I should known in advance how hard the @roberto_cadili 's ‘medium jedi level’ is. Once avoided my first instinct of moving into python, when i read ‘image editing’, and kept working with KNIME nodes; it has been a good fun to explore the capabilities of ‘Image Processing’ extension’s nodes.

Thanks to the pioneer colleagues, I could solve faster some pieces of work for the challenge; I found very useful the format conversion from @rfeigel :+1:t4: as I didn’t have previous experience working these nodes.

Keep it coding :vulcan_salute:t4:

6 Likes

Hi all,
Here is my solution.

I referred to @tark and @Tofusa solutions.

8 Likes

Hi all! My solution to Challange 7. I didn’t create composite view to my solution but I think it contains everything that’s needed.

JKISeason3-7 – KNIME Community Hub



5 Likes

Hi all,
Thank you all for sharing, You saved me. I wasted too much time on the “Renderer to Image” node.

My difference: I also use configurable components and only perform calculations internally. Visual inspection is completed outside the component.

003

Br

5 Likes

Hi all,
Here is my solution, that is also similar to the others.

6 Likes

Here we go with my solution:

  • open component configuration dialogue and browse to an image
  • make choices around re-sizing and file format
  • close config dialogue and run component
    ==> processed file will be saved to workflow data area in a sub-folder “output”. Filename will include information around chosen resizing options
    image

One issue that I encountered just for PNGs is that the Render to Image Node includes these Image Size fields that seem to apply regardless of any resizing that took place using Image Resizer Node. So e.g. if the default of 100 x 100 applies then it cuts the original image at 100 x 100,

image

I then tried extracting dimensions from the resized imaged and passed it in as flow variables. However there the behaviour is also weird as the image has the desired size, but there’s a lot of blank space around it…

I did take a peak into some of the other solutions when I couldnt figure it out, but everyone else seems to be doing pretty much the same…
Here’s what I mean…

image

Did someone encounter similar behaviour and found a solution? Or did I just screw up somewhere and kind see the forest amongst all the trees? :smiley:

4 Likes

I also encountered the same problem.
x, y =

  1. 100, 100 , It is the top left corner clipping of the image.

  2. 256 , 171, It is proportionally scaled, and image cropping operations.
    PS: 4272/2843 = 256/171 = 1.5/1

  3. 4272 , 2843, It is proportionally scaled, but left a lot of blank areas. The setting is the same as the 500, 500 you see.

2 Likes

Hello @MartinDDDD
You are creating a png file by defining a 500x500 canvas, and dropping a smaller pixel map on the top of it.

As depending on component config, the resulting images can be different in size. The option is to save the images in a loop by defining ‘pngWidth’ / ‘pngHeight’ variables with the real size of your target output image. You can extract target image ‘dimensions’ with ‘Image Properties’ node.

BR

PS.- You can take a look into my workflow.

4 Likes

Hi @MartinDDDD
How about using the “ImgPlus to PNG Images Node” to convert to png?

4 Likes