#include <string.h>
#include "idio.h"
#include "idprint.h"
#include "idacr-private.h"
#include "iddcm.h"
#include <stdio.h>
#include <stdlib.h>
#include "idgen.h"
#include "idsig.h"
#include "idcnt.h"
#include "idima.h"
#include "idvol.h"
#include "idseq.h"
#include "idacr.h"
#include "idacr-restricted.h"
#include "iderr.h"
Go to the source code of this file.
Defines | |
#define | CCS(Type) |
#define | CCC(Type) |
#define | CCC2(Type) |
#define | CCI(Type, TailleType) |
#define | CCV(Type) |
#define | CCQ(Type) |
Functions | |
int | _IdAcrRecupLgr (FILE *fp, int *) |
recupere la longueur d'un champ DICOM. (le fichier doit deja avoir ete ouvert, _IdAcrCheckSwap(FILE * fp) avoir ete appelle) et la partie 'group' ainsi que la partie 'elem' de l'acr_element doivent avoir ete lues. | |
int | _IdAcrIsAcrLibido (FILE *fp, char *bufbid) |
short int | SWAP_SHORT (short int) |
long int | SWAP_LONG (long int) |
void * | IdAcrReadFileIntoVector (char *filename, int type, int premIm, int dernIm, void *vector) |
Lecture d'un fichier (IMAGE) ACR/DICOM dans un Vecteur existant deja. | |
int | IdAcrInquireInfoTot4 (char *filename, unsigned short int *typObj, unsigned short int *typLibido, unsigned short int *typData, int *NX, int *NY, int *NZ, int *NT, int *offset, int *nbFrames, int *codeSwap, int *bitsAllocated, int *bitsStored, int *highBit, int *signe) |
Retourne diverses info stockees dans l'entete ACRNEMA ou DICOM. | |
long | _IdAcrGetPixelOffset (FILE *fp) |
long | IdAcrGetPixelOffsetFromFile (char *filename) |
Retourne l'offset pour atteindre le groupe des Pixels stocke dans l'entete ACRNEMA ou DICOM. | |
void * | IdAcrReadFile (char *filename, int type) |
Lecture d'un fichier de type ACR NEMA ou DICOM. | |
void * | IdDcmCVReadFile (char *filename, int type, int numPremIm, int numDernIm) |
Lecture d'un fichier de type ACR/DICOM dans un vecteur existant deja. | |
ACR_ELEMENT * | IdAcrInquireHeader (char *filename, int mode) |
Retourne TOUTES les info sur l'objet stocke dans un fichier ACRNEMA. sous forme d'une liste d'ACR_ELEMENT. la 'valeur' de chaque element est suivie d'un ZERO binaire, car il est IMPOSSIBLE ( pour IdAcrInquireHeader) de savoir, dans le cas d'un element d'un groupe prive (impair), si un element de longueur 2 est un UNSIGNED SHORT INT ou un CHAR *... si un element de longueur 4 est un UNSIGNED LONG ou un CHAR *... | |
short int | _IdAcrCheckType (FILE *fp, char *bufbid, int ity, int inb, int itypObj) |
int | IdAcrInquireInfo (char *filename, unsigned short int *typObj, unsigned short int *typData, int *NX, int *NY, int *NZ, int *offset) |
int | IdAcrInquireInfoTot (char *filename, unsigned short int *typObj, unsigned short int *typLibido, unsigned short int *typData, int *NX, int *NY, int *NZ, int *NT, int *offset) |
int | IdAcrInquireInfoTot2 (char *filename, unsigned short int *typObj, unsigned short int *typLibido, unsigned short int *typData, int *NX, int *NY, int *NZ, int *NT, int *offset, int *nbFrames) |
int | IdAcrInquireInfoTot3 (char *filename, unsigned short int *typObj, unsigned short int *typLibido, unsigned short int *typData, int *NX, int *NY, int *NZ, int *NT, int *offset, int *nbFrames, int *codeSwap) |
void | _IdAcrPositionSwap (FILE *fp) |
Variables | |
int | __ID_CardioVascCurieux |
int | __ID_offset |
int | __Papyrus |
unsigned short int | __NumeroGroupePrecedent |
int | __TrueDicom |
int | __ExplicitVR |
|
Value:
Definition at line 259 of file acrread.c. Referenced by IdDcmReadFileIntoVectorFromDcmHdr(). |
|
Value:
|
|
Value:
Definition at line 278 of file acrread.c. Referenced by IdDcmReadFileIntoVectorFromDcmHdr(). |
|
Value:
Definition at line 307 of file acrread.c. Referenced by IdDcmReadFileIntoVectorFromDcmHdr(). |
|
Value:
Definition at line 250 of file acrread.c. Referenced by IdDcmReadFileIntoVectorFromDcmHdr(). |
|
Value:
Definition at line 297 of file acrread.c. Referenced by IdDcmReadFileIntoVectorFromDcmHdr(). |
|
Definition at line 1079 of file acrread.c. References _IdAcrGetElementLength(), _IdAcrReadElement(), DEBUG, IdErrPrintf(), IdPrintf(), TA_TY_CHAR, TA_TY_COMPLEX_DOUBLE, TA_TY_DOUBLE, TA_TY_FLOAT, TA_TY_LONG, TA_TY_SHORT, TA_TY_UCHAR, TA_TY_ULONG, TA_TY_USHORT, TY_CHAR, TY_COMPLEX_DOUBLE, TY_DOUBLE, TY_FLOAT, TY_LONG, TY_RGB, TY_SHORT, TY_UCHAR, TY_ULONG, and TY_USHORT. Referenced by IdAcrInquireInfoTot4(). |
|
Definition at line 677 of file acrread.c. References __ID_CardioVascCurieux, __ID_offset, _IdAcrCheckSwap(), _IdAcrReadElement(), _IdAcrRecupLgr(), DEBUG, IdPrintf(), SEEK_CUR, SEEK_SET, and SWAP_SHORT(). Referenced by IdAcrGetPixelOffsetFromFile(), and IdAcrInquireInfoTot4(). |
|
Definition at line 1231 of file acrread.c. References __TrueDicom, and _IdAcrReadElement(). Referenced by IdAcrInquireInfoTot4(). |
|
Definition at line 1255 of file acrread.c. References _IdAcrCheckSwap(). |
|
recupere la longueur d'un champ DICOM. (le fichier doit deja avoir ete ouvert, _IdAcrCheckSwap(FILE * fp) avoir ete appelle) et la partie 'group' ainsi que la partie 'elem' de l'acr_element doivent avoir ete lues.
Definition at line 1060 of file acrutil.c. References __ExplicitVR, _ID_dicom_vr, DEBUG, IdPrintf(), SWAP_LONG(), and SWAP_SHORT(). |
|
Retourne l'offset pour atteindre le groupe des Pixels stocke dans l'entete ACRNEMA ou DICOM.
Definition at line 809 of file acrread.c. References _IdAcrGetPixelOffset(), ID_RFILE_BIN, and IdErrPrintf(). |
|
Retourne TOUTES les info sur l'objet stocke dans un fichier ACRNEMA. sous forme d'une liste d'ACR_ELEMENT. la 'valeur' de chaque element est suivie d'un ZERO binaire, car il est IMPOSSIBLE ( pour IdAcrInquireHeader) de savoir, dans le cas d'un element d'un groupe prive (impair), si un element de longueur 2 est un UNSIGNED SHORT INT ou un CHAR *... si un element de longueur 4 est un UNSIGNED LONG ou un CHAR *... L'utilisateur desirant connaitre connaitre la valeur d'un element particulier saura, en consultant le 'Conformance Statement' de l'imageur sur lequel il travaille le type de cet element. il procedera alors comme suit: unsigned short int gr =0x0010; .. par exemple .. unsigned short int num=0x0010; ACR_ELEMENT *elem=_IdAcrFindElement(liste,gr,num); uint32_t lgr = elem->length; Selon que : c'est un char * de lgr !=2, !=4 On l'utilisera directement : printf("%s\n",elem->value); c'est un char * de lgr =4 On le Swappera : *(long *)elem->value=SWAP_LONG((*(long*)elem->value)); printf("%s\n",elem->value); c'est un char * de lgr =2 On le Swappera : *(long *)elem->value=SWAP_SHORT((*(long*)elem->value)); printf("%s\n",elem->value); c'est un short int On le castera : unsigned short int x = *(short int *) elem->value; c'est un long int On le castera : unsigned long x = *(unsigned long *) elem->value;
Definition at line 1029 of file acrread.c. References __ID_CardioVascCurieux, __NumeroGroupePrecedent, _IdAcrAppendElement(), _IdAcrCheckSwap(), _IdAcrReadNextElement(), ACR_ELEMENT, acr_element::group, ID_RFILE_BIN, IDERR_NON_ACR_FILE, IdErrno, IdErrPrintf(), and SEEK_SET. |
|
Definition at line 1178 of file acrread.c. References IdAcrInquireInfoTot4(). |
|
Definition at line 1194 of file acrread.c. References IdAcrInquireInfoTot4(). |
|
Definition at line 1207 of file acrread.c. References IdAcrInquireInfoTot4(). |
|
Definition at line 1219 of file acrread.c. References IdAcrInquireInfoTot4(). |
|
Retourne diverses info stockees dans l'entete ACRNEMA ou DICOM.
Definition at line 486 of file acrread.c. References __ID_CardioVascCurieux, _IdAcrCheckSwap(), _IdAcrCheckType(), _IdAcrGetPixelOffset(), _IdAcrIsAcrLibido(), _IdAcrReadElement(), ID_RFILE_BIN, IDERR_NON_ACR_FILE, IDERR_OPEN_FAILED, IdErrno, IdErrPrintf(), IdPrintf(), IMA, SEEK_SET, SEQ, SIG, TY_RGB, TY_SIZE, and VOL. Referenced by IdAcrInquireInfo(), IdAcrInquireInfoTot(), IdAcrInquireInfoTot2(), and IdAcrInquireInfoTot3(). |
|
Lecture d'un fichier de type ACR NEMA ou DICOM. A L'ATTENTION DES Kamikazes Creatissiens : La fonction IdDcmCVReadFile est une extention de IdAcrReadFile qui a evolue au fil des ans, en fonction des choses que l'on a considere comme utiles de rajouter dans NOTRE entete. Puis, on a eu de 'vrais' fichiers ACR-NEMA, V2 puis V3. Puis des fichiers DICOM single-frame. Puis des fichiers DICOM multiframe. A ajouter a ca, des particularites a la limite de la mauvaise foi, dependant des constructeurs... DONC : Contrairement aux autres fonctions, la lecture de ce source est TOUT PARTICULIEREMENT deconseillee ! Ne perdez pas votre temps a essayer de comprendre POURQUOI ... La reponse est : PARCE QUE !
Definition at line 854 of file acrread.c. References IdAcrReadFileIntoVector(). Referenced by CreateObject1DSectionKi(), CreateObject2DCircleKi(), CreateObject2DKi(), CreateObject3DSphereKi(), GetParamFromDataFile(), and ReadObject(). |
|
Lecture d'un fichier (IMAGE) ACR/DICOM dans un Vecteur existant deja. A L'ATTENTION DES Kamikazes Creatissiens : La fonction IdAcrReadFileIntoVector est une extention de IdAcrReadFile LIMITEE pour le moment aux fichiers IMAGES (non SIGNAL, non VOLUME, non SEQUENCE) Elle n'a d'interet que lorsqu'on lit une serie de fichiers *dans un vecteur* et permettra, par exemple de court-circuiter VtkReader, particulierement peu efficace ATTENTION : elle NE CREE PAS l'entete privee de PPIMAGE !!! de plus, l'adresse de debut dans le vecteur est a la charge de l'utilisateur ... ==> a n'utiliser qu'avec precaution Exemple d'utilisation : int nbImages; int tailleImage=dimx*dimy*sizeof(...)); char * vect, *curPos;; curPos = vect = (char *)malloc(tailleImage*nbImages); for(i=0;i<nbImages;i++) { IdAcrReadFileIntoVector(nomImage[i],-1,-1,curPos=+tailleImage); } // vect pointe sur le vecteur des pixels de l'ensemble des images. // vect n'EST PAS un 'objet' LibIDO // C'est a l'utilisateur de l'exploiter comme il lui convient
Definition at line 360 of file acrread.c. References IdDcmReadFileIntoVector(). Referenced by IdAcrReadFile(), and IdDcmCVReadFile(). |
|
Lecture d'un fichier de type ACR/DICOM dans un vecteur existant deja. A L'ATTENTION DES Kamikazes Creatissiens : La fonction IdAcrReadFileIntoVector est une extention de IdAcrReadFile qui a evolue au fil des ans, en fonction des choses que l'on a considere comme utiles de rajouter dans NOTRE entete. Puis, on a eu de 'vrais' fichiers ACR-NEMA, V2 puis V3. Puis des fichiers DICOM single-frame. Puis des fichiers DICOM multiframe. A ajouter a ca, des particularites a la limite de la mauvaise foi, dependant des constructeurs... DONC : Contrairement aux autres fonctions, la lecture de ce source est TOUT PARTICULIEREMENT deconseillee ! Ne perdez pas votre temps a essayer de comprendre POURQUOI ... La reponse est : PARCE QUE !
Definition at line 904 of file acrread.c. References IdAcrReadFileIntoVector(). |
|
|
|
|
|
Definition at line 195 of file acrread.c. Referenced by _IdAcrCheckSwap(), and _IdAcrRecupLgr(). |
|
Definition at line 190 of file acrread.c. Referenced by _IdAcrCheckSwap(), _IdAcrGetPixelOffset(), IdAcrInquireHeader(), and IdAcrInquireInfoTot4(). |
|
Definition at line 191 of file acrread.c. Referenced by _IdAcrAffListe2(), _IdAcrCheckSwap(), and _IdAcrGetPixelOffset(). |
|
Definition at line 193 of file acrread.c. Referenced by _IdAcrReadNextElement(), and IdAcrInquireHeader(). |
|
Definition at line 192 of file acrread.c. Referenced by _IdAcrCheckSwap(). |
|
Definition at line 194 of file acrread.c. Referenced by _IdAcrCheckSwap(), _IdAcrGetElementLength(), _IdAcrIsAcrLibido(), and _IdAcrReadElement_avec_creation(). |