Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals

idacr.h File Reference

#include <stdio.h>
#include "idswig.h"
#include "idacr-restricted.h"

Go to the source code of this file.

Defines

#define NO   0 /* NON ACRNEMA : traitement special pour ecriture */
#define BI   1 /* 16 bits */
#define BD   2 /* 32 bits */
#define AN   3 /* ASCII numerique */
#define AT   4 /* ASCII texte */

Enumerations

enum  {
  _ID_File_Name = 0, _ID_SOP_Class_UID, _ID_SOP_Instance_UID, _ID_Study_Date,
  _ID_Series_Date, _ID_Acquisition_Date, _ID_Image_Date, _ID_Study_Time,
  _ID_Series_Time, _ID_Acquisition_Time, _ID_Image_Time, _ID_Modality,
  _ID_Manufacturer, _ID_Institution_Name, _ID_Study_Description, _ID_Series_Description,
  _ID_Admitting_Diagnoses_Description, _ID_Patient_Name, _ID_Patient_ID, _ID_Body_Part_Examined,
  _ID_Scanning_Sequence, _ID_Sequence_Variant, _ID_Scan_Options, _ID_MR_Acquisition_Type,
  _ID_Sequence_Name, _ID_Slice_Thickness, _ID_Repetition_Time, _ID_Echo_Time,
  _ID_Inversion_Time, _ID_Number_of_Averages, _ID_Imaging_Frequency, _ID_Imaged_Nucleus,
  _ID_Echo_Number, _ID_Magnetic_Field_Strength, _ID_Spacing_Between_Slices, _ID_Echo_Train_Length,
  _ID_Percent_Sampling, _ID_Percent_Phase_Field_of_View, _ID_Receiving_Coil, _ID_Patient_Position,
  _ID_Study_Instance_UID, _ID_Series_Instance_UID, _ID_Study_ID, _ID_Series_Number,
  _ID_Acquisition_Number, _ID_Image_Number, _ID_Patient_Orientation, _ID_Image_Position,
  _ID_Image_Position_Patient, _ID_Image_Orientation, _ID_Image_Orientation_Patient, _ID_Location,
  _ID_Frame_of_Reference_UID, _ID_Slice_Location, _ID_Image_Comments, _ID_Pixel_Spacing,
  _ID_Window_Center, _ID_Window_Width, _ID_Image_Type, _ID_Temporal_Position_Identifier,
  _ID_Comments, _ID_Rescale_Intercept, _ID_Rescale_Slope, _ID_Rescale_Type,
  _ID_Protocol_Name, _ID_Number_of_Temporal_Positions, _ID_Number_of_Items
}

Functions

void * IdAcrReadFile (char *, int)
 Lecture d'un fichier de type ACR NEMA ou DICOM.

void * IdDcmCVReadFile (char *, int, int, int)
 Lecture d'un fichier de type ACR/DICOM dans un vecteur existant deja.

void * IdAcrReadFileIntoVector (char *, int, int, int, void *)
 Lecture d'un fichier (IMAGE) ACR/DICOM dans un Vecteur existant deja.

int IdAcrWriteFile (char *, void *)
 Ecriture d'un objet libido ds un fichier ACR avec ajouts d'ACR_ELEMENT.

int IdAcrGetIdtype (char *)
int IdAcrGetXSize (char *)
int IdAcrGetYSize (char *)
int IdAcrGetZSize (char *)
int IdAcrGetTSize (char *)
int IdAcrGetSwapCode (char *)
int IdAcrGetOffset (char *)
int IdAcrGetNbFrames (char *)
int IdAcrGetNBitsAllocated (char *)
int IdAcrGetNBitsUsed (char *)
int IdAcrGetHighBit (char *)
int IdAcrGetSign (char *)
int IdAcrIsAcrReadable (char *)
int IdAcrInquirePixelSize (char *, float *OUTPUT, float *OUTPUT)
int IdAcrInquireSliceThickness (char *, float *OUTPUT)
char ** IdAcrInquirePatientInfo (char *)
char ** IdAcrInquireIRMInfo (char *)
char ** IdAcrInquireScanElscintInfo (char *)
char ** IdAcrInquireExamIRMInfo (char *)
char ** IdAcrInquireIRMImageInfo (char *)
int IdAcrPrintIRMInfo (char **)
int IdAcrPrintIRMImageInfo (char **)
int IdAcrPrintScanElscintInfo (char **)
int IdAcrPrintPatientInfo (char **)
FILE * IdSwigFopen (char *)
void IdSwigFclose (FILE *)
int IdAcrInquireInfoTot4 (char *, unsigned short int *OUTPUT, unsigned short int *OUTPUT, unsigned short int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT)
 Retourne diverses info stockees dans l'entete ACRNEMA ou DICOM.

