// UnSharp.v アンシャープマスクプログラム
#define C_SIZE 1 // キャッシュ半径
module UnSharp(in:input,out:output)
int in on pixel cache C_SIZE;
int out on pixel;
{
parallel{
int sum;
// 入力画像のラプラシアンをとったものを入力画像から引く
sum = -in[-C_SIZE][-C_SIZE] -in[-C_SIZE][] -in[-C_SIZE][+C_SIZE]
-in[][-C_SIZE] +in[][]*9 -in[][+C_SIZE]
-in[+C_SIZE][-C_SIZE] -in[+C_SIZE][] -in[+C_SIZE][+C_SIZE];
if(sum < 0) sum = -sum;
out[][] = sum;
}
}