summaryrefslogtreecommitdiffstats
path: root/SD-VBS/common/c/iSortIndices.c
diff options
context:
space:
mode:
Diffstat (limited to 'SD-VBS/common/c/iSortIndices.c')
-rw-r--r--SD-VBS/common/c/iSortIndices.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/SD-VBS/common/c/iSortIndices.c b/SD-VBS/common/c/iSortIndices.c
new file mode 100644
index 0000000..5939c32
--- /dev/null
+++ b/SD-VBS/common/c/iSortIndices.c
@@ -0,0 +1,47 @@
1/********************************
2Author: Sravanthi Kota Venkata
3********************************/
4
5#include "sdvbs_common.h"
6
7I2D* iSortIndices(I2D* in, int dim)
8{
9 I2D *sorted;
10 int rows, cols, i, j, k, temp;
11 I2D *ind;
12
13 rows = in->height;
14 cols = in->width;
15
16 sorted = iDeepCopy(in);
17 ind = iMallocHandle(rows, cols);
18
19 for(i=0; i<cols; i++)
20 for(j=0; j<rows; j++)
21 subsref(ind,j,i) = 0;
22
23 for(k=0; k<cols; k++)
24 {
25 for(i=0; i<rows; i++)
26 {
27 int localMax = subsref(in,i,k);
28 int localIndex = i;
29 subsref(ind,i,k) = i;
30 for(j=0; j<rows; j++)
31 {
32 if(localMax < subsref(in,j,k))
33 {
34 subsref(ind,i,k) = j;
35 localMax = subsref(in,j,k);
36 localIndex = j;
37 }
38 }
39 subsref(in,localIndex,k) = 0;
40 }
41 }
42
43 return ind;
44}
45
46
47