Finding which Persons are assigned to a category

Started by Pawel, January 22, 2022, 02:22:52 PM

Previous topic - Next topic

Pawel

How can I check - in a Category View or in an app maybe - which Persons (managed in a People View) are set to assign photos to a given category? 

Mario

Select the category and open the People Filter in the Filer panel.
This shows you all persons in the scope (aka the category).

If you need something like this often, you can setup a formula-based category I guess.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

thrinn

#2
I understand the question a bit differently as "How can I see which Persons have the property "Set to this category if person is being assigned?". In the Person editor, we have the possibility to maintain a list of categories which are automatically assigned if this person is assigned. So maybe Pawel wants to find out if there are any persons where the "Categories to assign" property is empty?

I do not have a complete answer, but the variable {File.Persons.Categories|count:true} returns the number of persons in a file for which this property is set, at least more or less. In fact, it counts the number of categories of all persons in the picture, so the result is a bit difficult to interpret for files with multiple persons. And more difficult if (some of) your Persons assign automatically multiple categories. So, at least you would have to combine this somehow with a filter to show only files with exactly one person. Maybe the corresponding new Face Arrangement category.
Thorsten
Win 10 / 64, IMatch 2018, IMA

Mario

Yeah, I've read the question wrong. To many hats, in the middle of shipping IMatch updates and updates for some of my other products...sorry.

I don't see a way to achieve this. And I don't know why this would be needed. Double-clicking on a person shows the categories and keywords the person assigns.
I don't know how many persons you have, but even for 100 persons this is should be doable if you need it once.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Pawel

Exactly as thrinn wrote, I would like to see which Persons have the property "Set to this category if face is confirmed or person is being assigned/linked".

Before persons and People View appeared in IMatch I managed groups of people (like families, acquaintances, coworkers) using categories - that way I could clearly see which people are assigned to which category.

Now I would like to start using People View and Persons to a full extent and so I started to define categories to be assigned upon confirming face or linking person to a photo. That means the workflow is somehow inverted: I assign categories to Persons instead of assigning Persons to categories as it was before.

The problem is I have many Persons in People View - several decades of taking photos resulted in well over a thousand of people! - and so the process of assigning categories to Persons is very time consuming and error prone as there is no way to somehow group Persons per category assigned in People View nor can I define any data driven category in Category View to see which Persons have specific category assigned.

So far the only way I found to cross check category-person assignment (see which Persons have which category assigned, which Persons don't have any category assigned etc.) is to export all the Persons to a JSON file and analyze the file somehow.

I would appreciate if there was a way to do this in IMatch or in IMatch app at least.

Mario

1,000 persons, that's a lot. Mhm...

If you need this only for this purpose, you can open up your web browser and navigate to this URL (IMatch must be running):

http://127.0.0.1:50519/v1/entities?schema=people&noblob=true&auth_token=

This produces a JSON response which lists all persons in your database and their properties (including categories and keywords).
You can search the result or save it to a JSON file on disk and process it with whatever tool.

If you want to write your own app, you can use a fragment like this:



to fetch the data into the response object, and then process it, e.g., to filter persons and their categories or whatever you need.
The code above fetches the data and dumps it to the console.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook