220 # define mitkIpPicDEBUG 235 # include <windows.h> 236 extern DWORD ipWinFread(LPSTR ptr, DWORD size, DWORD n, FILE *stream);
246 #ifdef mitkIpPicDEBUG 253 #define mitkIpPicVERSION "PIC VERSION 3.00 " 254 #define mitkIpPicVERSIONe "PIC VERSION 3.00e " 255 #define _mitkIpPicNDIM 8 256 #define _mitkIpPicTAGLEN 32 259 #if (THIS_IS_BIG_ENDIAN) || defined (_IBMR2) || (mc68000) || (sun) || (__convex__) || (__hppa) || (_MIPSEB) || defined ( __PPC__) 260 # define _mitkIpENDIAN_IS_BIG 262 # define _mitkIpENDIAN_IS_LITTLE 266 #define mitkIpPicVersionMajor(pic) (mitkIpUInt1_t)(pic->info->version[12] - '0') 267 #define mitkIpPicVersionMinor(pic) (mitkIpUInt1_t)(10 * (pic->info->version[14]-'0' ) \ 268 + pic->info->version[15]-'0') 269 #define mitkIpPicEncryptionType(pic) (pic->info->version[16]) 275 #define mitkIpPicDR(type,len) (mitkIpUInt4_t)( ((type)<<16) + (len) ) 277 #define mitkIpPicFOR_TYPE( _ipPIC_TYPE, _ipPIC_CMD, _ipPIC_PIC) \ 278 _ipPIC_CMD(_ipPIC_TYPE,_ipPIC_PIC) 280 #define mitkIpPicFORALL( _ipPIC_CMD, _ipPIC_PIC ) \ 281 switch( mitkIpPicDR((_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe) ) \ 283 case mitkIpPicDR( mitkIpPicInt, 8 ): \ 284 _ipPIC_CMD(mitkIpInt1_t, _ipPIC_PIC); \ 286 case mitkIpPicDR( mitkIpPicUInt, 8 ): \ 287 _ipPIC_CMD(mitkIpUInt1_t, _ipPIC_PIC); \ 289 case mitkIpPicDR( mitkIpPicInt, 16 ): \ 290 _ipPIC_CMD(mitkIpInt2_t, _ipPIC_PIC); \ 292 case mitkIpPicDR( mitkIpPicUInt, 16 ): \ 293 _ipPIC_CMD(mitkIpUInt2_t, _ipPIC_PIC); \ 295 case mitkIpPicDR( mitkIpPicInt, 32 ): \ 296 _ipPIC_CMD(mitkIpInt4_t, _ipPIC_PIC); \ 298 case mitkIpPicDR( mitkIpPicUInt, 32 ): \ 299 _ipPIC_CMD(mitkIpUInt4_t, _ipPIC_PIC); \ 301 case mitkIpPicDR( mitkIpPicFloat, 32 ): \ 302 _ipPIC_CMD(mitkIpFloat4_t, _ipPIC_PIC); \ 304 case mitkIpPicDR( mitkIpPicFloat, 64 ): \ 305 _ipPIC_CMD(mitkIpFloat8_t, _ipPIC_PIC); \ 309 "sorry, %s: datatype (%i/%i) not supported for %s.\n", \ 310 __FILE__, (_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe, #_ipPIC_CMD ); \ 314 #define mitkIpPicFORALL_1( _ipPIC_CMD, _ipPIC_PIC, A1 ) \ 315 switch( mitkIpPicDR((_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe) ) \ 317 case mitkIpPicDR( mitkIpPicInt, 8 ): \ 318 _ipPIC_CMD(mitkIpInt1_t, _ipPIC_PIC, A1); \ 320 case mitkIpPicDR( mitkIpPicUInt, 8 ): \ 321 _ipPIC_CMD(mitkIpUInt1_t, _ipPIC_PIC, A1); \ 323 case mitkIpPicDR( mitkIpPicInt, 16 ): \ 324 _ipPIC_CMD(mitkIpInt2_t, _ipPIC_PIC, A1); \ 326 case mitkIpPicDR( mitkIpPicUInt, 16 ): \ 327 _ipPIC_CMD(mitkIpUInt2_t, _ipPIC_PIC, A1); \ 329 case mitkIpPicDR( mitkIpPicInt, 32 ): \ 330 _ipPIC_CMD(mitkIpInt4_t, _ipPIC_PIC, A1); \ 332 case mitkIpPicDR( mitkIpPicUInt, 32 ): \ 333 _ipPIC_CMD(mitkIpUInt4_t, _ipPIC_PIC, A1); \ 335 case mitkIpPicDR( mitkIpPicFloat, 32 ): \ 336 _ipPIC_CMD(mitkIpFloat4_t, _ipPIC_PIC, A1); \ 338 case mitkIpPicDR( mitkIpPicFloat, 64 ): \ 339 _ipPIC_CMD(mitkIpFloat8_t, _ipPIC_PIC, A1); \ 343 "sorry, %s: datatype (%i/%i) not supported for %s.\n", \ 344 __FILE__, (_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe, #_ipPIC_CMD ); \ 348 #define mitkIpPicFORALL_2( _ipPIC_CMD, _ipPIC_PIC, A1, A2 ) \ 349 switch( mitkIpPicDR((_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe) ) \ 351 case mitkIpPicDR( mitkIpPicInt, 8 ): \ 352 _ipPIC_CMD(mitkIpInt1_t, _ipPIC_PIC, A1, A2); \ 354 case mitkIpPicDR( mitkIpPicUInt, 8 ): \ 355 _ipPIC_CMD(mitkIpUInt1_t, _ipPIC_PIC, A1, A2); \ 357 case mitkIpPicDR( mitkIpPicInt, 16 ): \ 358 _ipPIC_CMD(mitkIpInt2_t, _ipPIC_PIC, A1, A2); \ 360 case mitkIpPicDR( mitkIpPicUInt, 16 ): \ 361 _ipPIC_CMD(mitkIpUInt2_t, _ipPIC_PIC, A1, A2); \ 363 case mitkIpPicDR( mitkIpPicInt, 32 ): \ 364 _ipPIC_CMD(mitkIpInt4_t, _ipPIC_PIC, A1, A2); \ 366 case mitkIpPicDR( mitkIpPicUInt, 32 ): \ 367 _ipPIC_CMD(mitkIpUInt4_t, _ipPIC_PIC, A1, A2); \ 369 case mitkIpPicDR( mitkIpPicFloat, 32 ): \ 370 _ipPIC_CMD(mitkIpFloat4_t, _ipPIC_PIC, A1, A2); \ 372 case mitkIpPicDR( mitkIpPicFloat, 64 ): \ 373 _ipPIC_CMD(mitkIpFloat8_t, _ipPIC_PIC, A1, A2); \ 377 "sorry, %s: datatype (%i/%i) not supported for %s.\n", \ 378 __FILE__, (_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe, #_ipPIC_CMD ); \ 382 #define mitkIpPicFORALL_3( _ipPIC_CMD, _ipPIC_PIC, A1, A2, A3 ) \ 383 switch( mitkIpPicDR((_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe) ) \ 385 case mitkIpPicDR( mitkIpPicInt, 8 ): \ 386 _ipPIC_CMD(mitkIpInt1_t, _ipPIC_PIC, A1, A2, A3); \ 388 case mitkIpPicDR( mitkIpPicUInt, 8 ): \ 389 _ipPIC_CMD(mitkIpUInt1_t, _ipPIC_PIC, A1, A2, A3); \ 391 case mitkIpPicDR( mitkIpPicInt, 16 ): \ 392 _ipPIC_CMD(mitkIpInt2_t, _ipPIC_PIC, A1, A2, A3); \ 394 case mitkIpPicDR( mitkIpPicUInt, 16 ): \ 395 _ipPIC_CMD(mitkIpUInt2_t, _ipPIC_PIC, A1, A2, A3); \ 397 case mitkIpPicDR( mitkIpPicInt, 32 ): \ 398 _ipPIC_CMD(mitkIpInt4_t, _ipPIC_PIC, A1, A2, A3); \ 400 case mitkIpPicDR( mitkIpPicUInt, 32 ): \ 401 _ipPIC_CMD(mitkIpUInt4_t, _ipPIC_PIC, A1, A2, A3); \ 403 case mitkIpPicDR( mitkIpPicFloat, 32 ): \ 404 _ipPIC_CMD(mitkIpFloat4_t, _ipPIC_PIC, A1, A2, A3); \ 406 case mitkIpPicDR( mitkIpPicFloat, 64 ): \ 407 _ipPIC_CMD(mitkIpFloat8_t, _ipPIC_PIC, A1, A2, A3); \ 411 "sorry, %s: datatype (%i/%i) not supported for %s.\n", \ 412 __FILE__, (_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe, #_ipPIC_CMD ); \ 416 #define mitkIpPicFORALL_4( _ipPIC_CMD, _ipPIC_PIC, A1, A2, A3, A4 ) \ 417 switch( mitkIpPicDR((_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe) ) \ 419 case mitkIpPicDR( mitkIpPicInt, 8 ): \ 420 _ipPIC_CMD(mitkIpInt1_t, _ipPIC_PIC, A1, A2, A3, A4); \ 422 case mitkIpPicDR( mitkIpPicUInt, 8 ): \ 423 _ipPIC_CMD(mitkIpUInt1_t, _ipPIC_PIC, A1, A2, A3, A4); \ 425 case mitkIpPicDR( mitkIpPicInt, 16 ): \ 426 _ipPIC_CMD(mitkIpInt2_t, _ipPIC_PIC, A1, A2, A3, A4); \ 428 case mitkIpPicDR( mitkIpPicUInt, 16 ): \ 429 _ipPIC_CMD(mitkIpUInt2_t, _ipPIC_PIC, A1, A2, A3, A4); \ 431 case mitkIpPicDR( mitkIpPicInt, 32 ): \ 432 _ipPIC_CMD(mitkIpInt4_t, _ipPIC_PIC, A1, A2, A3, A4); \ 434 case mitkIpPicDR( mitkIpPicUInt, 32 ): \ 435 _ipPIC_CMD(mitkIpUInt4_t, _ipPIC_PIC, A1, A2, A3, A4); \ 437 case mitkIpPicDR( mitkIpPicFloat, 32 ): \ 438 _ipPIC_CMD(mitkIpFloat4_t, _ipPIC_PIC, A1, A2, A3, A4); \ 440 case mitkIpPicDR( mitkIpPicFloat, 64 ): \ 441 _ipPIC_CMD(mitkIpFloat8_t, _ipPIC_PIC, A1, A2, A3, A4); \ 445 "sorry, %s: datatype (%i/%i) not supported for %s.\n", \ 446 __FILE__, (_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe, #_ipPIC_CMD ); \ 450 #define mitkIpPicFORALL_5( _ipPIC_CMD, _ipPIC_PIC, A1, A2, A3, A4, A5 ) \ 451 switch( mitkIpPicDR((_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe) ) \ 453 case mitkIpPicDR( mitkIpPicInt, 8 ): \ 454 _ipPIC_CMD(mitkIpInt1_t, _ipPIC_PIC, A1, A2, A3, A4, A5); \ 456 case mitkIpPicDR( mitkIpPicUInt, 8 ): \ 457 _ipPIC_CMD(mitkIpUInt1_t, _ipPIC_PIC, A1, A2, A3, A4, A5); \ 459 case mitkIpPicDR( mitkIpPicInt, 16 ): \ 460 _ipPIC_CMD(mitkIpInt2_t, _ipPIC_PIC, A1, A2, A3, A4, A5); \ 462 case mitkIpPicDR( mitkIpPicUInt, 16 ): \ 463 _ipPIC_CMD(mitkIpUInt2_t, _ipPIC_PIC, A1, A2, A3, A4, A5); \ 465 case mitkIpPicDR( mitkIpPicInt, 32 ): \ 466 _ipPIC_CMD(mitkIpInt4_t, _ipPIC_PIC, A1, A2, A3, A4, A5); \ 468 case mitkIpPicDR( mitkIpPicUInt, 32 ): \ 469 _ipPIC_CMD(mitkIpUInt4_t, _ipPIC_PIC, A1, A2, A3, A4, A5); \ 471 case mitkIpPicDR( mitkIpPicFloat, 32 ): \ 472 _ipPIC_CMD(mitkIpFloat4_t, _ipPIC_PIC, A1, A2, A3, A4, A5); \ 474 case mitkIpPicDR( mitkIpPicFloat, 64 ): \ 475 _ipPIC_CMD(mitkIpFloat8_t, _ipPIC_PIC, A1, A2, A3, A4, A5); \ 479 "sorry, %s: datatype (%i/%i) not supported for %s.\n", \ 480 __FILE__, (_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe, #_ipPIC_CMD ); \ 484 #define mitkIpPicFORALL_6( _ipPIC_CMD, _ipPIC_PIC, A1, A2, A3, A4, A5, A6 ) \ 485 switch( mitkIpPicDR((_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe) ) \ 487 case mitkIpPicDR( mitkIpPicInt, 8 ): \ 488 _ipPIC_CMD(mitkIpInt1_t, _ipPIC_PIC, A1, A2, A3, A4, A5, A6); \ 490 case mitkIpPicDR( mitkIpPicUInt, 8 ): \ 491 _ipPIC_CMD(mitkIpUInt1_t, _ipPIC_PIC, A1, A2, A3, A4, A5, A6); \ 493 case mitkIpPicDR( mitkIpPicInt, 16 ): \ 494 _ipPIC_CMD(mitkIpInt2_t, _ipPIC_PIC, A1, A2, A3, A4, A5, A6); \ 496 case mitkIpPicDR( mitkIpPicUInt, 16 ): \ 497 _ipPIC_CMD(mitkIpUInt2_t, _ipPIC_PIC, A1, A2, A3, A4, A5, A6); \ 499 case mitkIpPicDR( mitkIpPicInt, 32 ): \ 500 _ipPIC_CMD(mitkIpInt4_t, _ipPIC_PIC, A1, A2, A3, A4, A5, A6); \ 502 case mitkIpPicDR( mitkIpPicUInt, 32 ): \ 503 _ipPIC_CMD(mitkIpUInt4_t, _ipPIC_PIC, A1, A2, A3, A4, A5, A6); \ 505 case mitkIpPicDR( mitkIpPicFloat, 32 ): \ 506 _ipPIC_CMD(mitkIpFloat4_t, _ipPIC_PIC, A1, A2, A3, A4, A5, A6); \ 508 case mitkIpPicDR( mitkIpPicFloat, 64 ): \ 509 _ipPIC_CMD(mitkIpFloat8_t, _ipPIC_PIC, A1, A2, A3, A4, A5, A6); \ 513 "sorry, %s: datatype (%i/%i) not supported for %s.\n", \ 514 __FILE__, (_ipPIC_PIC)->type, (_ipPIC_PIC)->bpe, #_ipPIC_CMD ); \ 518 #define _mitkIpPicGET_PIXEL(TYPE,PIC,X,Y,RESULT) \ 520 TYPE* data = (TYPE *) (PIC)->data \ 521 + (X) + (Y) * (PIC)->n[0]; \ 525 #define _mitkIpPicPUT_PIXEL(TYPE,PIC,X,Y,VALUE) \ 527 TYPE* data = (TYPE *) (PIC)->data \ 528 + (X) + (Y) * (PIC)->n[0]; \ 532 #define mitkIpPicGET_PIXEL(PIC,X,Y,RESULT) \ 534 mitkIpPicFORALL_3(_mitkIpPicGET_PIXEL,PIC,X,Y,RESULT); \ 537 #define mitkIpPicPUT_PIXEL(PIC,X,Y,RESULT) \ 539 mitkIpPicFORALL_3(_mitkIpPicPUT_PIXEL,PIC,X,Y,RESULT); \ 542 #define _mitkIpPicGET_PIXEL_RGB(TYPE,PIC,X,Y,R,G,B) \ 544 mitkIpUInt4_t skip = (PIC)->n[0] * (PIC)->n[1]; \ 545 TYPE* data = (TYPE *) (PIC)->data + (X) + (Y) * (PIC)->n[0]; \ 547 G = *(data + skip); \ 548 B = *(data + skip + skip); \ 551 #define _mitkIpPicPUT_PIXEL_RGB(TYPE,PIC,X,Y,R,G,B) \ 553 mitkIpUInt4_t skip = (PIC)->n[0] * (PIC)->n[1]; \ 554 TYPE* data = (TYPE *) (PIC)->data + (X) + (Y) * (PIC)->n[0]; \ 556 *(data + skip) = (G); \ 557 *(data + skip + skip) = (B); \ 560 #define mitkIpPicGET_PIXEL_RGB(PIC,X,Y,R,G,B) \ 562 mitkIpPicFORALL_5(_mitkIpPicGET_PIXEL_RGB,PIC,X,Y,R,G,B); \ 565 #define mitkIpPicPUT_PIXEL_RGB(PIC,X,Y,R,G,B) \ 567 mitkIpPicFORALL_5(_mitkIpPicPUT_PIXEL_RGB,PIC,X,Y,R,G,B); \ 573 # define mitkIpPicFile_t gzFile 574 # define mitkIpPicFOpen gzopen 575 # define mitkIpPicFTell gztell 576 # define mitkIpPicFSeek gzseek 577 # define mitkIpPicFRead(buf, bsize, count, file) gzread((file),(buf),((count)*(bsize))) 578 # define mitkIpPicFWrite _mitkIpPicFWrite 579 # define mitkIpPicFEOF gzeof 580 # define mitkIpPicFClose gzclose 581 # include "itk_zlib.h" 583 # define mitkIpPicFile_t gzFile 584 # define mitkIpPicFOpen gzopen 585 # define mitkIpPicFTell gztell 586 # define mitkIpPicFSeek gzseek 587 # define mitkIpPicFRead(buf, bsize, count, file) gzread((file),(buf),((count)*(bsize))) 588 # define mitkIpPicFWrite _mitkIpPicFWrite 589 # define mitkIpPicFEOF gzeof 590 # define mitkIpPicFClose gzclose 594 # define mitkIpPicFile_t FILE * 595 # define mitkIpPicFOpen fopen 596 # define mitkIpPicFTell ftell 597 # define mitkIpPicFSeek fseek 598 # define mitkIpPicFRead fread 599 # define mitkIpPicFWrite fwrite 600 # define mitkIpPicFEOF feof 601 # define mitkIpPicFClose fclose 605 #ifdef _mitkIpENDIAN_IS_LITTLE 606 # define mitkIpPicFReadLE mitkIpPicFRead 607 # define mitkIpPicFReadBE mitkIpPicFReadCvt 609 # define mitkIpPicFReadLE mitkIpPicFReadCvt 610 # define mitkIpPicFReadBE mitkIpPicFRead 613 #ifdef _mitkIpENDIAN_IS_LITTLE 614 # define mitkIpPicFWriteLE mitkIpPicFWrite 615 # define mitkIpPicFWriteBE mitkIpPicFWriteCvt 617 # define mitkIpPicFWriteLE mitkIpPicFWriteCvt 618 # define mitkIpPicFWriteBE mitkIpPicFWrite 622 #ifdef _mitkIpENDIAN_IS_LITTLE 623 # define mitkIpFReadLE fread 624 # define mitkIpFReadBE mitkIpFReadCvt 626 # define mitkIpFReadLE mitkIpFReadCvt 627 # define mitkIpFReadBE fread 630 #ifdef _mitkIpENDIAN_IS_LITTLE 631 # define mitkIpFWriteLE fwrite 632 # define mitkIpFWriteBE mitkIpFWriteCvt 634 # define mitkIpFWriteLE mitkIpFWriteCvt 635 # define mitkIpFWriteBE fwrite 640 # undef mitkIpFReadLE 641 # define mitkIpFReadLE fread 646 #ifdef _mitkIpENDIAN_IS_LITTLE 647 # define mitkIpCvtFromLE(data, len, bytes) 648 # define mitkIpCvtFromBE(data, len, bytes) _mitkIpCvtEndian( (data), (len), (bytes) ) 650 # define mitkIpCvtFromLE(data, len, bytes) _mitkIpCvtEndian( (data), (len), (bytes) ) 651 # define mitkIpCvtFromBE(data, len, bytes) 654 #ifdef _mitkIpENDIAN_IS_LITTLE 655 # define mitkIpCpFromLE(source, destination, len, bytes) _mitkIpCp( (source), (destination), (len) ) 656 # define mitkIpCpFromBE(source, destination, len, bytes) _mitkIpCpCvtEndian( (source), (destination), (len), (bytes) ) 658 # define mitkIpCpFromLE(source, destination, len, bytes) _mitkIpCpCvtEndian( (source), (destination), (len), (bytes) ) 659 # define mitkIpCpFromBE(source, destination, len, bytes) _mitkIpCp( (source), (destination), (len) ) 662 #ifdef _mitkIpENDIAN_IS_LITTLE 663 # define mitkIpCpToLE(source, destination, len, bytes) _mitkIpCp( (source), (destination), (len) ) 664 # define mitkIpCpToBE(source, destination, len, bytes) _mitkIpCpCvtEndian( (source), (destination), (len), (bytes) ) 666 # define mitkIpCpToLE(source, destination, len, bytes) _mitkIpCpCvtEndian( (source), (destination), (len), (bytes) ) 667 # define mitkIpCpToBE(source, destination, len, bytes) _mitkIpCp( (source), (destination), (len) ) 671 #define mitkIpEndianSwap2(x) ((((x) >> 8) & 0x00FF) | (((x) << 8) & 0xFF00)) 673 #define mitkIpEndianSwap4(x) ((((x) >> 24) & 0x000000FF) | (((x) << 24) & 0xFF000000)) \ 674 | ((((x) >> 8) & 0x0000FF00) | (((x) << 8) & 0x00FF0000)) 682 #ifdef _mitkIpENDIAN_IS_LITTLE 683 # define mitkIpInt2FromLE(from, to) *((mitkIpInt2_t *)(to)) = *((mitkIpInt2_t *)(from)) 684 # define mitkIpInt4FromLE(from, to) *((mitkIpInt4_t *)(to)) = *((mitkIpInt4_t *)(from)) 685 # define mitkIpUInt2FromLE(from, to) mitkIpInt2FromLE(from, to) 686 # define mitkIpUInt4FromLE(from, to) mitkIpInt4FromLE(from, to) 687 # define mitkIpFloat4FromLE(from, to) mitkIpInt4FromLE(from, to) 688 # define mitkIpFloat8FromLE(from, to) *((mitkIpFloat8_t *)(to)) = *((mitkIpFloat8_t *)(from)) 690 # define mitkIpInt2FromLE(from, to) ((char *)(to))[0] = ((char *)(from))[1]; \ 691 ((char *)(to))[1] = ((char *)(from))[0]; 693 # define mitkIpInt4FromLE(from, to) ((char *)(to))[0] = ((char *)(from))[3]; \ 694 ((char *)(to))[1] = ((char *)(from))[2]; \ 695 ((char *)(to))[2] = ((char *)(from))[1]; \ 696 ((char *)(to))[3] = ((char *)(from))[0]; 697 # define mitkIpUInt2FromLE(from, to) mitkIpInt2FromLE(from, to) 698 # define mitkIpUInt4FromLE(from, to) mitkIpInt4FromLE(from, to) 699 # define mitkIpFloat4FromLE(from, to) mitkIpInt4FromLE(from, to) 700 # define mitkIpFloat8FromLE(from, to) ((char *)(to))[0] = ((char *)(from))[7]; \ 701 ((char *)(to))[1] = ((char *)(from))[6]; \ 702 ((char *)(to))[2] = ((char *)(from))[5]; \ 703 ((char *)(to))[3] = ((char *)(from))[4]; \ 704 ((char *)(to))[4] = ((char *)(from))[3]; \ 705 ((char *)(to))[5] = ((char *)(from))[2]; \ 706 ((char *)(to))[6] = ((char *)(from))[1]; \ 707 ((char *)(to))[7] = ((char *)(from))[0]; 713 #define mitkIpInt2ToLE(from, to) mitkIpInt2FromLE(from, to) 714 #define mitkIpInt4ToLE(from, to) mitkIpInt4FromLE(from, to) 715 #define mitkIpUInt2ToLE(from, to) mitkIpUInt2FromLE(from, to) 716 #define mitkIpUInt4ToLE(from, to) mitkIpUInt4FromLE(from, to) 717 #define mitkIpFloat4ToLE(from, to) mitkIpFloat4FromLE(from, to) 718 #define mitkIpFloat8ToLE(from, to) mitkIpFloat8FromLE(from, to) 793 #if defined(__cplusplus) || defined(c_plusplus) 799 extern void _mitkIpCp(
void *source,
void *destination,
unsigned long int len );
800 extern void _mitkIpCvtEndian(
void *data,
unsigned long int len,
unsigned char bytes );
801 extern void _mitkIpCpCvtEndian(
void *source,
void *destination,
unsigned long int len,
unsigned char bytes );
810 extern size_t mitkIpFReadCvt(
void *ptr,
size_t size,
size_t nitems, FILE *stream );
811 extern size_t _mitkIpFWrite(
void *ptr,
size_t size,
size_t nitems, FILE *stream );
813 #define _mitkIpPicHAS_CAN_READ_COMPRESSED 817 #define _mitkIpPicHAS_CAN_WRITE_COMPRESSED 826 #
if defined(__cplusplus) || defined(c_plusplus)
880 #define _mitkIpPicInfoNORMAL 0 881 #define _mitkIpPicInfoSHORT (1 << 0) 887 #if defined(__cplusplus) || defined(c_plusplus) 894 #ifdef MITK_UNMANGLE_IPPIC 895 #include "mitkIpPicUnmangle.h" void _mitkIpPicWriteTagsMem(_mitkIpPicTagsElement_t *head, mitkIpUInt1_t **mem_ptr)
mitkIpBool_t _mitkIpPicCanReadCompressed
mitkIpPicTSV_t * mitkIpPicQuerySubTag(mitkIpPicTSV_t *parent, const char *t)
mitkIpUInt4_t _mitkIpPicTSVElements(mitkIpPicTSV_t *tsv)
mitkIpPicDescriptor * mitkIpPicGetHeader(const char *picfile_name, mitkIpPicDescriptor *pic)
void _mitkIpPicInfoPrintTags(FILE *stream, _mitkIpPicTagsElement_t *head, mitkIpUInt4_t level, mitkIpUInt4_t flags)
mitkIpPicTSV_t * mitkIpPicDelSubTag(mitkIpPicTSV_t *parent, const char *tag)
void _mitkIpCpCvtEndian(void *source, void *destination, unsigned long int len, unsigned char bytes)
struct mitkIpPicDescriptor mitkIpPicDescriptor
void _mitkIpPicInfo(FILE *stream, mitkIpPicDescriptor *pic, mitkIpUInt4_t flags)
void _mitkIpCvtEndian(void *data, unsigned long int len, unsigned char bytes)
void mitkIpPicAddSubTag(mitkIpPicTSV_t *parent, mitkIpPicTSV_t *tsv)
struct _mitkIpPicTagsElement_s _mitkIpPicTagsElement_t
mitkIpPicDescriptor * mitkIpPicGetTags(const char *picfile_name, mitkIpPicDescriptor *pic)
int mitkIpPicPut(const char *picfile_name, mitkIpPicDescriptor *pic)
_mitkIpPicTagsElement_t * _mitkIpPicFindTag(_mitkIpPicTagsElement_t *head, const char *tag)
mitkIpBool_t mitkIpPicSetWriteCompression(mitkIpBool_t compression)
mitkIpUInt4_t _mitkIpPicTSVSize(mitkIpPicTSV_t *tsv)
const char * mitkIpPicTypeName(mitkIpUInt4_t type)
_mitkIpPicTagsElement_t * _mitkIpPicCloneTags(_mitkIpPicTagsElement_t *head)
struct mitkIpPicDescriptor * lender
mitkIpBool_t mitkIpPicGetWriteCompression(void)
void mitkIpPicAddTag(mitkIpPicDescriptor *pic, mitkIpPicTSV_t *tsv)
mitkIpUInt1_t * mitkIpPicPutMem(mitkIpPicDescriptor *pic, int *mem_size)
vcl_size_t _mitkIpFWrite(void *ptr, vcl_size_t size, vcl_size_t nitems, FILE *stream)
_mitkIpPicTagsElement_t * tags_head
mitkIpPicDescriptor * mitkIpPicGetSlice(const char *picfile_name, mitkIpPicDescriptor *pic, mitkIpUInt4_t slice)
vcl_size_t mitkIpPicFReadCvt(void *ptr, vcl_size_t size, vcl_size_t nitems, gzFile stream)
mitkIpPicTSV_t * _mitkIpPicCloneTag(mitkIpPicTSV_t *source)
_mitkIpPicTagsElement_t * _mitkIpPicInsertTag(_mitkIpPicTagsElement_t *head, mitkIpPicTSV_t *tsv)
_mitkIpPicTagsElement_t * _mitkIpPicReadTagsMem(_mitkIpPicTagsElement_t *head, mitkIpUInt4_t bytes_to_read, mitkIpUInt1_t **mem_ptr, char encryption_type)
mitkIpUInt4_t _mitkIpPicSize(mitkIpPicDescriptor *pic)
void _mitkIpPicFreeTags(_mitkIpPicTagsElement_t *head)
void mitkIpPicClear(mitkIpPicDescriptor *pic)
void mitkIpPicFree(mitkIpPicDescriptor *pic)
mitkIpUInt4_t _mitkIpPicTagsSize(_mitkIpPicTagsElement_t *head)
mitkIpPicDescriptor * mitkIpPicGet(const char *picfile_name, mitkIpPicDescriptor *pic)
mitkIpPicDescriptor * _mitkIpPicOldGetHeader(FILE *infile, mitkIpPicDescriptor *pic)
mitkIpUInt4_t _mitkIpPicElements(mitkIpPicDescriptor *pic)
void mitkIpPicPutSlice(const char *picfile_name, mitkIpPicDescriptor *pic, mitkIpUInt4_t slice)
mitkIpPicDescriptor * _mitkIpPicOldGet(FILE *infile, mitkIpPicDescriptor *pic)
mitkIpPicDescriptor * mitkIpPicGetMem(mitkIpUInt1_t *mem_pic)
void _mitkIpPicWriteTags(_mitkIpPicTagsElement_t *head, FILE *stream, char encryption_type)
vcl_size_t mitkIpFReadCvt(void *ptr, vcl_size_t size, vcl_size_t nitems, FILE *stream)
mitkIpPicTSV_t * mitkIpPicQueryTag(mitkIpPicDescriptor *pic, const char *t)
void mitkIpPicFreeTag(mitkIpPicTSV_t *tsv)
mitkIpPicDescriptor * mitkIpPicCopyHeader(mitkIpPicDescriptor *pic, mitkIpPicDescriptor *pic_new)
mitkIpPicDescriptor * mitkIpPicClone(mitkIpPicDescriptor *pic)
mitkIpPicDescriptor * _mitkIpPicOldGetSlice(FILE *infile, mitkIpPicDescriptor *pic, mitkIpUInt4_t slice)
void _mitkIpCp(void *source, void *destination, unsigned long int len)
_mitkIpEndian_t _mitkIpEndian(void)
gzFile _mitkIpPicOpenPicFileIn(const char *path)
mitkIpBool_t write_protect
mitkIpBool_t _mitkIpPicCanWriteCompressed
mitkIpPicTSV_t * mitkIpPicDelTag(mitkIpPicDescriptor *pic, const char *tag)
mitkIpPicDescriptor * mitkIpPicNew(void)
vcl_size_t mitkIpPicFWriteCvt(void *ptr, vcl_size_t size, vcl_size_t nitems, gzFile stream)
mitkIpUInt4_t _mitkIpPicTagsNumber(_mitkIpPicTagsElement_t *head)
mitkIpPicDescriptor * _mitkIpPicCopySlice(mitkIpPicDescriptor *pic, mitkIpPicDescriptor *pic_in, mitkIpUInt4_t slice)
int mitkIpPicAccess(const char *path, int mode)
int mitkIpPicRemoveFile(const char *path)
_mitkIpPicTagsElement_t * _mitkIpPicReadTags(_mitkIpPicTagsElement_t *head, mitkIpUInt4_t bytes_to_read, FILE *stream, char encryption_type)