See purchase page
END-USER LICENSE AGREEMENT FOR Ximagic Quantizer
This End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) ("LICENSEE") and Ximagic (Blas Rodriguez Somoza) ("LICENSOR"). for the software product(s) identified above which may include associated software components, media, printed materials, and "online" or electronic documentation ("SOFTWARE PRODUCT").
By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. This license agreement represents the entire agreement concerning the program between you and the LICENSOR, and it supersedes any prior proposal, representation, or understanding between the parties. If you do not agree to the terms of this EULA, do not install or use the SOFTWARE PRODUCT.
The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold.
- GRANT OF LICENSE.
- The LICENSOR grants you the right to install and use copies of the SOFTWARE PRODUCT on one computer.
- You may also make copies of the PRODUCT as may be necessary for backup and archival purposes.
- DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
- You must not remove or alter any copyright notices on any and all copies of the SOFTWARE PRODUCT.
- You must not distribute copies of the SOFTWARE PRODUCT to third parties.
- You must not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT.
- You must not rent, lease, or lend the SOFTWARE PRODUCT.
- Any supplemental software or document provided to you as part of the Support Services shall be considered part of the SOFTWARE PRODUCT and subject to the terms and conditions of this EULA.
Without prejudice to any other rights, the LICENSOR may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT in your possession.
All title, including but not limited to copyrights, in and to the SOFTWARE PRODUCT and any copies thereof are owned by the LICENSOR or its suppliers. All title and intellectual property rights in and to the content which may be accessed through use of the SOFTWARE PRODUCT is the property of the respective content owner and may be protected by applicable copyright or other intellectual property laws and treaties. This EULA grants you no rights to use such content. All rights not expressly granted are reserved by the LICENSOR.
- NO WARRANTIES
The LICENSOR expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT is provided 'As Is' without any express or implied warranty of any kind, including but not limited to any warranties of merchantability, noninfringement, or fitness of a particular purpose. The LICENSOR does not warrant or assume responsibility for the accuracy or completeness of any information, text, graphics, links or other items contained within the SOFTWARE PRODUCT. THE LICENSOR makes no warranties respecting any harm that may be caused by the transmission of a computer virus, worm, time bomb, logic bomb, or other such computer program. The LICENSOR further expressly disclaims any warranty or representation to Authorized Users or to any third party.
- LIMITATION OF LIABILITY
In no event shall the LICENSOR be liable for any damages (including, without limitation, lost profits, business interruption, or lost information) rising out of 'Authorized Users' use of or inability to use the SOFTWARE PRODUCT, even if the LICENSOR has been advised of the possibility of such damages. In no event will the LICENSOR be liable for loss of data or for indirect, special, incidental, consequential (including lost profit), or other damages based in contract, tort or otherwise. The LICENSRO shall have no liability with respect to the content of the SOFTWARE PRODUCT or any part thereof, including but not limited to errors or omissions contained therein, libel, infringements of rights of publicity, privacy, trademark rights, business interruption, personal injury, loss of privacy, moral rights or the disclosure of confidential information.
Copyright (C) 2008-2015 by Blas Rodriguez Somoza.
Copyrights from other code used
Median cut (From: Dr Dobb's 1994 Sept)
** File: median.c Copyright (c) Truda Software
** Author: Anton Kruger 215 Marengo Rd, #2,
** Date: March 1992 Oxford, IA 52322-9383
** Revision: 1.0 March 1992
** Description: Contains an implementation of Heckbert's median-
** cut color quantization algorithm.
** Compilers: MSC 5.1, 6.0.
** Note: 1) Compile in large memory model.
** 2) Delete the "#define FAST_REMAP" statement below
** in order to deactivate fast remapping.
Octree (From: Dr Dobb's 1996 Jan)
// Color octree routines.
// Dean Clark
// for Dr. Dobbs Journal
// June 1995
Xiaolin Wu v2 (From: Xiaolin Wu page)
C Implementation of Wu's Color Quantizer (v. 2)
(see Graphics Gems vol. II, pp. 126-133)
Author: Xiaolin Wu
Dept. of Computer Science
Univ. of Western Ontario
London, Ontario N6A 5B7
Algorithm: Greedy orthogonal bipartition of RGB space for variance
minimization aided by inclusion-exclusion tricks.
For speed no nearest neighbor search is done. Slightly
better performance can be expected by more sophisticated
but more expensive versions.
The author thanks Tom Lane at Tom_Lane@G.GP.CS.CMU.EDU for much of
additional documentation and a cure to a previous bug.
Free to distribute, comments and suggestions are appreciated.
Dennis Lee v3 (From: Benny's Favorite quantizers)
* DL3 Quantization
* File: dl3quant.c
* Author: Dennis Lee E-mail: email@example.com
* Copyright (C) 1993-1997 Dennis Lee
* C implementation of DL3 Quantization.
* DL3 Quantization is a 2-pass color quantizer that uses an
* exhaustive search technique to minimize error introduced at
* each step during palData reduction.
* I believe DL3 Quantizer offers the highest quality of all existing
* color quantizers. It is truly 'optimal' except for a few provisos.
* These provisos and other information about DL3 Quantizer can be found
* in DLQUANT.TXT, which is included in this distribution.
* The dithering code is based on code from the IJG's jpeg library.
* DL3 Quantization can take a long time to reduce a palData.
* Times can range from seconds to minutes or even hours depending on
* the image and the computer used. This eliminates DL3 Quantizer for
* typical usage unless the user has a very fast computer and/or has a
* lot of patience. However, the reward is a quantized image that is
* the best currently possible. The number of colors in the source image,
* not the image size, determines the time required to quantize it.
* This source code may be freely copied, modified, and redistributed,
* provided this copyright notice is attached.
* Compiled versions of this code, modified or not, are free for
* personal use. Compiled versions used in distributed software
* is also free, but a notification must be sent to the author.
* An e-mail to firstname.lastname@example.org will do.
Binary Split (From: Charles A. Bouman page)
Code without copyright notice
Lloyd (K-Means) (From: k-means with Python)
* Created on 2005-04-12 by Roger Zhang <email@example.com>
* Modified by Maffi Leonardo, V.1.0, Jun 2 2007.
* - this function is provided as is with no warranty.
* - the author is not responsible for any damage caused
* either directly or indirectly by using this function.
* - anybody is free to do whatever he/she wants with this
* function as long as this header section is preserved.
NeuQuant (From:NeuQuant page)
/* NeuQuant Neural-Net Quantization Algorithm
* Copyright (c) 1994 Anthony Dekker
* NEUQUANT Neural-Net quantization algorithm by Anthony Dekker, 1994.
* See "Kohonen neural networks for optimal colour quantization"
* in "Network: Computation in Neural Systems" Vol. 5 (1994) pp 351-367.
* for a discussion of the algorithm.
* See also http://members.ozemail.com.au/~dekker/NEUQUANT.HTML
* Any party obtaining a copy of these files from the author, directly or
* indirectly, is granted, free of charge, a full and unrestricted irrevocable,
* world-wide, paid up, royalty-free, nonexclusive right and license to deal
* in this software and documentation files (the "Software"), including without
* limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons who receive
* copies from any such party to do so, with the only requirement being
* that this copyright notice remain intact.
Spatial Color Quantization
/* Copyright (c) 2006 Derrick Coetzee
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
/* Riemersma dither
* This program reads in an uncompressed
* gray-scale image with one byte per
* pixel and a size of 256*256 pixels (no
* image header). It dithers the image and
* writes an output image in the same