Skip to content

Aquatint image modification using Ising method of Meurice and McKay

License

Notifications You must be signed in to change notification settings

VoyagerPWS/aquatint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aquatint

Aquatint image modification using Ising method of Meurice and McKay

This is a web app to provide "aquatint" services for uploaded images, replacing an earlier version provided by Alan McKay.

See Alan McKay's blog on the application.

See Prof Yannick Meurice's journal article.

Thanks go to the maintainers of stb image library, portions of which are included here.

The web app utilizes the Bottle Framework, which is extremely lightweight and simple. This is a dependency, either running on a server utilizing Apache with mod_wsgi or the Bottle built-in single-threaded server for development and demonstrations.

A live version of this app is accessible at the UIowa physics app server.

(This repository and document is a bit stale. It should be updated to conform to the tweaks made for the UIowa application.)

Apache configuration

Install Apache mod_wsgi:

dnf -y install mod_wsgi

or the eqivalent for your platform environment.

Include something similar to this in your main Apache config file:

<Directory "/some/place/wsgi">
    Options FollowSymLinks
    Require all granted
</Directory>
<IfModule !wsgi_module>
    LoadModule wsgi_module modules/mod_wsgi_python3.so
</IfModule>

The LoadModule may be done for you as part of the package management.

Then in your virtual server config block:

WSGIDaemonProcess aquatint display-name='aquatint' lang='en_US.UTF-8' locale='en_US.UTF-8' threads=10 queue-timeout=45 socket-timeout=60 connect-timeout=15 request-timeout=60 inactivity-timeout=0 startup-timeout=15 deadlock-timeout=60 graceful-timeout=15 eviction-timeout=0 restart-interval=0 shutdown-timeout=5 maximum-requests=0
WSGIProcessGroup aquatint
WSGIScriptAlias /aquatint /some/place/wsgi/bottle_apps.py

The name "aquatint" can be changed, as can "/some/place/wsgi", plus the exact location of the directives is flexible as well. Due to a policy of backwards compatibility in the Bottle Framework, the long sequence of timeout specifications is strongly encouraged, but is adjustable as well.

Tips in lieu of a build system

Read the Bottle Framework Tutorial; it's short and sweet.

Read through the aquatint.c source for instructions on compiling.

Read through the wsgi/bottle_apps.py source for configuration details to adjust, such as the location of the compiled aquatint binary.

Read through the wsgi/views/aquatint.tpl template file for configuration details, such as the prefix for the Bottle app.

Larry Granroth

About

Aquatint image modification using Ising method of Meurice and McKay

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published