POV-Ray : Newsgroups : povray.beta-test : v3.7 v3.8 image compare : Re: v3.7 v3.8 image compare Server Time
3 Dec 2023 05:10:40 EST (-0500)
  Re: v3.7 v3.8 image compare  
From: jr
Date: 17 Sep 2020 13:20:00
Message: <web.5f6399d79b9dedbc4d00143e0@news.povray.org>
"jr" <cre### [at] gmailcom> wrote:
> ...
> the archive contains a 'readme.txt' detailing ...

I also forgot to include a whole paragraph regarding results, plus found typos.
I copy the amended 'readme' below, rather than posting another archive.

btw, to make the s/ware work with 'povr', requires the '/scenes/' directory to
contain directories only.  move 'biscuit.pov' into a sub-directory.  create a
'previews' directory (that is the "marker" the script looks for).  (I checked it
works, albeit with two identical 'povr' programs)

regards, jr.

# ------------------------------------------------------------------------
setting up, by script.

you will neeed to create two directories, one for the scripts, one for
the database(s); you could make both the same.

extract the archive in the script directory.

- cimkdb.sh

  the directories in lines 10 and 11 need to be changed to the above.
  'store_db' for the databases, 'store_ec' for external code/scripts.

  in line 34 you can change the "preferred" work directory for when
  jobs get run.  I use '/tmp/cmpimg/' because '/tmp/' is set up to
  "live" in RAM.

- cirundb.sh

  change 'store_ec' in line 11.

  the script always creates an archive of the run's data.  if that is
  unwanted, you could insert an 'exit 0' before line 66.

- init-db.sql

  there are a couple of defaults you may wish to adjust.  currently,
  jobs run without showing a display/render window, without limit on
  the number of worker threads, and generating log information; also,
  the set of "standard" (POV-Ray) CLI options is given here.
  see the comments for table 'misckv' to make necessary changes.

- mkcmpimg.tcl

  you will need to provide the names of the two POV-Ray executables
  which are to be compared, and you may need/want to use different
  "tags" to distinguish them.

  lines 14 and 15 contain the relevant data, both two-element lists.
  the tags are used as prefixes for the (temporary) image files.

how it works.

it is now a two step process.  create a database for a given POV-Ray
distribution '/scenes/' directory, and "run the database". in between,
you may wish to update individual scenes in the db, eg if specific
option switches are required.  the db files are always named with the
version number grabbed from the directory, but they can be renamed if

for example (from the script directory):

  $ ./cimkdb.sh /usr/local/share/povray-3.7/scenes/

(an override for the default work directory can be given as second arg)

the database can now be run as often as required.

  $ ./cirundb.sh ~/.local/share/cmpimg/civ3.7.sqlite

you will have to substitute the path of course.

the results are left in the work directory.
if logging was not disabled, there will be two new files for every
"active" scene, eg 'biscuit.pov' now has 'ci_biscuit.png', output by
the 'montage' command, and 'ci_biscuit.txt.xz', which is POV-Ray's
'all_file' output, compressed.  (view with 'xzless')
a compressed archive of the work directory too is left in the work
directory.  it is named 'ciYYMMDDHHMM.tar.xz', where the date/time is
from when 'cirundb.sh' was started.

the work directory must be deleted before the next run.

run either script without any arguments to see the required command
line, including the options.

finally, there is, as yet, no documentation (although all scripts are
commented), and there is very little error handling, and no attempt at
making the scripts "resiliant".

a simple (GUI) frontend for database maintenance is (still) on the
drawing board; it is not high priority since everything can be done
easily using the 'sqlite3' shell.

Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.