int IdAcrWriteFileExtended (char *, void *, ACR_ELEMENT *)
 Ecriture d'un objet libido ds un fichier ACR avec ajouts d'ACR_ELEMENT.

char * IdAcrReadDicomElementFromLabel (char *, FILE *)
long IdAcrGetPixelOffsetFromFP (FILE *)
long IdAcrGetPixelOffsetFromFile (char *)
 Retourne l'offset pour atteindre le groupe des Pixels stocke dans l'entete ACRNEMA ou DICOM.

char *** IdIrmGetAndRenameDirContents (char *, char *, int)
int IdAcrPrintExamIRMInfo (char **ExamIRMInfo)
char *** IdStrGetDicomDirectoryInfo (char *, char *, int *OUTPUT)
char ** IdStrGetExamInfo (char *, char *)
char ** IdStrGetSerieInfo (char *, char *)
char *** IdStrGetSeriesExamInfo (char *, char *, int *OUTPUT)
char *** IdStrGetDirContents3 (char *, char *, int *OUTPUT)
int IdStrRenameDirContents (char *, char *, int *OUTPUT)


Define Documentation

#define AN   3 /* ASCII numerique */
 

Definition at line 168 of file idacr.h.

Referenced by _IdAcrAffListe(), _IdAcrAffListeBref(), IdAcrWriteFileExtended(), and IdAcrWriteListeAcr().

#define AT   4 /* ASCII texte */
 

Definition at line 169 of file idacr.h.

Referenced by _IdAcrAffListe(), _IdAcrAffListeBref(), _IdAcrReadNextElement(), IdAcrWriteFileExtended(), and IdAcrWriteListeAcr().

#define BD   2 /* 32 bits */
 

Definition at line 167 of file idacr.h.

Referenced by _IdAcrAffListe(), _IdAcrAffListeBref(), _IdAcrReadNextElement(), IdAcrWriteFileExtended(), and IdAcrWriteListeAcr().

#define BI   1 /* 16 bits */
 

Definition at line 166 of file idacr.h.

Referenced by _IdAcrAffListe(), _IdAcrAffListeBref(), _IdAcrReadNextElement(), IdAcrWriteFileExtended(), and IdAcrWriteListeAcr().

#define NO   0 /* NON ACRNEMA : traitement special pour ecriture */
 

Definition at line 165 of file idacr.h.

Referenced by _IdAcrAffListe(), _IdAcrAffListeBref(), _IdAcrReadNextElement(), IdAcrWriteFileExtended(), and IdAcrWriteListeAcr().


Enumeration Type Documentation

anonymous enum
 

Enumeration values:
_ID_File_Name 
_ID_SOP_Class_UID 
_ID_SOP_Instance_UID 
_ID_Study_Date 
_ID_Series_Date 
_ID_Acquisition_Date 
_ID_Image_Date 
_ID_Study_Time 
_ID_Series_Time 
_ID_Acquisition_Time 
_ID_Image_Time 
_ID_Modality 
_ID_Manufacturer 
_ID_Institution_Name 
_ID_Study_Description 
_ID_Series_Description 
_ID_Admitting_Diagnoses_Description 
_ID_Patient_Name 
_ID_Patient_ID 
_ID_Body_Part_Examined 
_ID_Scanning_Sequence 
_ID_Sequence_Variant 
_ID_Scan_Options 
_ID_MR_Acquisition_Type 
_ID_Sequence_Name 
_ID_Slice_Thickness 
_ID_Repetition_Time 
_ID_Echo_Time 
_ID_Inversion_Time 
_ID_Number_of_Averages 
_ID_Imaging_Frequency 
_ID_Imaged_Nucleus 
_ID_Echo_Number 
_ID_Magnetic_Field_Strength 
_ID_Spacing_Between_Slices 
_ID_Echo_Train_Length 
_ID_Percent_Sampling 
_ID_Percent_Phase_Field_of_View 
_ID_Receiving_Coil 
_ID_Patient_Position 
_ID_Study_Instance_UID 
_ID_Series_Instance_UID 
_ID_Study_ID 
_ID_Series_Number 
_ID_Acquisition_Number 
_ID_Image_Number 
_ID_Patient_Orientation 
_ID_Image_Position 
_ID_Image_Position_Patient 
_ID_Image_Orientation 
_ID_Image_Orientation_Patient 
_ID_Location 
_ID_Frame_of_Reference_UID 
_ID_Slice_Location 
_ID_Image_Comments 
_ID_Pixel_Spacing 
_ID_Window_Center 
_ID_Window_Width 
_ID_Image_Type 
_ID_Temporal_Position_Identifier 
_ID_Comments 
_ID_Rescale_Intercept 
_ID_Rescale_Slope 
_ID_Rescale_Type 
_ID_Protocol_Name 
_ID_Number_of_Temporal_Positions 
_ID_Number_of_Items 

