What replaces removed/renamed items from v3.5.4
Moderator: Moderator Team
What replaces removed/renamed items from v3.5.4
I'm porting some code that used the 3.5.4 toolkit to 3.6.8.
One error I see is that AP_GeneralPurposeDVD is not longer available.
What should I use instead? I was considering AP_GeneralPurpose, but not sure that's correct.
DicomDirInterface.enableVerboseMode() has been removed or renamed. What is the 3.6 equivalent?
Same for:
DicomDirInterface.addDicomFileFast
dcmtk/dcmdata/dcdebug.h was removed. Does this functionality still exist elsewhere in 3.6?
UID_BasicTextSR
I will collect the rest if folks think they can provide answers. I've resolved some via commit comments, and diffs between tagged versions. Not always easy to find when it changed and why.
Thanks.
One error I see is that AP_GeneralPurposeDVD is not longer available.
What should I use instead? I was considering AP_GeneralPurpose, but not sure that's correct.
DicomDirInterface.enableVerboseMode() has been removed or renamed. What is the 3.6 equivalent?
Same for:
DicomDirInterface.addDicomFileFast
dcmtk/dcmdata/dcdebug.h was removed. Does this functionality still exist elsewhere in 3.6?
UID_BasicTextSR
I will collect the rest if folks think they can provide answers. I've resolved some via commit comments, and diffs between tagged versions. Not always easy to find when it changed and why.
Thanks.
Re: What replaces removed/renamed items from v3.5.4
It seems that addDicomFileFast was removed from the toolkit. Is addDicomFile now doing the fast all the time or was it decided that the fast was no longer good?
I have some code that uses both and creates a file with a name based on the type of add we are doing.
I have some code that uses both and creates a file with a name based on the type of add we are doing.
Re: What replaces removed/renamed items from v3.5.4
I've made some progress. However, what replace DU_fileSize?
Update: Seems to be OFStandard::getFileSize
Update: Seems to be OFStandard::getFileSize
-
- DCMTK Developer
- Posts: 2535
- Joined: Tue, 2011-05-03, 14:38
- Location: Oldenburg, Germany
- Contact:
Re: What replaces removed/renamed items from v3.5.4
I am not aware that there was a DicomDirInterface::addDicomFileFast() in DCMTK 3.5.4, which is almost 19 years old. Therefore, it's not surprising that there have been a number of API changes over time.
For example, AP_GeneralPurposeDVD has been replaced by AP_GeneralPurposeDVDJPEG and AP_GeneralPurposeDVDJPEG2000 in order to be more consistent with the definitions of the DICOM standard.
Of course, you could collect all changes between DCMTK 3.5.4 and 3.6.8 and post the list here, but I hope that no one is still using an almost 19 years old software in the field of medical imaging.
For example, AP_GeneralPurposeDVD has been replaced by AP_GeneralPurposeDVDJPEG and AP_GeneralPurposeDVDJPEG2000 in order to be more consistent with the definitions of the DICOM standard.
Of course, you could collect all changes between DCMTK 3.5.4 and 3.6.8 and post the list here, but I hope that no one is still using an almost 19 years old software in the field of medical imaging.
Last edited by J. Riesmeier on Mon, 2024-07-29, 21:24, edited 1 time in total.
Re: What replaces removed/renamed items from v3.5.4
Thanks.
Did you mean AP_GeneralPurposeDVD was replaced by AP_GeneralPurposeDVDJPEG and AP_GeneralPurposeDVDJPEG2000 ?
Did you mean AP_GeneralPurposeDVD was replaced by AP_GeneralPurposeDVDJPEG and AP_GeneralPurposeDVDJPEG2000 ?
-
- DCMTK Developer
- Posts: 2535
- Joined: Tue, 2011-05-03, 14:38
- Location: Oldenburg, Germany
- Contact:
Re: What replaces removed/renamed items from v3.5.4
Yes, this is because there never was a single General Purpose DVD Application Profile in DICOM PS3.11, but one for JPEG and another one for JPEG2000 compression. So, we fixed this issue with this commit back in 2011.
Re: What replaces removed/renamed items from v3.5.4
What should I use instead of DIMSE_DATASET_NONE?
What replaced OFBitmanipTemplate<char>::zeroMem and OFBitmanipTemplate? I ended up using std::memset
What replaced OFBitmanipTemplate<char>::zeroMem and OFBitmanipTemplate? I ended up using std::memset
-
- OFFIS DICOM Team
- Posts: 1484
- Joined: Tue, 2004-11-02, 17:22
- Location: Oldenburg, Germany
- Contact:
Re: What replaces removed/renamed items from v3.5.4
OFBitmanipTemplate still exists, see ofstd/include/dcmtk/ofstd/ofbmanip.h.
There never was DIMSE_DATASET_NONE, as far as I know. It is called DIMSE_DATASET_NULL and still exists.
There never was DIMSE_DATASET_NONE, as far as I know. It is called DIMSE_DATASET_NULL and still exists.
Re: What replaces removed/renamed items from v3.5.4
Thanks. DIMSE_DATASET_NONE definitely existed in the copy of 3.5.4 that we've been using. I wonder if someone added it in-house because I don't see it in the 3.5.4 tagged code in https://github.com/DCMTK/dcmtk/blob/4c4 ... mse.h#L235
Here is what I see:
Not sure why they would do that.
I'll see if the header for OFBitmanipTemplate had moved so our code could not find it.
Here is the code that was using it:
I changed the name of the variable to make it more generic.
Thanks.
Here is what I see:
Code: Select all
typedef enum { /* DIC_US */
DIMSE_DATASET_PRESENT = 0x0001, /* anything other than 0x0101) */
DIMSE_DATASET_NULL = 0x0101,
DIMSE_DATASET_NONE = 0x0000
} T_DIMSE_DataSetType;
I'll see if the header for OFBitmanipTemplate had moved so our code could not find it.
Here is the code that was using it:
Code: Select all
OFBitmanipTemplate<char>::zeroMem ((char *) &variable, sizeof (variable));
Thanks.
Re: What replaces removed/renamed items from v3.5.4
Here is the like using DIMSE_DATASET_NONE.
findRequest is passed to DIMSE_findUser as the request parameter.
I'm investigating the consequences of changing that to DMSE_DATASET_NULL.
Code: Select all
T_DIMSE_C_FindRQ findRequest;
findRequest.DataSetType =f DIMSE_DATASET_NONE;
I'm investigating the consequences of changing that to DMSE_DATASET_NULL.
Re: What replaces removed/renamed items from v3.5.4
Looks like DIMSE_findUser overrides the DataSetType at this line: https://github.com/DCMTK/dcmtk/blob/442 ... nd.cc#L153
Seems it doesn't matter what we set it to before passing the request variable to DIMSE_findUser.
Seems it doesn't matter what we set it to before passing the request variable to DIMSE_findUser.
Re: What replaces removed/renamed items from v3.5.4
I had to add that header to our header so the cpp file could resolve it.Marco Eichelberg wrote: ↑Fri, 2024-07-26, 13:33 OFBitmanipTemplate still exists, see ofstd/include/dcmtk/ofstd/ofbmanip.h.
The location of OFBitmanipTemplate doesn't seem to have moved between 3.5.4 and 3.6.8.
I wonder if ofbmanip.h was included in one of the headers we already used in 3.5.4 and it was pulled out by
the time 3.6.8 came around.
Re: What replaces removed/renamed items from v3.5.4
Any suggestions for these questions?
Has addDicomFileFast been moved or has addDicomFile been made the fast version?
Or perhaps there was something wrong with FileFast and it was removed.
Re: What replaces removed/renamed items from v3.5.4
Thanks. That commit helped. After looking at the changes there, it seems that AP_GeneralPurposeDVDJPEG is the best choice to replace AP_GeneralPurposeDVD.J. Riesmeier wrote: ↑Wed, 2024-07-24, 20:58 Yes, this is because there never was a single General Purpose DVD Application Profile in DICOM PS3.11, but one for JPEG and another one for JPEG2000 compression. So, we fixed this issue with this commit back in 2011.
It is handled in the same case statement in dcmdata/libsrc/dcddirif.cc
Do you agree?
-
- DCMTK Developer
- Posts: 2535
- Joined: Tue, 2011-05-03, 14:38
- Location: Oldenburg, Germany
- Contact:
Re: What replaces removed/renamed items from v3.5.4
It depends, i.e. it should work if you only need to process JPEG-compressed images. However, JPEG2000-compressed images will not be supported by AP_GeneralPurposeDVDJPEG. If you need to support both, you should first create a DICOMDIR according to AP_GeneralPurposeDVDJPEG and then append the missing entries with AP_GeneralPurposeDVDJPEG2000.
Who is online
Users browsing this forum: Bing [Bot], Google [Bot] and 1 guest