MAZAIKA v 1.0

------------------------------------------------------------------
Programmed by Boris A. Glazer
boris_a_g@hotmail.com
http://mazaika.tripod.com
------------------------------------------------------------------

MAZAIKA can create mosaic image i.e. big image (call Target)
made of small ones (call Tiles).

You can use as tiles almost anything: photo, drawings, video frames,
magazine/book/cd/lp/video covers, postcards, postmarks and etc...

Program divides source image on rectangles than seeks most
similar tile and places this tile instead of source rectangle into
target image. When all rectangles in target image substituted with
tiles - mosaic is ready.

To create your mosaic you need

Big image - target one.
Collection of small images.

I hope you know where you can obtain those images.

Your collection can be on CD as well as on HDD.
MAZAIKA _NEVER_ modify any of your images. It only open them to read
and creates new one. The only way you can lost somthing - is save new
image instead of old one.

To create picture database (file *.mzb)

Menu - Option - Picture database (or hotkey Ctrl-d)

Here hit button "New"
In next dialog choose:
database name
(I recommend more descriptive name like SommerHoliday2001_3x4.mzb)

max x min picture size ratio
In trial version you can choose only 3x3 or 4x4 square
(there is no difference in 3x3 or 4x4)
and 3x4 rectangle oriented as Landscape or Portret

Then hit Update base page

Here you must choose file types you want to use
Landscape or/and Portret or/and Square orienitation of tiles you want.

If you check all "Landscape" "Portret" "Square" orienitation checkboxes
you practicly will create three databases in one file - 
In one all pictures will be cropped to Landscape 3-height x 4-width
In second all pictures will be cropped to Portret 4-height x 3-width
In third all pictures will be cropped to Square 4-height x 4-width

Later you could split this file to single orienitation database 
or may use this big file choosing orienitation of tiles without
opening new base.

Choose drive and folder where your files are.

Check "Incl dir" checkbox if your files in subfolders.

If there is white or black outer rim on your pictures you can crop it choosin
Margin percent more than 0.

Hit "Create" button and programm begin to build picture database.

This process can be slow if your pictures are big enough.
Programm opens every file and calculate some values regarding color
lightness and shape of picture.

You must run this process only once. After base is build - you can
use it as many times as you need.

After all files scanned (or you stop scaning) return on "Main info"
page and hit "Repair" button. When "Base repaired" message displayd -
you are ready to create mosaic.

Next step - choose target image and divide it into cells.

Hit "Open" button or choose File->Open source menu.

You can open almost any major image file type.

Input number of horisontal tiles you want.
Vertical tiles will auto calculates depending of tiles ratio.

If "grid" checkbox is checked - you will see tiles on image. Choose as many
tiles as you need. It is up to you to deside.
IMHO - average mosaic if about 1000 - 2000 tiles. A4 size paper looking good
when printed with 25x40 mosaic. Try different resolution - different images
different shading of same image an so on.

Also you must choose Landscape/Portret/Square orienitation of tiles you want.
Only options present in database will enabled.

So now all about Options->Picture analiz.

Mazaika match tiles in following way:

To find single picture that must substitute region of source picture
program first calculate mean color (Cb and Cr) and brightness (Y) of this region
(btw - mazaika use YCbCr color model)
Than it finds all pictures that differ from this mean value no more than Delta
You could input Delta color ("Delta CbCr") and Delta brightness ("Delta Y")

Main rule - more pictures in database - less delta can be.
(In base of 2000-7000 picture I use 10-12 for both Deltas.)
More delta - more pictures will be selected - more time needed to find one best.

This selection is an SQL query. You could select only similar color
with "SQL CbCr" radio button or whole color "SQL YCbCr" radio button.
Also this first selection pay attention to four parts of region
TopLeft,TopRight
BottomLeft,BottomRight
and whole region.

Value "1>4" is how match times similarity of region could be count than similarity of
its parts.
I use 1

"MinMax4" , "MinMax9" - If you have big database - (more than 50000 images) check
one or both - and maybe speed will increase (but quality decrees)
I don't check it.

"Repeat" - if value 5 - than every 5th picture vertical and horisontal can be same.
In other words: if value 5 - than 5x5 tiles all are different.
I use from 4 to 10

"Pics(x10)" - when program could select many pictures that don't differ from region
more than deltas - program will really select only this value x10 for next step.
In other words: if value 50 - than no more than 500 best matching tiles would be selected.
I use from 10 to 60 (depend of database size)

"Black less","White more" - you can render very dark (with brightness less than "Black less")
and wery light (with brightness more than "White more") areas as simple black and white rectangles.
(real black is 0, real white is 255 - so if "White more"=256 even brightest part of image
will be rendered from real picture tile)


"Y Cr Cb matrix" - when those pictures selected - program must choose one _The_Best_tile_.
It could analize region as matrix of 2x2,3x3,4x4 or 6x6.
It is better when 6x6.

Also it can seek this _The_Best_tile_ depending of whole color or only brightness.
It is better when Index YCbCr

When "Power" = 1 program seek this _The_Best_tile_ as linear mean
When "Power" = 2 program seek this _The_Best_tile_ as square mean
When "Power" = 3 program seek this _The_Best_tile_ as cube mean
and so on
2 is enough.

Next step is output image size

It could be calculate as number of horisontal tiles times size of one output horisontal tile
and so with vertical.

Options -> Target tiles...
You could set horisontal size of Target tile. Vertical size will auto calculates.
Also here you could see overall output file size.
In trial version you could not set value more than 32 as tile size.
In full version there is no that limit.

Note that if output file size height or width more than 3000 pix - you
may have error "Not enough system resurses" - in this case you should
render this big file by parts. (see how to split big mosaic project into halfs below)

In trial version you can't overcome this limit. Only way render picture
with so many tiles as you want - is decreese size of output tiles.

In full version I recommend render low resolution version and better "draft"
version of image - and after that render big one as "Auto render MZP"

Here also you could set jpg file quality percent (100% best quality / bigest file)


Now in trial version you must UNCHECK "Draft" checkbox and hit "Create mazaika picture" button.
In full version just hit "Create mazaika picture" button because you could render real 
picture later.

Save as dialog appeares. Input file name. This would be Mosaic Project (*.MZP) file
that could be used in full version for creation of mosaics of any size.

Process will start. 
This is not quick procedure
For example: on my old P233 64Mb RAM I spend to create 1000 tiles
image about 0.5 - 2 hours. It very depend on quality and quantity of database
and Picture analiz setting.

You could stop process with "Stop creation" button.

When render is over - you could save your work. In trial version you could save only
as *.jpg file. In full version you could save *.bmp file for high quality printouts.



How to register NAZAIKA

Help -> Register

There are two registration plans:

-- Light version:

Limits:
32 pix tile size limit
No auto render saved mosaic project.

Adds:
No nag screen
No 30 day limit

Price:
Send Real (paper - no e-mail) postcard to me
Print your name and e-mail there and I'll e-mail you a registration code.

My post adresse:

Russia
620002
Ekaterinburg K-2
ul. Mira, 19, a/b 23
Boris A. Glazer



-- Full version:

Limits:
No limits

Adds:
No nag screen
No 30 day limit
and also
no 32 pix tile size limit
auto render saved mosaic project (even saved in trial or light versions)
save in lossless BMP file format for hi resolution.
more over
my consultation/help/support via e-mail
patches/upgrages (if needed)

Price:
$50
e-mail me and I'll send you my bank account number
Transfer $50 to my account
Press button "Send order"
Send me e-mail with Window user name (WN=)
and your user name (UN=) (this two may differ or may be a same)
and when I recive money I'll send you registration code.

