OSDN Git Service

modified: src/Objects/DataManip/dmFile/src/ldm2mrc.c
authorTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Fri, 1 Apr 2016 09:15:36 +0000 (18:15 +0900)
committerTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Fri, 1 Apr 2016 09:15:36 +0000 (18:15 +0900)
src/Objects/DataManip/dmFile/src/Image [new file with mode: 0644]
src/Objects/DataManip/dmFile/src/ldm2mrc.c

diff --git a/src/Objects/DataManip/dmFile/src/Image b/src/Objects/DataManip/dmFile/src/Image
new file mode 100644 (file)
index 0000000..5ec8d98
--- /dev/null
@@ -0,0 +1,50 @@
+ldm2mrc.c:                             for(j=0; j<curDir->numberOfTags; j++) {                         
+ldm2mrc.c:                                     DEBUGPRINT2("curDir: %d: %s\n", j, curDir->Tags[j].tagName);
+ldm2mrc.c:                                     SSWITCH(curDir->Tags[j].tagName)
+ldm2mrc.c:                                                     curImage->HeaderN.x = ((dmFileInteger4*)curDir->Tags[j].tagDir->Tags[0].value)[0];
+ldm2mrc.c:                                                     curImage->HeaderN.y = ((dmFileInteger4*)curDir->Tags[j].tagDir->Tags[1].value)[0];                              
+ldm2mrc.c:                                                     if(3==curDir->Tags[j].tagDir->numberOfTags) {
+ldm2mrc.c:                                                             curImage->HeaderN.z = ((dmFileInteger4*)curDir->Tags[j].tagDir->Tags[2].value)[0];                              
+ldm2mrc.c:                                                     DEBUGPRINT5("%d: %s: %u %u %u\n", mode, curDir->Tags[j].tagName, curImage->HeaderN.x, curImage->HeaderN.y, curImage->HeaderN.z);
+ldm2mrc.c:                                                     for(k=0; k<curDir->Tags[j].tagDir->numberOfTags; k++) {                         
+ldm2mrc.c:                                                             SSWITCH(curDir->Tags[j].tagDir->Tags[k].tagName) 
+ldm2mrc.c:                                                                             if(0==strncmp(curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[2].value, "nm", 2)) {
+ldm2mrc.c:                                                                                     curImage->HeaderLength.x = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[1].value)[0]*10;
+ldm2mrc.c:                                                                                     dmFileValuePrint(stderr, curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[2].value, dmFileTagDataTypeUInt2, 2);
+ldm2mrc.c:                                                                                     curImage->HeaderLength.x = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[1].value)[0]*10;
+ldm2mrc.c:                                                                             if(0==strncmp(curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[2].value, "nm", 2)) {
+ldm2mrc.c:                                                                                     curImage->HeaderLength.y = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[1].value)[0]*10;
+ldm2mrc.c:                                                                                     dmFileValuePrint(stderr, curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[2].value, dmFileTagDataTypeUInt2, 2);
+ldm2mrc.c:                                                                                     curImage->HeaderLength.y = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[1].value)[0]*10;
+ldm2mrc.c:                             for(j=0; j<curDir->numberOfTags; j++) {                         
+ldm2mrc.c:                                     DEBUGPRINT2("curDir: %d: %s\n", j, curDir->Tags[j].tagName);
+ldm2mrc.c:                                     SSWITCH(curDir->Tags[j].tagName)
+ldm2mrc.c:                                                     switch(curDir->Tags[j].info[1]) {
+ldm2mrc.c:                                                                     curImage->Image = curDir->Tags[j].value;
+ldm2mrc.c:                                                                             curImage->ImageCharImage[k] = (unsigned char)((((unsigned int*)curDir->Tags[j].value)[k])&0xff);
+ldm2mrc.c:                                                                     fprintf(stderr, "Not supported mode[Not Real4|Int4|Int2]: %d\n", curDir->Tags[j].info[1]);
+ldm2mrc.c:                             for(j=0; j<curDir->numberOfTags; j++) {                         
+ldm2mrc.c:                                     DEBUGPRINT2("curDir: %d: %s\n", j, curDir->Tags[j].tagName);
+ldm2mrc.c:                                     SSWITCH(curDir->Tags[j].tagName)
+ldm2mrc.c:                                                     curImage->HeaderN.x = ((dmFileInteger4*)curDir->Tags[j].tagDir->Tags[0].value)[0];
+ldm2mrc.c:                                                     curImage->HeaderN.y = ((dmFileInteger4*)curDir->Tags[j].tagDir->Tags[1].value)[0];                              
+ldm2mrc.c:                                                     if(3==curDir->Tags[j].tagDir->numberOfTags) {
+ldm2mrc.c:                                                             curImage->HeaderN.z = ((dmFileInteger4*)curDir->Tags[j].tagDir->Tags[2].value)[0];                              
+ldm2mrc.c:                                                     DEBUGPRINT5("%d: %s: %u %u %u\n", mode, curDir->Tags[j].tagName, curImage->HeaderN.x, curImage->HeaderN.y, curImage->HeaderN.z);
+ldm2mrc.c:                                                     for(k=0; k<curDir->Tags[j].tagDir->numberOfTags; k++) {                         
+ldm2mrc.c:                                                             SSWITCH(curDir->Tags[j].tagDir->Tags[k].tagName) 
+ldm2mrc.c:                                                                             if(0==strncmp(curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[2].value, "nm", 2)) {
+ldm2mrc.c:                                                                                     curImage->HeaderLength.x = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[1].value)[0]*10;
+ldm2mrc.c:                                                                                     dmFileValuePrint(stderr, curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[2].value, dmFileTagDataTypeUInt2, 2);
+ldm2mrc.c:                                                                                     curImage->HeaderLength.x = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[1].value)[0]*10;
+ldm2mrc.c:                                                                             if(0==strncmp(curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[2].value, "nm", 2)) {
+ldm2mrc.c:                                                                                     curImage->HeaderLength.y = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[1].value)[0]*10;
+ldm2mrc.c:                                                                                     dmFileValuePrint(stderr, curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[2].value, dmFileTagDataTypeUInt2, 2);
+ldm2mrc.c:                                                                                     curImage->HeaderLength.y = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[1].value)[0]*10;
+ldm2mrc.c:                             for(j=0; j<curDir->numberOfTags; j++) {                         
+ldm2mrc.c:                                     DEBUGPRINT2("curDir: %d: %s\n", j, curDir->Tags[j].tagName);
+ldm2mrc.c:                                     SSWITCH(curDir->Tags[j].tagName)
+ldm2mrc.c:                                                     switch(curDir->Tags[j].info[1]) {
+ldm2mrc.c:                                                                     curImage->Image = curDir->Tags[j].value;
+ldm2mrc.c:                                                                             curImage->ImageCharImage[k] = (unsigned char)((((unsigned int*)curDir->Tags[j].value)[k])&0xff);
+ldm2mrc.c:                                                                     fprintf(stderr, "Not supported mode: %lld\n", curDir->Tags[j].info[1]);
index bf82f47..1eeec5f 100644 (file)
@@ -45,7 +45,7 @@ ldm2mrc(mrcImage* mrc, dmFile* dm, int mode)
                        break;
                }
                default: {
-                       fprintf(stderr, "Not supported mode in ldm2mrc: %d\n");
+                       fprintf(stderr, "Not supported mode in ldm2mrc: %d\n", mode);
                        exit(EXIT_FAILURE);
                }
        }
@@ -132,14 +132,14 @@ dmFile3TagDirectory2mrc(dmFile* dm, dmFile3TagDirectory tagDir, int layer, int m
                                                                                if(0==strncmp(curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[2].value, "nm", 2)) {
                                                                                        curImage->HeaderLength.x = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[1].value)[0]*10;
                                                                                } else {
-                                                                                       fprintf(stderr, "Not supported units: "); 
+                                                                                       fprintf(stderr, "Not supported units[0]: "); 
                                                                                        dmFileValuePrint(stderr, curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[2].value, dmFileTagDataTypeUInt2, 2);
                                                                                        curImage->HeaderLength.x = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[1].value)[0]*10;
                                                                                }
                                                                                if(0==strncmp(curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[2].value, "nm", 2)) {
                                                                                        curImage->HeaderLength.y = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[1].value)[0]*10;
                                                                                } else {
-                                                                                       fprintf(stderr, "Not supported units: "); 
+                                                                                       fprintf(stderr, "Not supported units[1]: "); 
                                                                                        dmFileValuePrint(stderr, curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[2].value, dmFileTagDataTypeUInt2, 2);
                                                                                        curImage->HeaderLength.y = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[1].value)[0]*10;
                                                                                }
@@ -181,8 +181,15 @@ dmFile3TagDirectory2mrc(dmFile* dm, dmFile3TagDirectory tagDir, int layer, int m
                                                                        }
                                                                        break;
                                                                }
