Detecting/Enforcing Hierarchies In Categories At Specific Levels

Started by Darius1968, August 15, 2013, 11:02:43 PM

Previous topic - Next topic

Darius1968

I'm referring to the provided example, where it's two-level - Camera Make & Camera Model, ant at the Level 2 (Camera Model), I could be at Canon, and there are many "Canon EOS", "Canon EOS Digital", "Canon Powershot", etc.  Similarly, when make is focused on Sony, there are many results at Model for "Cybershot", for instance.  How can I have IMatch 5 group these? 

Gerd

Hi Darius,

where is the problem? I found in my IM5-db in this IMatch_Sample_Categories for each camera-company a category and for the diff. modells sub-categories.

Regards
Gerd

[attachment deleted by admin]
_______
Regards
Gerd

Darius1968

Okay, if you examine your file attachment, you'll see there are 6 entries for Canon cameras that are there EOS series.  So, it would be nice to be able to have a hierarchy, say, "EOS", and beneath it, those 6 models that are of the EOS series.  This would let you easily click on "EOS", and find out how many images all EOS series. 

Mario

What you need is a way to dynamically search and replace text in order to fold multiple values into one.
You can use the Replace Mask property for this purpose. For example,

Canon.*,EOS

will search your model string for all values containing Canon followed by any number of other characters, and then replace that with EOS. This should fold your multiple model names into one child category. Please see the extensive help for data-driven categories for more examples and explanation of all the features available.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Darius1968

So far, so good!  This is definitely helping me out!  What I now want to know if it can be done is that I have, say, a bunch of these replacement masks set for the case of the make of the camera being set to Canon.  With this in mind, if I subsequently add in Nikon & Olympus, is it possible to somehow have replacement strings for those makes as well, but at the same time, have a separate panel for each of the three cases.  That would cut down on a lot of clutter, being able to switch to a dedicated replacement mask for the given make of camera. 

jch2103

You can have more than one Replace Mask at the same time; separate them with";", e.g., Minolta.*,Minolta;Olympus.*,Olympus

John

Darius1968

Oh, I know and have applied that already.  It's just that too many masks in one place causes a lot of clutter, and having these separate instances for each brand might cout down on that. 

jch2103

Well, in that case you could set up separate Categories, each filtered for a separate make. But perhaps that just substitutes one form of clutter for another? YMMV.
John

Mario

Data-driven categories cover a lot of ground, with dozens of options. Most users will never even do as much as looking at the advanced features like filters, replacement expressions or other category vodoo. I don't want to make this more complex than it already is by piling options for special cases on top of other options. I doubt that your specific requirement will be shared by many users.

As jch2103 pointed out, you can use a filter to look only for a specific brand and create multiple data-driven categories for your different brands if this is what you really need. Or you combine the data-driven categories produced via a category formula into another category, and put this category somewhere else in your category tree. Maybe create a "Camera" parent category, below that "EOS" and set this category to use a proper formula to cover all the model categories you want.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Darius1968

I didn't quite understand your second option about the category formula, however, your first option which is also that of jch2103, works just fine for me.:-)  What I now wonder and would like to know is how much exhaustive would this be on system resources to have many physically created categories representing the different manufactures instead of just one.  Would this slow things up? 

Mario

IMatch can handle several thousand of categories just fine.


What I meant with the formula was to create an EOS category and then use a formula like

"Make and Model.Canon Eos 7d" OR "Make and Model.Canon Eos 20d"

and so on. The resulting category shows the combined images of all categories referenced int he formula. You will have to change the formula once when new camera models arrive, though.

Tip: Select all child categories for your various Canon models and drag them onto the Category Builder tab in the category view. The builder produces the correct category formula for you automatically. You can then copy/paste the formula into a category of your choice, or Ctrl+C, Ctrl+V the @Builder category to some place in your category hierarchy. This gives you a new category with the formula already filled in.

You can also create a category like "All Canon Cameras" and use a @Category function with a regular expression. This is pretty neat and powerful (but can slow down IMatch a bit if used too often).

For example, the following category formula:

"@Category[IMatch Sample Categories|Image Files|Make and Model|Canon.*]"

returns all files assigned to categories under


@All
  - IMatch Sample Categories
    - Image Files
      - Make and Model


which start with the word Canon.

This will also give you what you need, without the need to adjust a formula when new camera models are added or old models are removed.


-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook