testFilterCompare('input.miff', q//, 'reference/filter/Annotate.miff', 'Annotate', q/text=>'Magick',geometry=>'+0+20',font=>'Generic.ttf',fill=>'gold',gravity=>'North',pointsize=>14/, 0.02, 1.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Blur.miff', 'Blur', q/'0.0x1.0'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Blur.miff', 'Blur', q/'0.0x1.0'/, 0.002, 0.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Border.miff', 'Border', q/geometry=>'6x6',color=>'gold'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Border.miff', 'Border', q/geometry=>'6x6',color=>'gold'/, 0.002, 0.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Channel.miff', 'Channel', q/channel=>'red'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Channel.miff', 'Channel', q/channel=>'red'/, 0.002, 0.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Chop.miff', 'Chop', q/geometry=>'80x80+5+10'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Chop.miff', 'Chop', q/geometry=>'80x80+5+10'/, 0.002, 0.02);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/Charcoal.miff', 'Charcoal', q/'0x1'/, 0.2, 1.02);
testFilterCompare('input.miff', q//, 'reference/filter/Contrast.miff', 'Contrast', q//, 0.06, 0.6);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Convolve.miff', 'Convolve', q/[1, 1, 1, 1, 4, 1, 1, 1, 1]/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Convolve.miff', 'Convolve', q/[1, 1, 1, 1, 4, 1, 1, 1, 1]/, 0.002, 0.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Crop.miff', 'Crop', q/geometry=>'80x80+5+10'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Crop.miff', 'Crop', q/geometry=>'80x80+5+10'/, 0.002, 0.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Set.miff', 'Set', q/page=>'0x0+0+0'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Set.miff', 'Set', q/page=>'0x0+0+0'/, 0.002, 0.02);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/Despeckle.miff', 'Despeckle', q//, 0.08, 1.08);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Draw.miff', 'Draw', q/fill=>'none',stroke=>'gold',primitive=>'circle',points=>'60,90 60,120',strokewidth=>2/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Draw.miff', 'Draw', q/fill=>'none',stroke=>'gold',primitive=>'circle',points=>'60,90 60,120',strokewidth=>2/, 0.002, 0.02);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/Edge.miff', 'Edge', q//, 0.3, 1.03);
testFilterCompare('input.miff', q//, 'reference/filter/Equalize.miff', 'Equalize', q//, 0.03, 1.03);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Implode.miff', 'Implode', q/0.5/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Implode.miff', 'Implode', q/0.5/, 0.002, 0.2);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Flip.miff', 'Flip', q//, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Flip.miff', 'Flip', q//, 0.002, 0.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Flop.miff', 'Flop', q//, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Flop.miff', 'Flop', q//, 0.002, 0.02);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/Frame.miff', 'Frame', q/'15x15+3+3'/, 0.4, 1.04);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Gamma.miff', 'Gamma', q/1.6/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Gamma.miff', 'Gamma', q/1.6/, 0.02, 0.2);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/GaussianBlur.miff', 'GaussianBlur', q/'0.0x1.5'/, 0.004, 0.4);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Implode.miff', 'Implode', q/0.5/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Implode.miff', 'Implode', q/0.5/, 0.002, 0.02);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/Level.miff', 'Level', q/'20%'/, 0.2, 1.02);
testFilterCompare('input.miff', q//, 'reference/filter/Magnify.miff', 'Magnify', q//, 0.05, 0.5);
++$test;
-testFilterCompare('input.miff', "fuzz=>$fuzz", 'reference/filter/MatteFloodfill.miff', 'MatteFloodfill', q/geometry=>"+25+45"/, 0.004, 0.4);
+testFilterCompare('input.miff', "fuzz=>$fuzz", 'reference/filter/MatteFloodfill.miff', 'MatteFloodfill', q/geometry=>"+25+45"/, 0.002, 0.02);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/MedianFilter.miff', 'MedianFilter', q//, 0.5, 0.9);
testFilterCompare('input.miff', q//, 'reference/filter/QuantizeMono.miff', 'Quantize', q/colorspace=>'gray',colors=>2,dither=>'false'/, 0.3, 1.03);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/MotionBlur.miff', 'MotionBlur', q/'0x13+10-10'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/MotionBlur.miff', 'MotionBlur', q/'0x13+10-10'/, 0.003, 0.03);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Negate.miff', 'Negate', q//, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Negate.miff', 'Negate', q//, 0.002, 0.02);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/Normalize.miff', 'Normalize', q//, 0.04, 1.04);
testFilterCompare('input.miff', q//, 'reference/filter/Quantize.miff', 'Quantize', q//, 0.03, 1.03);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/RadialBlur.miff', 'RadialBlur', q/10/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/RadialBlur.miff', 'RadialBlur', q/10/, 0.002, 0.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Raise.miff', 'Raise', q/'10x10'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Raise.miff', 'Raise', q/'10x10'/, 0.002, 0.02);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/ReduceNoise.miff', 'ReduceNoise', q//, 0.5, 0.9);
testFilterCompare('input.miff', q//, 'reference/filter/Resize.miff', 'Resize', q/'60%'/, 0.02, 1.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Roll.miff', 'Roll', q/geometry=>'+20+10'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Roll.miff', 'Roll', q/geometry=>'+20+10'/, 0.002, 0.02);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/Rotate.miff', 'Rotate', q/45/, 0.4, 1.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Sample.miff', 'Sample', q/'60%'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Sample.miff', 'Sample', q/'60%'/, 0.002, 0.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Scale.miff', 'Scale', q/'60%'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Scale.miff', 'Scale', q/'60%'/, 0.002, 0.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Segment.miff', 'Segment', q//, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Segment.miff', 'Segment', q//, 0.002, 0.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Shade.miff', 'Shade', q/geometry=>'30x30',gray=>'true'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Shade.miff', 'Shade', q/geometry=>'30x30',gray=>'true'/, 0.002, 0.02);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/Sharpen.miff', 'Sharpen', q/'0.0x1.0'/, 0.05, 1.05);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Shave.miff', 'Shave', q/'10x10'/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Shave.miff', 'Shave', q/'10x10'/, 0.002, 0.02);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/Shear.miff', 'Shear', q/'-20x20'/, 0.4, 1.04);
testFilterCompare('input.miff', q//, 'reference/filter/SigmoidalContrast.miff', 'SigmoidalContrast', q/"3x50%"/, 0.06, 0.6);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Solarize.miff', 'Solarize', q//, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Solarize.miff', 'Solarize', q//, 0.002, 0.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Swirl.miff', 'Swirl', q/90/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Swirl.miff', 'Swirl', q/90/, 0.002, 0.2);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Threshold.miff', 'Threshold', q/90%/, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Threshold.miff', 'Threshold', q/90%/, 0.002, 0.02);
++$test;
-testFilterCompare('input.miff', q//, 'reference/filter/Trim.miff', 'Trim', q//, 0.004, 0.4);
+testFilterCompare('input.miff', q//, 'reference/filter/Trim.miff', 'Trim', q//, 0.002, 0.02);
++$test;
testFilterCompare('input.miff', q//, 'reference/filter/UnsharpMask.miff', 'UnsharpMask', q/'0.0x1.0'/, 0.02, 1.02);