From: Thomas T. <tt...@bi...> - 2000-04-25 22:28:58
|
Hi Dither/useability folks I did some testing on the Epson Stylus Color 600 - a printer that has 4 colors and no variable dot size. The photo that I tried with skin colors and some lights and darks. I like Random Floyd-Steinberg and Hybrid Floyd-Steinberg best: these seem to be good choices for the 600. The light parts are really even and the skin tones are not suffering from strings of cyan dots. A problem with Hybrid FS, at least with the Image Types: Solid Colors setting, is that an image that has a light part at the top gets a somewhat darkish line at the very top. This effect is absent with Random Floyd-Steinberg, but is extreme in the default settings on 'Solid Colors' on 1440 DPI softweave. The ordered dither works nicely for dark colors, but light colors show diagonal lines very well. That may improve with other ordered matrices. I've attached a small one that doesn't have too many chequerboard like patterns and is not a power of 2 size. 1440 HQ in the Photo setting seems to produce a kind of out-of-sync effect. It looks like colors do not register well, but the direction of a shift (if any) seems inconsistent. What do people think is a decent size for an ordered dither matrix? 23 pixels - the one I've attached here - is not too bad to calculate as it takes around a minute, but much bigger ones really take long as the speed is dependent on the 6th power of the matrix width. I'll try 73 as the next matrix size - that should take around a day, but is still rather small on a printer scale. On the other hand, it probably doesn't pay to make dots that are more than a millimeter apart to be very neatly distributed - and if it is the matrix generation can be optimized quite a bit. I'm not enough of a C hacker to see how I should fit this into the source - the driver currently does too many clever things. The following is 23 rows of 23 columns concatenated. The lowest number is 0 - the highest is 23*23-1: 221, 473, 75, 190, 416, 67, 143, 356, 257, 43, 297, 239, 496, 0, 189, 478, 26, 211, 509, 136, 192, 526, 119, 290, 158, 396, 256, 12, 485, 185, 462, 420, 133, 466, 405, 116, 429, 335, 142, 425, 277, 50, 439, 269, 56, 430, 333, 45, 501, 363, 97, 332, 293, 53, 314, 350, 84, 41, 270, 367, 58, 206, 388, 344, 197, 305, 366, 106, 412, 219, 455, 60, 163, 410, 231, 379, 128, 227, 479, 173, 229, 513, 150, 307, 523, 111, 71, 494, 129, 8, 489, 147, 16, 380, 202, 272, 524, 32, 155, 515, 6, 109, 432, 289, 79, 451, 242, 11, 415, 265, 167, 403, 337, 284, 249, 347, 74, 487, 323, 114, 443, 281, 243, 383, 325, 213, 392, 319, 48, 275, 180, 468, 328, 22, 449, 184, 87, 464, 196, 433, 261, 39, 207, 306, 397, 183, 73, 457, 36, 159, 465, 124, 376, 441, 89, 222, 507, 54, 240, 517, 132, 310, 386, 149, 460, 417, 91, 23, 500, 137, 259, 361, 68, 253, 503, 199, 34, 357, 286, 153, 382, 294, 360, 35, 278, 65, 102, 170, 354, 481, 233, 343, 423, 177, 511, 413, 105, 349, 292, 118, 491, 63, 235, 483, 101, 216, 428, 179, 504, 338, 255, 30, 200, 298, 100, 13, 308, 83, 279, 220, 2, 406, 446, 164, 395, 435, 168, 28, 474, 144, 401, 1, 224, 438, 391, 127, 426, 493, 205, 352, 475, 175, 321, 522, 141, 209, 340, 51, 113, 312, 370, 77, 322, 266, 104, 470, 78, 316, 477, 57, 169, 374, 146, 47, 431, 94, 368, 262, 19, 497, 250, 186, 512, 252, 121, 528, 161, 365, 296, 188, 214, 24, 247, 271, 440, 117, 241, 402, 27, 194, 461, 331, 130, 390, 427, 10, 212, 450, 46, 418, 334, 15, 508, 399, 112, 516, 411, 64, 520, 336, 131, 484, 303, 98, 414, 225, 59, 345, 273, 398, 300, 195, 92, 258, 458, 135, 288, 369, 160, 40, 302, 228, 364, 62, 274, 381, 7, 245, 454, 317, 154, 469, 82, 139, 480, 5, 208, 351, 238, 70, 447, 232, 329, 453, 4, 181, 467, 204, 151, 525, 171, 49, 505, 108, 217, 37, 375, 326, 521, 387, 85, 488, 52, 125, 498, 88, 148, 490, 311, 107, 444, 267, 95, 422, 283, 198, 378, 304, 514, 237, 174, 61, 157, 419, 182, 282, 359, 191, 251, 424, 372, 210, 38, 385, 348, 44, 324, 362, 134, 21, 448, 115, 287, 437, 226, 276, 471, 20, 320, 459, 55, 291, 9, 81, 280, 506, 76, 201, 492, 120, 69, 486, 246, 187, 342, 33, 408, 495, 355, 110, 264, 404, 96, 502, 346, 162, 482, 341, 165, 407, 299, 254, 409, 176, 309, 384, 72, 499, 260, 99, 145, 42, 203, 377, 138, 172, 218, 389, 315, 122, 18, 248, 434, 140, 31, 456, 223, 14, 476, 234, 166, 421, 313, 371, 244, 452, 301, 29, 436, 268, 25, 442, 215, 394, 472, 66, 230, 518, 126, 330, 445, 152, 358, 17, 80, 463, 3, 339, 123, 519, 236, 327, 510, 103, 193, 527, 93, 156, 353, 285, 373, 90, 263, 393, 86, 318, 400, 295, 178 If the pixels from this that are lower than a certain constant are printed the resulting distribution of pixels is pretty even. It is adapted from a well-known method in that during the build a filter is applied that punishes pixels that are about 2 pixels or a multiple thereof away from the current pixel. Actually, if I prevent my software from doing a dot-space-dot at all unless there is no other choice, interesting clustery/wormy patterns develop that might be useful for laser printers one day - although the worms are very likely to show up because of printer mechanism directionality - so for now here is a non-wormy one. The following are two pieces of the sliced and repeated matrix: XX X X X X X XX X X X X X X X X X X X X X X X X X X X XX XX X X XX XX X X X XX X X X X X XX X X X XX X X X XX X X X X XX XX X X X XX XX X X X XX X X XX X X XX X X XX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X XX XX X X X XX XX X X XX X XX X X X XX X XX X X X X XX X X X XX X X X XX X X X XX X X X X X XX X X X X XX X X X X X X X XX X X X X X X X X X X X X X X XX X X XX XX XX X X XX XX X X X X XX X X X X X X XX X X X X X X X X X X XX X X X XX XX X X X XX XX X X X X X XX XX X X X X X XX XX XX XX X X XX X XX XX XX X X XX X XX X X XX XX X XX XX X X XX XX X XX XX XX X X X X X X XX XX X X X X X X XX XX X XX XX X X XX XX X XX XX X X X X XX XX X X X X X XX XX X X X X X XX X X X X XX X X XX X X X X XX X X X X XX XX X X X X X XX XX X XX XX XX XX X X XX XX XX XX XX X X XX X X X X XX X XXX X X X X XX X XXX X X X X X X XX X X X X X X X XX X XX XX X XX XX X XX XX XX X XX XX X XX X X X X X X XX X X X X X X XX X X X XX X XX X XX X X X XX X XX X XX XX X X XX X X X XX X X XX X X X X X XX X XX X X XX X XX X XX X X X X XX X X X XX XX X XX XX X X X XX XX X X XX X X XX X X X XX X X XX X X X X XX XX X X X XX XX XX XX X X X XX X X X X X XX X XX X X X X XX X XX XX XX X X XX XX XX XX X X XX XX As you can see, there is not much on-off-on-off in this output - the preference if on-off-off-on and (less likely) on-on-off-off. Thomas |