X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Doc%2FWebsite%2FNews.html;h=4958c06bb6402f1dc0c55323472da0478acaeadf;hb=0ee1d8c4c2c59be9b1ff698b219835a76ac86f2a;hp=6d52b378b0a5ccf371a0dec79321c2d1cd7fb345;hpb=6895642b56e9f5a6167f74c3c6b7ca71ba30e377;p=gdcm.git diff --git a/Doc/Website/News.html b/Doc/Website/News.html index 6d52b378..4958c06b 100644 --- a/Doc/Website/News.html +++ b/Doc/Website/News.html @@ -33,14 +33,6 @@ Any contribution is welcome. (LOw COmplexity LOssless COmpression for Images) developed at Hewlett-Packard Laboratories] -
  • gdcm doesn't read yet all JPEG2000 encoded files. -
  • gdcm doesn't read yet MPEG2 encoded files. @@ -63,8 +55,6 @@ Any contribution is welcome. SeqEntry (if any)
  • Allow user to tell the Writer he doesn't want to write down Shadow groups (if any) -
  • Allow user to tell the Writer which compression mode he wants
    - (Right now, no one is available)
  • Allow user to tell the Writer he wants to split a Multiframe image into a serie of Single frame images. @@ -110,7 +100,7 @@ Any contribution is welcome. of the private Dicom Dictionary to be used to parse Shadow groups against.
  • User friendly way of anonymizing image when Patient's name is - carved in the Pixels :-( + burnt-in within the Pixels :-( @@ -126,12 +116,36 @@ Any contribution is welcome.
  • State of the art @@ -196,8 +214,102 @@ Any contribution is welcome.
  • Stupid difference between gdcm::ValEntry and gdcm::BinEntry removed.
    Only gdcm::DataEntry exist, now.
    -
  • -
  • +
    +   ValEntry(DictEntry *e);
    +   BinEntry(DictEntry *e);
    +-->DataEntry *New(uint16_t group,uint16_t elem, VRKey const &vr);
    +
    +   std::string const &ValEntry::GetValue() const;
    +   std::string const &BinEntry::GetValue() const;
    +-->std::string const &DataEntry::GetString() const;
    +
    +   uint8_t *BinEntry::GetBinArea();
    +-->uint8_t *DataEntry::GetBinArea();
    +
    +   void ValEntry::SetValue(std::string const &value);
    +   void BinEntry::SetValue(std::string const &value);   
    +-->void DataEntry::SetString(std::string const &value);
    +
    +   void BinEntry::SetBinArea( uint8_t *area, bool self = true );
    +-->void DataEntry::SetBinArea( uint8_t *area, bool self = true );
    +
    +   void ValEntry::CopyValEntry(uint16_t gr, uint16_t el);
    +-->void DataEntry::CopyDataEntry(uint16_t gr, uint16_t el, VRKey const &vr);
    +
    + +
    +Example :
    +
    +old way :
    +        DocEntry *p3 = item2->GetDocEntry(0x0018,0x0050);
    +        if( !p3 ) return false;
    +        ContentEntry *entry2 = dynamic_cast(p3);
    +        std::string thickness = entry2->GetValue();
    +
    +new way :
    +        DocEntry *p3 = item2->GetDocEntry(0x0018,0x0050);
    +        if( !p3 ) return false;
    +        DataEntry *entry2 = dynamic_cast(p3);
    +        std::string thickness = entry2->GetString();
    +
    +
    + +
  • Avoid tons of CPU time consuming accesses to DICOM Dictionnary +
    +   DataEntry *FileHelper::CopyDataEntry(uint16_t group, uint16_t elem);
    +-->DataEntry *FileHelper::CopyDataEntry(uint16_t group, uint16_t elem, 
    +                                        const VRKey &vr = GDCM_VRUNKNOWN);
    +
    +   void FileHelper::CheckMandatoryEntry(uint16_t group, uint16_t elem, std::string value);
    +-->void FileHelper::CheckMandatoryEntry(uint16_t group, uint16_t elem, std::string value,
    +                                        const VRKey &vr = GDCM_VRUNKNOWN);
    +      
    +   void FileHelper::SetMandatoryEntry(uint16_t group, uint16_t elem, std::string value);       
    +-->void FileHelper::SetMandatoryEntry(uint16_t group, uint16_t elem, std::string value,
    +                                      const VRKey &vr = GDCM_VRUNKNOWN);
    +
    +   void FileHelper::CopyMandatoryEntry(uint16_t group, uint16_t elem, std::string value);      
    +-->void FileHelper::CopyMandatoryEntry(uint16_t group, uint16_t elem, std::string value,
    +                                       const VRKey &vr = GDCM_VRUNKNOWN);
    +
    +
  • New features : +
    +For multivaluated numeric DataEntries
    +-->void DataEntry::SetValue(const uint32_t &id,const double &val);
    +-->double DataEntry::GetValue(const uint32_t &id) const;
    +-->uint32_t DataEntry::GetValueCount() const;
    +
    +For converting 'Decimal String'
    +-->bool GetDSValue(std::vector <double> &valueVector);  
    +
    + +
  • Avoid too many source file modifications from gdcm1.2 to gdcm1.3 +
    +use :
    +
    +#define ValEntry                      DataEntry
    +#define BinEntry                      DataEntry
    +
    +#define GetEntryValue(g,e)            GetEntryString(g,e)
    +#define GetEntryForcedAsciiValue(g,e) GetEntryString(g,e)
    +
    +#define GetValEntry(g,e)              GetDataEntry(g,e)
    +#define GetBinEntry(g,e)              GetDataEntry(g,e)
    +#define GetValue()                    GetString()
    +
    +#define InsertValEntry(v,g,e,vr)      InsertEntryString(v,g,e,vr) // warning mind the VR!
    +#define InsertBinEntry(b,l,g,e,vr)    InsertEntryBinArea(b,l,g,e,vr)
    +
    +#define SetValEntry(c,g,e)            SetEntryString(c,g,e)  | !!
    +#define SetValEntry(c,en)             SetEntryString(c,en)   | !!
    +
    +#define SetBinEntry(c,l,en)           SetEntryBinArea(c,l,en)   | !!
    +#define SetBinEntry(c,l,g,e)          SetEntryBinArea(c,l,g,e)  | !!
    +
    +#define NewValEntry(g,e,vr)           NewDataEntry(g,e,vr)
    +#define NewBinEntry(g,e,vr)           NewDataEntry(g,e,vr)       
    +
    +
  • Bug fixes