1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413
|
PrepGroupName.cxx does not handle Pixel Data group name since it has a space in the name...
-----------------------------------------------------------------------
gdcmDictPrinter allowed me to find bug in dclunie tool:
gems.tpl:(0043,001b) VERS="GEM" VR="SS" VM="1" Owner="GEMS_PARM_01"
-----------------------------------------------------------------------
dcmtk is confused:
(0028,0034) IS [ 185\185] # 8, 1 Pixel Aspect Ratio
-----------------------------------------------------------------------
Offer mapping from UID to Manufacturer: eg. 1.3.12.2.1107 -> SIEMENS
-----------------------------------------------------------------------
> We use a Philips ENVISOR machine to do Cardiac TOE Echo. We are about
> to produce a CD of some of the Echo loops. Can anyone suggest a good
> DICOM to AVI converted for Echo loops.
we have implemented a tool called "dcm2avi" that can be used for this
purpose. Please send an email to dicom/at/offis/dot/de in case you are
interested in an evaluation version of this program.
-----------------------------------------------------------------------
from sup58_ft2.doc
>CTDIvol (0018,9445) 2C Computed Tomography Dose Index (CTDIvol), im mGy according to IEC 60601-2-44, Ed.2.1 (Clause 29.1.103.4), The Volume CTDIvol. It describes the average dose for this frame for the selected CT conditions of operation.
-----------------------------------------------------------------------
Calling dcmodify [1][2] with option --erase-tag should do what you want.
-----------------------------------------------------------------------
You should be able to say: this file is a ACR NEMA read it ! So the wizard
should be bypass and the discovery step can be skipped.
-----------------------------------------------------------------------
Need to handle image rotation/flip
(0070,0041) CS [Y] # 2, 1 ImageHorizontalFlip
(0070,0042) US 270 # 2, 1 ImageRotation
-----------------------------------------------------------------------
Parsing SQ can actually double the time to read a file
/images/test_DCEMRI/04-004-4/MR-20070129/Perfusion/Perfusion_205_
-----------------------------------------------------------------------
The NEMA Enhanced CT and MR multi-frame test sets contain a couple of
images that have Supplemental Palette Color LUTs. See:
"ftp://medical.nema.org/medical/dicom/Multiframe/"
and in particular:
CT0012
CT0013
CT0014
GFUNCST2
MRVPWCB2
-----------------------------------------------------------------------
Wrong Private element in dcmtk:
(0009,1227) TM [210959.000000] # 14, 1 LastMoveTime
I found:
diction.pfl:Table Zero Time,0009,SIEMENS CM VA0 CMS,27,TM,1
-----------------------------------------------------------------------
Make File Meta Information configurable from CMake
-----------------------------------------------------------------------
Add progress to gdcmscanner
-----------------------------------------------------------------------
FIX the reading of 3F3F SQ in: Bug_Philips_ItemTag_3F3F
-----------------------------------------------------------------------
gdcm does not read the associated data in RT Object file - RTImage and RTDose. For RTImage pixel spacing is in 3002,0011 and position of upper left corner is in 3002,0012.
-----------------------------------------------------------------------
Extract Mosaic as 3D volume:
afni.nimh.nih.gov/pub/dist/doc/misc/DICOM/data/From_TomRoss/20021009-1-Toms_fMri/4-ep2d_bold_moco_ax3x3-192/image-00002-000042.IMA
-----------------------------------------------------------------------
Correctly display:
PHANTOM.MR.CARDIO_COEUR_S_QUENCE_DE_REP_RAGE.9.257.2008.03.20.14.53.25.578125.43151705.IMA
-----------------------------------------------------------------------
TODO: need a gdcm::ExtractOverlayFromPixelDataFilter
to rewrite a gdcm::Image
-----------------------------------------------------------------------
Provide operator() == for String<LO> (should discard length, space char...)
-----------------------------------------------------------------------
Should handle old Date format (with - separator)
-----------------------------------------------------------------------
vtkMedicalImageProp user defined value should be written back to disk
-> TODO: SQ will be difficult to handle
-----------------------------------------------------------------------
Filter should use OpenMP ?
-----------------------------------------------------------------------
GDCMFakeJPEG should be detected (at least a warning
-----------------------------------------------------------------------
Hum, looks like vs 2007+1 can be used to redistribute binaries:
http://www.microsoft.com/express/support/faq/
# Can I use Express Editions for commercial use?
Yes, there are no licensing restrictions for applications built using Visual Studio Express Editions.
Some random links:
http://blogs.msdn.com/nikolad/archive/2006/04/11/Download-location-for-VCRedist.aspx
http://blogs.msdn.com/vcblog/archive/2007/10/12/how-to-redistribute-the-visual-c-libraries-with-your-application.aspx
-----------------------------------------------------------------------
TODO:
/home/mmalaterre/Creatis/gdcmDataExtra/gdcmSampleData/images_of_interest/ITK-GDCM-1.2.2.saysExplicitVR-butIsImplicitVR.dcm
-----------------------------------------------------------------------
ZSpacing for RTDoseStorage is not handled properly:
bin/gdcmvtkGDCMTests TestvtkGDCMImageWriter BogugsItemAndSequenceLengthCorrected.dcm
-----------------------------------------------------------------------
There are still some subtle issues with Enhanced modality:
* what if frames are not order according to IPP ?
* what is the intercept/slope are not constant throughout the frames ?
-----------------------------------------------------------------------
Add support for namelink packaging
-----------------------------------------------------------------------
Need a MediaStorage::IsRetired / UIDs::IsRetired
-----------------------------------------------------------------------
What if:
(0018,0084) DS [ 63.89.73.30] # 10,1 Imaging Frequency
-----------------------------------------------------------------------
play with imageplanewdg / Orthoplanewidget
http://www.itk.org/pipermail/insight-users/2006-January/016463.html
-----------------------------------------------------------------------
window level in Enhanced objects is not handled
-----------------------------------------------------------------------
wow cpack is finally documented:
http://www.itk.org/Wiki/CMake:Component_Install_With_CPack
-----------------------------------------------------------------------
TODO:
gdcmData/GDCMPrinterDisplayUNasSQ.dcm
-----------------------------------------------------------------------
http://mlblog.osdir.com/programming.swig/2003-02/msg00053.html
-----------------------------------------------------------------------
doxygen is pretty advanced for this project:
http://sourceforge.net/projects/od1n/
-----------------------------------------------------------------------
STL-based (non-validating) XML Parser
http://www.codeguru.com/cpp/i-n/internet/xml/article.php/c3451/
-----------------------------------------------------------------------
There is subttle bug in the Part3 support:
<entry group="0010" element="1002" name="Other Patient IDs Sequence" type="3">
<description>A sequence of identification numbers or codes used to identify the patient, which may or may not be human readable, and may or may not have been obtained from an implanted or attached device such as an RFID or barcode.
If present, shall contain one or more items.</description>
</entry>
<entry group="0010" element="0020" name=">Patient ID" type="1">
<description>An identification number or code used to identify the patient.</description>
</entry>
<entry group="0010" element="0021" name=">Issuer of Patient ID" type="1">
<description>Identifier of the Assigning Authority that issued the Patient ID.</description>
</entry>
<entry group="0010" element="0022" name=">Type of Patient ID" type="1">
<description>The type of identifier in this item. Defined Terms:
TEXT
RFID
BARCODE
Note: The identifier is coded as a string regardless of the type, not as a binary value.</description>
What this means is that 10,22 is Type 1 only within sequence 10,1002
-----------------------------------------------------------------------
Yet another brain dead philips DICOM image:
gdcmDataExtra/gdcmBreakers/Unexpected-Sequence-Terminator/images/Philips-Intera_Unexpected_Sequence_Terminator_1.dcm
(2005,e005) DS (CS) [75.0] # 4,1 Synergy Reconstruction Type
...
(2005,e030) FL 79.9997\0 # 8,1 (2) ?
-----------------------------------------------------------------------
Thread with Philips BigEndian/LittleEndian inversion
http://www.creatis.insa-lyon.fr/pipermail/dcmlib/2004-November/000898.html
-----------------------------------------------------------------------
Looks like ELSCINT1 is doing a group xx for element:
{0x6003,0x0010,"ELSCINT1",VR::CS,VM::VM1,"Text Overlay Flag",false },
need to repeat for:
{0x6005,0x0010,"ELSCINT1",VR::CS,VM::VM1,"Text Overlay Flag",false },
and so and so forth...
-----------------------------------------------------------------------
SIEMENS MrProt / IDEA / Numaris stuff:
apt-get source minc-tools
conversion/dcm2mnc/dicom_to_minc.c
./conversion/dcm2mnc/siemens_to_dicom.c
./conversion/dcm2mnc/siemens_header_defs.h
http://www.nmr.mgh.harvard.edu/~greve/dicom-unpack
http://atonal.ucdavis.edu/matlab/fmri/spm5/spm_dicom_convert.m
-----------------------------------------------------------------------
cmake export() might be helpful to cleanup cmakelists.txt
-----------------------------------------------------------------------
BasicOffsetTable is never computed...
-----------------------------------------------------------------------
Need a gdcm::DataSetToPythonDict class
-----------------------------------------------------------------------
Need a gdcm::ApplyRuleFilter class
where Addrule:
void AddRule( void(*func)(DataElement &de) )
where
void func(DataElement &de)
{
if( de.IsPrivate() )
{
ds.Remove( de );
}
}
-----------------------------------------------------------------------
Fix the UseGDCM. So that user can do:
FIND_PACKAGE(GDCM REQUIRED)
INCLUDE( ${GDCM_USE_FILE} )
ADD_EXECUTABLE(bla bla.cxx)
TARGET_LIBK_LIBRARIES(bla vtkgdcm)
-----------------------------------------------------------------------
http://www.4bitterguys.com/phpBB2/viewtopic.php?t=7426
http://www.data-compression.info/ABC/index.htm
http://www.geocities.com/truth_out_there/additionalinfo.html
-----------------------------------------------------------------------
FIX data dict, missing bunch of old acr nema stuff
-----------------------------------------------------------------------
Create a toplevel main gdcmswig.i to avoid code duplication for C# and python
-----------------------------------------------------------------------
This is a SC, with Pixel Spacing and Rescale Slope/Intercept
gdcmData/WeirdOverlayThingy.dcm
Using gdcm2vtk will loose everything...
-----------------------------------------------------------------------
C# has some sort of compilation in XML to construct the documentation... to investigate
-----------------------------------------------------------------------
RegionOfInterestImageFilter is the streaming interface for ITKIO
-----------------------------------------------------------------------
http://www.stack.nl/~dimitri/doxygen/external.html
with tag file from:
http://www.vtk.org/doc/release/5.2/
or:
http://www.vtk.org/doc/nightly/
-----------------------------------------------------------------------
TODO: explicit TS for:
LUTDATA_implicit_OW.dcm
-----------------------------------------------------------------------
Fix gdcm::Sorter::SetSortFunction for wrapped language
-----------------------------------------------------------------------
Add more siemens stuff from:
dicom_to_minc.c
apt-get source minc
-----------------------------------------------------------------------
file meta header does not check for valid of imp class uid
Need to be UIDGenerator::IsValid
-----------------------------------------------------------------------
Bug gdcmconv should properly autorecompute explicit length for:
BogusItemLengthImplicitPrivateAtt.dcm
-----------------------------------------------------------------------
gdcmconv --squeeze to squeeze extra space (trailing)
-----------------------------------------------------------------------
gdcmimg /usr/share/VTKData/Data/beach.jpg out.dcm
gdcmraw out.dcm out.jpg
-> out.jpg still contains the JFIF marker (color space...)
-----------------------------------------------------------------------
BUG: SERIOUS gdcm does not allow creation of such file
dcmcjpeg +fs 100 GE_DLX-8-MONO2-Multiframe.dcm /tmp/jpeg3.dcm
tricky for jpeg 2000
-----------------------------------------------------------------------
Following same bug: need to fix gdcmconv --split 65536 for multiframe
also need to check BasicOffset is properly discarded
-----------------------------------------------------------------------
Can I handle SetImageFormat (invalid) properly ?
eg. vtkImageData is single comp but ImageFormat=RGB ...
-----------------------------------------------------------------------
FIXME:
gdcmconv --deflated gdcmDataExtra/gdcmNonImageData/c15-5.dcm out.dcm
could not read: gdcmDataExtra/gdcmNonImageData/c15-5.dcm
-----------------------------------------------------------------------
Technically nothing prevent someone from using JPegcompress on PDF object
So gdcm::ImageChangeTransferSyntax should let non-image pass
-----------------------------------------------------------------------
Add support for invalid SC generated from ITK/gdcm 1.2.4
-----------------------------------------------------------------------
When converting an Enhanced CT, IOP is moved from root dataset to
Sharedgroups but original attribute is kept (should be removed)
same goes for WindowLevel, Rescale ...
-----------------------------------------------------------------------
old SC and numberOfFrames > 1:
ITK_GDCM124_MultiframeSecondaryCaptureInvalid.dcm
-----------------------------------------------------------------------
TODO: try to handle:
gdcmData/gdcm-CR-DCMTK-16-NonSamplePerPix.dcm
-----------------------------------------------------------------------
OPJ_LIMIT_DECODING to parse header only
-----------------------------------------------------------------------
check volume_to_jp3d/ jp3d_to_volume to handle JPEG2000 Part 2
-----------------------------------------------------------------------
Write a gdcm2jp2 that would be cool ?
Need to handle PALETTE_COLOR in JP2 palettetized (PCLR)
There is only one problem with slope/rescale -> float
-----------------------------------------------------------------------
Private tags extracted from private DCS is cool, but one would also
need Defined terms, that would be *very* cool !
-----------------------------------------------------------------------
Amicas JP2 to DICOM:
http://www.mikekristofferson.com/misc/mri/amicas-patients/
-----------------------------------------------------------------------
Prepare a DICOM file with VR:UN element with Value Length odd ... what is the padding then ?
-----------------------------------------------------------------------
Add example of JPC (redundancy 3D volume / J2K)
-----------------------------------------------------------------------
Create a PDF Storage class with a trailing Pixel Data element to test broken DICOM implementation
-----------------------------------------------------------------------
Prepare a Basic Pixel Spacing Calibration example but with SC SOP so that
we have Nominal Scanned Pixel Spacing case...
-----------------------------------------------------------------------
I think there is a bug in ByteValue::SetByte. What if byte buffer is 0xfffffffe long ?
internally I ++ the length, which would make it an undefined length.
-----------------------------------------------------------------------
Get rid of polarssl now that OpenSSL completely replaces it
... I might even have to get rid of OpenSSL
http://gdcm.sourceforge.net/wiki/index.php/Tools/openssl#Giving_up_on_OpenSSL
-----------------------------------------------------------------------
gdcmdump map-uid-names
-----------------------------------------------------------------------
+/*
+ * Windows _snprintf and _vsnprintf are not compatible to linux versions.
+ * Result value is not size of buffer needed, but -1 if no fit is possible.
+ *
+ * This function tries to 'fix' this by at least suggesting enlarging the
+ * size by 20.
+ */
-> polarssl
-----------------------------------------------------------------------
Update charls for bug fix (16bits RGB still not working)
-----------------------------------------------------------------------
vtkGDCMImageReader::GetDirectionCosines(uint i)
-----------------------------------------------------------------------
http://blog.mozilla.com/nnethercote/2009/02/27/eliminating-undefined-values-with-valgrind-the-easy-way/
> And just think, if C++ warned about fields uninitialised by constructors,
I think adding -Weffc++ to the CXXFLAGS should help about that.
-----------------------------------------------------------------------
gdcmimg should strip the JFIF / JP2 markers
-----------------------------------------------------------------------
TODO: to get rid of openssl on Win32 one could use the CryptoAPI:
[Example C Program: Signing a Message and Verifying a Message Signature]
http://msdn.microsoft.com/en-us/library/aa382372.aspx
http://www.ureader.com/msg/16591281.aspx
-----------------------------------------------------------------------
Fix gdcm::spacing before release CP-586
-----------------------------------------------------------------------
This is part of CPack's API. There is no API in the make system to use
this feature.
You have to run "make preinstall" to prepare the installation and then
run "cmake -DCOMPONENT=Runtime -P cmake_install.cmake" to do the
component-specific installation.
-----------------------------------------------------------------------
vtkGDCMImageReader:: SetReferencedStudyUID()
to allow creation of DERIVED / SECONDARY
-----------------------------------------------------------------------
Make sure Overlay can reference original instance
question:
image is a reslice of original image, how do I map to original UID ?
-----------------------------------------------------------------------
* There is a current limitation of not handling Referenced SOP Class UID /
* Referenced SOP Instance UID simply because the gdcm::Scanner does not allow us
* See PS 3.11 / Table D.3-2 STD-GEN Additional DICOMDIR Keys
-----------------------------------------------------------------------
RTSTRUCT support
http://www.nabble.com/How-to-load-sequence-items-td20622657.html
Re: How to load sequence items
-----------------------------------------------------------------------
# CPP check
find_program(CPPCHECK_EXECUTABLE NAMES cppcheck
DOC "cppcheck - static check tool")
add_custom_target (cppcheck ${CPPCHECK_EXECUTABLE} -a -f -q
${GDCM_SOURCE_DIR}"
COMMENT "Checking C++ code")
-----------------------------------------------------------------------
Reduce excess linkage:
http://wiki.mandriva.com/en/Development/Tasks/Packaging/Problems/Underlinking
http://wiki.mandriva.com/en/Overlinking
-----------------------------------------------------------------------
Generate doc for python automatically
-----------------------------------------------------------------------
Display Shutter: It should not invert to white when radiologist invert
lookup table
-----------------------------------------------------------------------
Private Tags IMPAC
http://www.varian.com/media/oncology/services_and_support/pdf/dicom/System_Server_8.2_8.5_8.6.pdf
http://www.varian.com/media/oncology/services_and_support/pdf/dicom/System_Server_DCS.pdf
-----------------------------------------------------------------------
http://www.w3.org/People/Bos/JPEG-XMP/
rdjpgxmp : extract XMP metadata from a JPEG file
-----------------------------------------------------------------------
PDFParser:
http://www.codeproject.com/kb/cpp/ExtractPDFText.aspx
http://www.codeproject.com/KB/recipes/mgpdfreader.aspx
passepartout-0.6› src› ps› pdfparser.ccC
http://www.cocoabuilder.com/archive/cocoa/114723-pdf-meta-data.html#115418
http://blog.didierstevens.com/programs/pdf-tools/
http://sourceforge.net/projects/pdfsqueezer/develop
-----------------------------------------------------------------------
FIX Iterator in gdcm::Dict
-----------------------------------------------------------------------
Structured REport for Presentation
-----------------------------------------------------------------------
WADO instead of DICOM protocol
-----------------------------------------------------------------------
http://assimp.sourceforge.net/main_license.html
-----------------------------------------------------------------------
Missing dict for: SIEMENS MED SP DXMG WH AWS 1
http://www.medical.siemens.com/siemens/en_GLOBAL/rg_marcom_FBAs/files/brochures/DICOM/sp_mammo/WH_AWS_VB30_dcs_ekl.pdf
-----------------------------------------------------------------------
Other quantization algorithm:
http://alpng.sourceforge.net/octree.html
-----------------------------------------------------------------------
http://www.hitachimed.com/idc/groups/hitachimedical/documents/supportingdocumentpdf/poc_013216.pdf
|