Definition at line 90 of file idacr.h.


Function Documentation

int IdAcrGetHighBit char *   ) 
 

int IdAcrGetIdtype char *   ) 
 

int IdAcrGetNbFrames char *   ) 
 

int IdAcrGetNBitsAllocated char *   ) 
 

int IdAcrGetNBitsUsed char *   ) 
 

int IdAcrGetOffset char *   ) 
 

long IdAcrGetPixelOffsetFromFile char *  filename  ) 
 

Retourne l'offset pour atteindre le groupe des Pixels stocke dans l'entete ACRNEMA ou DICOM.

Parameters:
filename Nom du Fichier.
Returns:
longueur de l'entete.

Definition at line 809 of file acrread.c.

References _IdAcrGetPixelOffset(), ID_RFILE_BIN, and IdErrPrintf().

long IdAcrGetPixelOffsetFromFP FILE *   ) 
 

int IdAcrGetSign char *   ) 
 

int IdAcrGetSwapCode char *   ) 
 

int IdAcrGetTSize char *   ) 
 

int IdAcrGetXSize char *   ) 
 

int IdAcrGetYSize char *   ) 
 

int IdAcrGetZSize char *   ) 
 

char** IdAcrInquireExamIRMInfo char *   ) 
 

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.

Parameters:
filename Nom du fichier.
typObj Pointeur vers le Unsigned Short qui recevra le type d'OBJET (SIG, IMA, VOL, SEQ, CNT, etc ..)
typLibido Pointeur vers le Unsigned Short qui recevra le type LibIDO (ex : SIG_COMPLEX_FLOAT, IMA_USHORT, VOL_DOUBLE)
typData Pointeur vers le Unsigned Short qui recevra le type de Donnees (ex : TY_COMPLEX_FLOAT, TY_USHORT, TY_DOUBLE)
NX Pointeur vers l'integer qui recevra le nombre de Colonnes
NY Pointeur vers l'integer qui recevra le nombre de Lignes
NZ Pointeur vers l'integer qui recevra le nombre de Colonnes
NT Pointeur vers l'integer qui recevra le nombre d' Instants
offset Pointeur vers l'integer qui recevra la valeur de l'offset des Pixels
nbFrames Pointeur vers l'integer qui recevra le nombre de Frames
codeSwap Pointeur vers l'integer qui la valeur du code de Swap pour les entiers 1234 : pas de swap 4321 2143 : Bad Big Endian 3412 : Bad Little Endian
nb Pointeur vers l'integer qui recevra le nombre de bits alloues
nbu Pointeur vers l'integer qui recevra le nombre de bits utilises
nb Pointeur vers l'integer qui recevra le nombre le bit de poids fort
ty Pointeur vers l'integer qui recevra le signe
Returns:
1 : l'objet est ACR-NEMA ou DICOM 0 : sinon

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().

char** IdAcrInquireIRMImageInfo char *   ) 
 

char** IdAcrInquireIRMInfo char *   ) 
 

char** IdAcrInquirePatientInfo char *   ) 
 

int IdAcrInquirePixelSize char *  ,
float *  OUTPUT,
float *  OUTPUT
 

char** IdAcrInquireScanElscintInfo char *   ) 
 

int IdAcrInquireSliceThickness char *  ,
float *  OUTPUT
 

int IdAcrIsAcrReadable char *   ) 
 

int IdAcrPrintExamIRMInfo char **  ExamIRMInfo  ) 
 

int IdAcrPrintIRMImageInfo char **   ) 
 

int IdAcrPrintIRMInfo char **   ) 
 

int IdAcrPrintPatientInfo char **   ) 
 

int IdAcrPrintScanElscintInfo char **   ) 
 

char* IdAcrReadDicomElementFromLabel char *  ,
FILE * 
 

void* IdAcrReadFile char *  filename,
int  type
 

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 !

Parameters:
filename Nom du fichier ACR-NEMA ou DICOM SINGLE-FRAME
type Type de l'object a lire (IMA_UCHAR, SIG_CHAR, ...).
Returns:
Pointeur vers l'objet lu ( PSIGNAL, PPIMAGE, PPPVOLUME, PPPPSEQUENCE..).

Definition at line 854 of file acrread.c.

References IdAcrReadFileIntoVector().

Referenced by CreateObject1DSectionKi(), CreateObject2DCircleKi(), CreateObject2DKi(), CreateObject3DSphereKi(), GetParamFromDataFile(), and ReadObject().

void* IdAcrReadFileIntoVector char *  filename,
int  type,
int  premIm,
int  dernIm,
void *  vector
 

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