+                                                               case  dmFileTagDataTypeInt2: {  
+                                                                       DEBUGPRINT1("Thumnail Transform: %d\n", curImage->HeaderN.x*curImage->HeaderN.y*curImage->HeaderN.z);
+                                                                       curImage->HeaderMode = mrcShortImage; 
+                                                                       curImage->Image = curDir->Tags[j].value;
+                                                                       curImage->ImageShortImage = (unsigned short*)curImage->Image;
+                                                                       break;
+                                                               }
                                                                default: {
-                                                                       fprintf(stderr, "Not supported mode: %d\n", curDir->Tags[j].info[0]);
+                                                                       fprintf(stderr, "Not supported mode[Not Real4|Int4|Int2]: %d\n", curDir->Tags[j].info[1]);
                                                                        exit(EXIT_FAILURE);
                                                                }
                                                        }
@@ -285,14 +292,14 @@ dmFile4TagDirectory2mrc(dmFile* dm, dmFile4TagDirectory tagDir, int layer, int m
                                                                                if(0==strncmp(curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[2].value, "nm", 2)) {
                                                                                        curImage->HeaderLength.x = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[1].value)[0]*10;
                                                                                } else {
-                                                                                       fprintf(stderr, "Not supported units: "); 
+                                                                                       fprintf(stderr, "Not supported units[0]: "); 
                                                                                        dmFileValuePrint(stderr, curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[2].value, dmFileTagDataTypeUInt2, 2);
                                                                                        curImage->HeaderLength.x = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[0].tagDir->Tags[1].value)[0]*10;
                                                                                }
                                                                                if(0==strncmp(curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[2].value, "nm", 2)) {
                                                                                        curImage->HeaderLength.y = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[1].value)[0]*10;
                                                                                } else {
-                                                                                       fprintf(stderr, "Not supported units: "); 
+                                                                                       fprintf(stderr, "Not supported units[1]: "); 
                                                                                        dmFileValuePrint(stderr, curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[2].value, dmFileTagDataTypeUInt2, 2);
                                                                                        curImage->HeaderLength.y = ((float*)curDir->Tags[j].tagDir->Tags[k].tagDir->Tags[1].tagDir->Tags[1].value)[0]*10;
                                                                                }
@@ -335,7 +342,7 @@ dmFile4TagDirectory2mrc(dmFile* dm, dmFile4TagDirectory tagDir, int layer, int m
                                                                        break;
                                                                }
                                                                default: {
-                                                                       fprintf(stderr, "Not supported mode: %lld\n", curDir->Tags[j].info[0]);
+                                                                       fprintf(stderr, "Not supported mode: %lld\n", curDir->Tags[j].info[1]);
                                                                        exit(EXIT_FAILURE);
                                                                }
                                                        }