-
- long im_size = h.height * h.width * h.frame;
- long frame_size = h.height * h.width;
- short *dataRF, *ptrRF;
- char *dataB8, *ptrB8;
- int *dataB32, *ptrB32;
- vtkImageData* im;
- int temp;
-
- switch (h.type)
- {
- case TYPE_RF:
- dataRF = (short*)malloc(sizeof(short)*im_size);
- ptrRF = dataRF;
-
- for (int k=0; k<h.frame; k++)
- {
- int frame_number;
- fread(&frame_number,sizeof(int),1,Ultrasonix_file);
- fread(ptrRF,sizeof(short),frame_size,Ultrasonix_file);
- ptrRF += frame_size;
- }
- fclose(Ultrasonix_file);
-
- im = crea::NewVtkImageDataFromRaw( dataRF, h.width, h.height, h.frame);
- break;
-
- case TYPE_B8:
- dataB8 = (char*)malloc(sizeof(char)*im_size);
- ptrB8 = dataB8;
- for (int k=0; k<h.frame; k++)
- {
- fread(ptrB8,sizeof(char),frame_size,Ultrasonix_file);
- ptrB8 += frame_size;
- }
- // in mode b frames width and height are inverted
- temp = h.width;
- h.width = h.height;
- h.height = temp;
-
- fclose(Ultrasonix_file);
-
- im = crea::NewVtkImageDataFromRaw( dataB8, h.width, h.height, h.frame);
- break;
-
- case TYPE_B32:
- dataB32 = (int*)malloc(sizeof(int)*im_size);
- ptrB32 = dataB32;
- for (int k=0; k<h.frame; k++)
- {
- fread(ptrB32,sizeof(int),frame_size,Ultrasonix_file);
- ptrB32 += frame_size;
- }
- // in B mode frames width and height are inverted
- temp = h.width;
- h.width = h.height;
- h.height = temp;
-
- fclose(Ultrasonix_file);
-
- im = crea::NewVtkImageDataFromRaw( dataB32, h.width, h.height, h.frame);
- break;
- }