1. create_filter_bank.m:
In each loop, I convovle a simple sobel filter(3x3) with a gaussian filter based on the given sigmas and then rotate the result filter by the angle in orientations. The parameters are the default 16x2.
2. gen_oriented_masks.m:
In each loop, I create two opposite half discs with horizontal divide line and then rotate them by the values in g_orients. parameters are the default 8x3.
3. pb_lite.m
4. texton_img.m
5. get_gradient.m
At first, it takes very long time to filter the tmp. It becomes much faster when I replace the imfilter with conv2. Later, James told me that imfilter is type sensitive and it should be as fast in single precision. There are three loops, one for orientations, one for scales and one for bins.
This is the result PR curve
Filterbank and half Disc Mask. Notice that although I stretched the image to rectangles, the filters are actually squares.
The following ten images are the result of my pb lite.
login: wchi