IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 39281 for trunk


Ignore:
Timestamp:
Dec 16, 2015, 4:24:31 PM (11 years ago)
Author:
eugene
Message:

adding delete images by extern ID, version 2

Location:
trunk/Ohana/src/dvomerge
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/dvomerge/Makefile

    r39225 r39281  
    129129$(SRC)/dvorepairDeleteImageList.$(ARCH).o \
    130130$(SRC)/dvorepairDeleteImagesByExternID.$(ARCH).o \
    131 $(SRC)/dvorepairDeleteImagesByExternID.$(ARCH).o \
     131$(SRC)/dvorepairDeleteImagesByExternID_v2.$(ARCH).o \
    132132$(SRC)/dvorepairFixImages.$(ARCH).o \
    133133$(SRC)/dvorepair_by_objID.$(ARCH).o \
  • trunk/Ohana/src/dvomerge/include/dvomerge.h

    r39225 r39281  
    246246int *ReadDeleteListExternID(char *filename, int *nindex);
    247247
     248int dvorepairDeleteImagesByExternID_v2 (int argc, char **argv);
     249int *ReadDeleteListExternID_v2(char *filename, int *nindex);
     250
    248251void replace_tycho_init ();
    249252int  replace_tycho (Average *averageInp, Measure *measureInp, off_t *next_meas, Average *averageOut, Measure *measureOut);
  • trunk/Ohana/src/dvomerge/src/ReadDeleteListExternID.c

    r38986 r39281  
    11# 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*/
    214
    315int *ReadDeleteListExternID(char *filename, int *nindex) {
     
    8193
    8294/* 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
    9298*/
    9399
     100int *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  
    1919  if (!strcmp(argv[1], "-delete-image-list")) dvorepairDeleteImageList(argc, argv);
    2020  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);
    2122  if (!strcmp(argv[1], "-fix-images")) dvorepairFixImages(argc, argv);
    2223  dvorepair_help(0, NULL);
Note: See TracChangeset for help on using the changeset viewer.