Thanks for this thread - it might explain why the mosaic I'm working on is composed of far too many pictures of one group, and is not balanced between my folders. I'll try a few of the ideas posted to fix my problem.
For the mosaic I'm working on I'd like an even mix of pictures irrespective of how many folders there are, or what the file names are.
I assume for speed issues AndreaMosaic finds the first tile it can acceptably use as a match for each space, so perhaps some way of changing the order of search each time when tile matching will be useful.
Obviously I do not know how AndreaMosiac performs its search, but if AndreaMosaic creates some sort of tree or hash structure to allow for quick lookup of tiles via a coding system, I think that:
If this is initially created by going through each tile in name and/or folder order, tiles earlier in the order will always be placed in the structure first, allowing quick access, with later tiles being placed deeper in the structure, and therefore less likely to be accessed.
If I have two tiles which produce exactly the same code (ie because they look very similar), then the earlier one in the list will be placed in the structure first, and the later one will perhaps be placed in a linked list behind it.
When searching for matches of that code, then the earlier tile will be accessed first, deemed to be a match and then used in the mosaic. To look for the later tile would require more checks (inefficient) and would not add any value to the [overall] image.
Of course, by not allowing duplicates you could then force the program to look in later searchs to later tiles in the linked lists or deeper in the structures, but say if you had numerous tiles of the same code, then in this case you would match many more of the earlier pictures before you got to use a later tile match.
Another item to mention is that if we allow alterations to tiles for a better result, will AndreaMosaic try to look for a perfect or as close a match possible first, or will any tiles within the acceptable range be accepted first? I could imagine if a tree structure is used, finding acceptable tiles rather than perfect tiles (to improve speed) would happen a lot. Again, tiles entered into the structure first would dominate as many of them will be accessed early and deemed acceptable.
If my thoughts do correspond to AndreaMosaics workings in some way, the obvious solution is to randomise the order in which pictures are added to the data structures.
Perhaps if people find their mosaics aren't quite as they wished they could have an option to rebuild the structure using a new random order, such that they can try again with hoepfully better results.
I doubt the rebuild option would add much in terms of quality, but the initial random creation of the structure surely would.
Well, that's if AndreaMosaic works in this kind of way of course!
Ps As for my idea about palettes earlier in another thread, I now think that each tile set should simply display its own palette, rather than show a normal palette and its matches. If a palette is mostly of red shades, I think everyone could tell there are mostly red tiles!