- Timestamp:
- Dec 16, 2015, 4:24:31 PM (11 years ago)
- Location:
- trunk/Ohana/src/dvomerge
- Files:
-
- 1 added
- 4 edited
-
Makefile (modified) (1 diff)
-
include/dvomerge.h (modified) (1 diff)
-
src/ReadDeleteListExternID.c (modified) (2 diffs)
-
src/dvorepair.c (modified) (1 diff)
-
src/dvorepairDeleteImagesByExternID_v2.c (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/dvomerge/Makefile
r39225 r39281 129 129 $(SRC)/dvorepairDeleteImageList.$(ARCH).o \ 130 130 $(SRC)/dvorepairDeleteImagesByExternID.$(ARCH).o \ 131 $(SRC)/dvorepairDeleteImagesByExternID .$(ARCH).o \131 $(SRC)/dvorepairDeleteImagesByExternID_v2.$(ARCH).o \ 132 132 $(SRC)/dvorepairFixImages.$(ARCH).o \ 133 133 $(SRC)/dvorepair_by_objID.$(ARCH).o \ -
trunk/Ohana/src/dvomerge/include/dvomerge.h
r39225 r39281 246 246 int *ReadDeleteListExternID(char *filename, int *nindex); 247 247 248 int dvorepairDeleteImagesByExternID_v2 (int argc, char **argv); 249 int *ReadDeleteListExternID_v2(char *filename, int *nindex); 250 248 251 void replace_tycho_init (); 249 252 int replace_tycho (Average *averageInp, Measure *measureInp, off_t *next_meas, Average *averageOut, Measure *measureOut); -
trunk/Ohana/src/dvomerge/src/ReadDeleteListExternID.c
r38986 r39281 1 1 # include "dvomerge.h" 2 3 /* Delete List Format: 4 image o5252g0035o.140669.cm.51017.smf[XY11.hdr] (219974) : 368 vs 375 5 image o5252g0051o.140685.cm.51123.smf[XY11.hdr] (226417) : 350 vs 356 6 image o5399g0207o.194950.cm.98351.smf[XY46.hdr] (1683277) : 10341 vs 10347 7 image o5464g0284o.230438.cm.123774.smf[XY21.hdr] (2634913) : 214 vs 242 8 image o5464g0305o.230459.cm.123795.smf[XY21.hdr] (2635758) : 232 vs 257 9 image o5465g0306o.231171.cm.124201.smf[XY01.hdr] (2654941) : 0 vs 494 10 image o5465g0306o.231171.cm.124201.smf[XY02.hdr] (2654942) : 10 vs 813 11 image o5465g0306o.231171.cm.124201.smf[XY10.hdr] (2654947) : 0 vs 534 12 image o5465g0306o.231171.cm.124201.smf[XY11.hdr] (2654948) : 0 vs 447 13 */ 2 14 3 15 int *ReadDeleteListExternID(char *filename, int *nindex) { … … 81 93 82 94 /* Delete List Format: 83 image o5252g0035o.140669.cm.51017.smf[XY11.hdr] (219974) : 368 vs 375 84 image o5252g0051o.140685.cm.51123.smf[XY11.hdr] (226417) : 350 vs 356 85 image o5399g0207o.194950.cm.98351.smf[XY46.hdr] (1683277) : 10341 vs 10347 86 image o5464g0284o.230438.cm.123774.smf[XY21.hdr] (2634913) : 214 vs 242 87 image o5464g0305o.230459.cm.123795.smf[XY21.hdr] (2635758) : 232 vs 257 88 image o5465g0306o.231171.cm.124201.smf[XY01.hdr] (2654941) : 0 vs 494 89 image o5465g0306o.231171.cm.124201.smf[XY02.hdr] (2654942) : 10 vs 813 90 image o5465g0306o.231171.cm.124201.smf[XY10.hdr] (2654947) : 0 vs 534 91 image o5465g0306o.231171.cm.124201.smf[XY11.hdr] (2654948) : 0 vs 447 95 duplicate 78853625 2 96 duplicate 78853626 2 97 duplicate 78853627 2 92 98 */ 93 99 100 int *ReadDeleteListExternID_v2(char *filename, int *nindex) { 101 102 int j, index, Nindex, NINDEX, *indexList, Nline; 103 int Nstart, Nbytes, Nread, status; 104 char *c0, *c1, *space, *buffer; 105 106 char *indexPoint = NULL; 107 FILE *f = fopen (filename, "r"); 108 myAssert(f, "failed to open delete list"); 109 110 Nindex = 0; 111 NINDEX = 1000; 112 ALLOCATE(indexList, int, NINDEX); 113 114 ALLOCATE (buffer, char, 0x10001); 115 bzero (buffer, 0x10001); 116 117 Nstart = 0; 118 Nline = 0; 119 while (1) { 120 Nbytes = 0x10000 - Nstart; 121 bzero (&buffer[Nstart], Nbytes); 122 Nread = fread (&buffer[Nstart], 1, Nbytes, f); 123 if (ferror (f)) { 124 perror ("error reading data file"); 125 exit (1); 126 } 127 if (Nread == 0) break; // end of data 128 // nbytes = Nread + Nstart; 129 130 status = TRUE; 131 c0 = buffer; 132 while (status) { 133 // identify the range of the line 134 c1 = strchr (c0, '\n'); 135 if (c1 == (char *) NULL) { 136 Nstart = strlen (c0); 137 memmove (buffer, c0, Nstart); 138 break; 139 } else { 140 *c1 = 0; 141 } 142 if (*c0 == '#') goto next_line; 143 144 // confirm we have 3 fields broken by 2 spaces: 145 space = c0; // pointer to track the space-separated words 146 indexPoint = strchr(c0, ' '); // pointer to the ID on this line 147 148 for (j = 0; j < 3; j++) { 149 space = strchr(space, ' '); 150 if (!space) { 151 fprintf (stderr, "line only has %d word(s)\n", j + 1); 152 goto next_line; 153 } 154 space ++; 155 } 156 157 // save the value we have found: 158 index = atoi(indexPoint); 159 indexList[Nindex] = index; 160 161 fprintf (stderr, "index: %d, line: %s\n", index, c0); 162 163 Nindex ++; 164 if (Nindex == NINDEX) { 165 NINDEX += 1000; 166 REALLOCATE (indexList, int, NINDEX); 167 } 168 169 next_line: 170 Nline ++; 171 c0 = c1 + 1; 172 } 173 } 174 175 *nindex = Nindex; 176 return (indexList); 177 } 178 -
trunk/Ohana/src/dvomerge/src/dvorepair.c
r39225 r39281 19 19 if (!strcmp(argv[1], "-delete-image-list")) dvorepairDeleteImageList(argc, argv); 20 20 if (!strcmp(argv[1], "-delete-images-by-extern-id")) dvorepairDeleteImagesByExternID(argc, argv); 21 if (!strcmp(argv[1], "-delete-images-by-extern-id-v2")) dvorepairDeleteImagesByExternID_v2(argc, argv); 21 22 if (!strcmp(argv[1], "-fix-images")) dvorepairFixImages(argc, argv); 22 23 dvorepair_help(0, NULL);
Note:
See TracChangeset
for help on using the changeset viewer.