Parameters:
filename Nom du fichier DICOM ACR/DICOM
type Type des images a lire (IMA_UCHAR,IMA_USHORT, ...).
premIm Num premiere image a lire (Dicom multiframe uniquement; -1 sinon) (si -1 ou 0 on commence a la premiere).
dernIm Num derniere image a lire a lire (Dicom multiframe uniquement; -1 sinon) (si -1 ou 0 on fini a la derniere).
vector adresse dans le Vecteur, deja alloue, a laquelle sera rangée l'image lue
Returns:
Pointeur vers un tableau unidimentionel (celui passe en parametre; NULL si echec)

Definition at line 360 of file acrread.c.

References IdDcmReadFileIntoVector().

Referenced by IdAcrReadFile(), and IdDcmCVReadFile().

int IdAcrWriteFile char *  nf,
void *  obj
 

Ecriture d'un objet libido ds un fichier ACR avec ajouts d'ACR_ELEMENT.

Parameters:
nf nom du fichier a creer
obj pointeur sur une structure libido
Returns:
code retour (booleen)

Definition at line 131 of file acrwrite.c.

References IdAcrWriteFileExtended().

Referenced by DisplayVol(), SaveObjectAsVolFloat(), and WriteObject().

int IdAcrWriteFileExtended char *  nf,
void *  obj,
ACR_ELEMENT listeAAjouter
 

Ecriture d'un objet libido ds un fichier ACR avec ajouts d'ACR_ELEMENT.

Parameters:
nf nom du fichier a creer
obj pointeur sur une structure libido
listeAAjouter liste d'ACR_ELEMENT, fabriquee par l'utilisateur
Returns:
code retour (booleen)

Definition at line 204 of file acrwrite.c.

References _IdAcrAddElement(), _IdAcrAdjustLength(), _IdAcrAffListe(), _IdAcrFreeListe(), _IdAcrMakeElement(), _IdAcrMergeListes(), _IdCntPrivate, _IdRecCode, AN, AT, BD, BI, CNT, DEBUG, acr_element::group, ID_WFILE_BIN, IdCntDimX, IdCntUsedNbX, IDERR_OPEN_FAILED, IDERR_POINTER_IS_NULL, IDERR_WRONG_TYPE, IdErrno, IdErrPrintf(), IdImaDimX(), IdImaDimY(), IdImaUsedNbX(), IdImaUsedNbY(), IdLibidoDataType, IdLibidoType, IdPrintf(), IdSeqDimT, IdSeqDimX, IdSeqDimY, IdSeqDimZ, IdSeqUsedNbT, IdSeqUsedNbX, IdSeqUsedNbY, IdSeqUsedNbZ, IdSigDimX, IdSigUsedNbX, IdSizeOfType, IdVolDimX, IdVolDimY, IdVolDimZ, IdVolUsedNbX, IdVolUsedNbY, IdVolUsedNbZ, IMA, acr_element::length, NO, acr_element::number, PCONTOUR, PPIMAGE, PPPPSEQUENCE, PPPVOLUME, PSIGNAL, SEQ, SIG, acr_element::suiv, TY_CHAR, TY_COMPLEX_CHAR, TY_COMPLEX_DOUBLE, TY_COMPLEX_FLOAT, TY_COMPLEX_LONG, TY_COMPLEX_SHORT, TY_DOUBLE, TY_FLOAT, TY_LONG, TY_SHORT, acr_element::type, acr_element::value, and VOL.

Referenced by IdAcrWriteFile().

void* IdDcmCVReadFile char *  filename,
int  type,
int  numPremIm,
int  numDernIm
 

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 !

Parameters:
filename Nom du fichier ACR / DICOM
type Type des images a lire (IMA_UCHAR,IMA_USHORT, ...).
premIm Num premiere image a lire (si -1 ou 0 on commence a la premiere).
dernIm Num derniere image a lire a lire (si -1 ou 0 on fini a la derniere).
Returns:
Pointeur vers un tableau de PPIMAGE

Definition at line 904 of file acrread.c.

References IdAcrReadFileIntoVector().

char*** IdIrmGetAndRenameDirContents char *  ,
char *  ,
int 
 

char*** IdStrGetDicomDirectoryInfo char *  ,
char *  ,
int *  OUTPUT
 

char*** IdStrGetDirContents3 char *  ,
char *  ,
int *  OUTPUT
 

char** IdStrGetExamInfo char *  ,
char * 
 

char** IdStrGetSerieInfo char *  ,
char * 
 

char*** IdStrGetSeriesExamInfo char *  ,
char *  ,
int *  OUTPUT
 

int IdStrRenameDirContents char *  ,
char *  ,
int *  OUTPUT
 

void IdSwigFclose FILE *   ) 
 

FILE* IdSwigFopen char *   ) 
 


Generated on Wed Oct 19 09:28:35 2005 for SIMRI3D by doxygen 1.3.7