+/////////////////////////////////////////////////////////////////
+/**
+ * \ingroup gdcmFile
+ * \brief Ecrit sur disque UNE image Dicom
+ * Aucun test n'est fait sur l'"Endiannerie" du processeur.
+ * Ca fonctionnera correctement (?) sur processeur Intel
+ * (Equivalent a IdDcmWrite) FIXME JPR
+ *
+ * @param nomFichier TODO JPR
+ *
+ * @return TODO JPR
+ */
+
+int gdcmFile::WriteDcmImplVR (string nomFichier) {
+ return WriteBase(nomFichier, ImplicitVR);
+}
+
+int gdcmFile::WriteDcmImplVR (const char* nomFichier) {
+ return WriteDcmImplVR (string (nomFichier));
+}
+
+/////////////////////////////////////////////////////////////////
+/**
+ * \ingroup gdcmFile
+ *
+ * @param nomFichier TODO JPR
+ *
+ * @return TODO JPR
+ */
+
+int gdcmFile::WriteDcmExplVR (string nomFichier) {
+ return WriteBase(nomFichier, ExplicitVR);
+}
+
+/////////////////////////////////////////////////////////////////
+/**
+ * \ingroup gdcmFile
+ * \brief Ecrit au format ACR-NEMA sur disque l'entete et les pixels
+ * (a l'attention des logiciels cliniques
+ * qui ne prennent en entrée QUE des images ACR ...
+ * \warning si un header DICOM est fourni en entree,
+ * les groupes < 0x0008 et les groupes impairs sont ignores)
+ * \warning Aucun test n'est fait sur l'"Endiannerie" du processeur.
+ * Ca fonctionnera correctement (?) sur processeur Intel
+ * (Equivalent a IdDcmWrite)
+ *
+ * @param nomFichier TODO JPR
+ *
+ * @return TODO JPR
+ */
+
+int gdcmFile::WriteAcr (string nomFichier) {
+ return WriteBase(nomFichier, ACR);
+}
+
+int gdcmFile::WriteBase (string nomFichier, FileType type) {
+
+ FILE * fp1;
+ fp1 = fopen(nomFichier.c_str(),"wb");
+ if (fp1 == NULL) {
+ printf("Echec ouverture (ecriture) Fichier [%s] \n",nomFichier.c_str());
+ return (0);
+ }
+
+ if ( (type == ImplicitVR) || (type == ExplicitVR) ) {
+ char * filePreamble;
+ // Ecriture Dicom File Preamble
+ filePreamble=(char*)calloc(128,1);
+ fwrite(filePreamble,128,1,fp1);
+ fwrite("DICM",4,1,fp1);
+ }
+
+ gdcmHeader::Write(fp1, type);
+ fwrite(PixelData, lgrTotale, 1, fp1);
+ fclose (fp1);
+ return(1);
+}