OXIESEC PANEL
- Current Dir:
/
/
usr
/
include
/
gdcm-2.8
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/28/2024 06:50:42 AM
rwxr-xr-x
📄
gdcmAAbortPDU.h
1.43 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmAAssociateACPDU.h
3.22 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmAAssociateRJPDU.h
1.35 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmAAssociateRQPDU.h
5.41 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmARTIMTimer.h
2.48 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmAReleaseRPPDU.h
1.28 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmAReleaseRQPDU.h
1.28 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmASN1.h
1.22 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmAbstractSyntax.h
1.78 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmAnonymizeEvent.h
1.5 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmAnonymizer.h
6.67 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmApplicationContext.h
1.56 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmApplicationEntity.h
1.81 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmAsynchronousOperationsWindowSub.h
1.37 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmAttribute.h
32.28 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmAudioCodec.h
1011 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmBase64.h
1.9 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmBaseCompositeMessage.h
2.39 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmBaseNormalizedMessage.h
2.22 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmBasePDU.h
1.96 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmBaseQuery.h
2.74 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmBaseRootQuery.h
4.33 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmBasicOffsetTable.h
3.17 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmBitmap.h
5.7 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmBitmapToBitmapFilter.h
1.22 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmBoxRegion.h
2.02 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmByteBuffer.h
2.45 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmByteSwap.h
1.46 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmByteSwap.txx
4.55 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmByteSwapFilter.h
1.1 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmByteValue.h
6.53 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCAPICryptoFactory.h
931 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCAPICryptographicMessageSyntax.h
1.96 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCEchoMessages.h
1.46 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCFindMessages.h
1.65 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCMoveMessages.h
1.88 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCP246ExplicitDataElement.h
1.59 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCP246ExplicitDataElement.txx
6.51 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCSAElement.h
4.76 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCSAHeader.h
4.89 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCSAHeader.txx
957 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCSAHeaderDict.h
2.84 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCSAHeaderDictEntry.h
2.74 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCStoreMessages.h
1.8 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCodeString.h
3.67 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCodec.h
809 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCoder.h
1.28 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCommand.h
5.09 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCommandDataSet.h
1.7 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCompositeMessageFactory.h
2.44 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCompositeNetworkFunctions.h
5.84 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmConfigure.h
5.53 KB
02/05/2018 04:49:23 PM
rw-r--r--
📄
gdcmConstCharWrapper.h
1.6 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCryptoFactory.h
1.85 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCryptographicMessageSyntax.h
1.78 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmCurve.h
2.54 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDICOMDIR.h
984 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDICOMDIRGenerator.h
3.85 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDIMSE.h
2.61 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDataElement.h
9 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDataEvent.h
1.53 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDataSet.h
10.79 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDataSet.txx
16.02 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDataSetEvent.h
1.47 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDataSetHelper.h
1.22 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDecoder.h
1.16 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDefinedTerms.h
1.56 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDeflateStream.h
678 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDefs.h
2.04 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDeltaEncodingCodec.h
1.08 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDict.h
9.53 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDictConverter.h
2.05 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDictEntry.h
4.29 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDictPrinter.h
1.04 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDicts.h
2.22 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDirectionCosines.h
1.94 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDirectory.h
3.08 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDirectoryHelper.h
3.51 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDummyValueGenerator.h
1.15 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmDumper.h
1023 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmElement.h
23.5 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmEmptyMaskGenerator.h
2.64 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmEncapsulatedDocument.h
866 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmEnumeratedValues.h
1.53 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmEvent.h
3.07 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmException.h
3.24 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmExplicitDataElement.h
1.36 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmExplicitDataElement.txx
16.27 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmExplicitImplicitDataElement.h
1.81 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmExplicitImplicitDataElement.txx
14.69 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFiducials.h
800 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFile.h
2.1 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFileAnonymizer.h
2.84 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFileChangeTransferSyntax.h
2.2 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFileDecompressLookupTable.h
1.49 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFileDerivation.h
3.19 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFileExplicitFilter.h
2.43 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFileMetaInformation.h
4.78 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFileNameEvent.h
1.51 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFileSet.h
1.62 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFileStreamer.h
4.04 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFilename.h
2.26 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFilenameGenerator.h
2.09 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFindPatientRootQuery.h
1.2 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFindStudyRootQuery.h
1.41 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFragment.h
6.13 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmFragment.txx
711 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmGlobal.h
3.41 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmGroupDict.h
2.29 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmIOD.h
1.85 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmIODEntry.h
2.97 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmIODs.h
2.02 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmIPPSorter.h
4.62 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmIconImage.h
2.47 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmIconImageFilter.h
2.37 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmIconImageGenerator.h
3.09 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImage.h
3.63 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImageApplyLookupTable.h
1.11 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImageChangePhotometricInterpretation.h
3.77 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImageChangePlanarConfiguration.h
2.72 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImageChangeTransferSyntax.h
3.29 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImageCodec.h
4.51 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImageConverter.h
1.27 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImageFragmentSplitter.h
1.53 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImageHelper.h
6.92 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImageReader.h
1.55 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImageRegionReader.h
2.44 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImageToImageFilter.h
1.15 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImageWriter.h
1.46 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImplementationClassUIDSub.h
1.27 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImplementationUIDSub.h
1.14 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImplementationVersionNameSub.h
1.28 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImplicitDataElement.h
1.49 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmImplicitDataElement.txx
18.5 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmItem.h
9.65 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmItem.txx
1.82 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmJPEG12Codec.h
1.26 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmJPEG16Codec.h
1.25 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmJPEG2000Codec.h
2.73 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmJPEG8Codec.h
1.25 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmJPEGCodec.h
3.23 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmJPEGLSCodec.h
2.99 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmJSON.h
1.12 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmKAKADUCodec.h
1.06 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmLO.h
1.81 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmLegacyMacro.h
2.72 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmLookupTable.h
3.33 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmMD5.h
1.41 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmMacro.h
2.93 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmMacroEntry.h
2.57 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmMacros.h
2.05 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmMaximumLengthSub.h
1.39 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmMediaStorage.h
7.39 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmMeshPrimitive.h
2.34 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmModalityPerformedProcedureStepCreateQuery.h
1.3 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmModalityPerformedProcedureStepSetQuery.h
1.28 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmModule.h
3.15 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmModuleEntry.h
2.51 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmModules.h
2.06 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmMovePatientRootQuery.h
1.21 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmMoveStudyRootQuery.h
1.19 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmMrProtocol.h
2.17 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmNActionMessages.h
1.27 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmNCreateMessages.h
1.27 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmNDeleteMessages.h
1.27 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmNEventReportMessages.h
1.31 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmNGetMessages.h
1.24 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmNSetMessages.h
1.24 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmNestedModuleEntries.h
1.88 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmNetworkEvents.h
1.95 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmNetworkStateID.h
2.69 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmNormalizedMessageFactory.h
1.64 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmNormalizedNetworkFunctions.h
3.03 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmObject.h
2.98 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmOpenSSLCryptoFactory.h
1.18 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmOpenSSLCryptographicMessageSyntax.h
2.09 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmOpenSSLP7CryptoFactory.h
1.12 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmOpenSSLP7CryptographicMessageSyntax.h
2.37 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmOrientation.h
1.77 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmOverlay.h
3.71 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPDBElement.h
1.69 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPDBHeader.h
2.92 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPDFCodec.h
1003 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPDUFactory.h
3.42 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPDataTFPDU.h
1.89 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPGXCodec.h
1.21 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPNMCodec.h
1.52 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPVRGCodec.h
1.42 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmParseException.h
2.2 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmParser.h
3.98 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPatient.h
899 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPersonName.h
2.45 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPhotometricInterpretation.h
2.75 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPixelFormat.h
7.44 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPixmap.h
2.29 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPixmapReader.h
2.05 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPixmapToPixmapFilter.h
1.15 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPixmapWriter.h
1.99 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPreamble.h
1.9 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPresentationContext.h
2.21 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPresentationContextAC.h
1.77 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPresentationContextGenerator.h
3.79 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPresentationContextRQ.h
3.18 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPresentationDataValue.h
2.7 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPrinter.h
2.84 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmPrivateTag.h
2.5 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmProgressEvent.h
1.46 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmQueryBase.h
3.48 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmQueryFactory.h
3.58 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmQueryImage.h
1.45 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmQueryPatient.h
1.44 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmQuerySeries.h
1.43 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmQueryStudy.h
1.42 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmRAWCodec.h
1.45 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmRLECodec.h
2.51 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmReader.h
4.39 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmRegion.h
1.68 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmRescaler.h
4.63 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmRoleSelectionSub.h
1.36 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSHA1.h
1.42 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSOPClassExtendedNegociationSub.h
1.56 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSOPClassUIDToIOD.h
1.47 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmScanner.h
7.32 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSegment.h
4.18 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSegmentHelper.h
2.17 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSegmentReader.h
1.58 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSegmentWriter.h
1.52 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSegmentedPaletteColorLookupTable.h
1.16 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSequenceOfFragments.h
11.04 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSequenceOfFragments.txx
756 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSequenceOfItems.h
8.36 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSequenceOfItems.txx
1.22 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSerieHelper.h
3.03 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSeries.h
809 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmServiceClassApplicationInformation.h
1.28 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmServiceClassUser.h
3.94 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSimpleSubjectWatcher.h
2.91 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSmartPointer.h
2.86 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSorter.h
2.55 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSpacing.h
5.05 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSpectroscopy.h
824 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSplitMosaicFilter.h
2.15 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmStaticAssert.h
1.47 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmStreamImageReader.h
5.41 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmStreamImageWriter.h
6.21 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmStrictScanner.h
6.54 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmString.h
4.4 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmStringFilter.h
2.78 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmStudy.h
856 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSubject.h
2.43 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSurface.h
7.6 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSurfaceHelper.h
6.31 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSurfaceReader.h
1.27 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSurfaceWriter.h
1.62 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSwapCode.h
1.52 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSwapper.h
1.6 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSwapper.txx
6.14 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmSystem.h
5.16 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTable.h
1.61 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTableEntry.h
1.04 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTableReader.h
2.97 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTag.h
9.73 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTagKeywords.h
245.37 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTagPath.h
1.46 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTagToType.h
838.4 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTagToVR.h
734 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTerminal.h
1.56 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTestDriver.h
993 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTesting.h
4.38 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTrace.h
8.46 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTransferSyntax.h
4.34 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTransferSyntaxSub.h
1.65 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmType.h
1.86 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmTypes.h
1.96 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmUIDGenerator.h
3.41 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmUIDs.h
46.02 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULAction.h
3.35 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULActionAA.h
3.67 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULActionAE.h
3.7 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULActionAR.h
4.1 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULActionDT.h
1.73 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULBasicCallback.h
2.04 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULConnection.h
5.33 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULConnectionCallback.h
2.47 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULConnectionInfo.h
2.63 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULConnectionManager.h
6.94 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULEvent.h
2.65 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULTransitionTable.h
3.48 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmULWritingCallback.h
1.81 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmUNExplicitDataElement.h
1.46 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmUNExplicitDataElement.txx
6.18 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmUNExplicitImplicitDataElement.h
1.8 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmUNExplicitImplicitDataElement.txx
2.09 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmUUIDGenerator.h
1.04 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmUnpacker12Bits.h
1.72 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmUsage.h
2.61 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmUserInformation.h
2.15 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmVL.h
3.23 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmVM.h
4.92 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmVR.h
9.97 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmVR16ExplicitDataElement.h
1.57 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmVR16ExplicitDataElement.txx
8.84 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmValidate.h
973 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmValue.h
1.34 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmValue.txx
681 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmValueIO.h
1.01 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmValueIO.txx
2.25 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmVersion.h
1.43 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmWLMFindQuery.h
1.26 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmWaveform.h
800 bytes
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmWin32.h
3.05 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmWriter.h
3.03 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmXMLDictReader.h
1.39 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmXMLPrinter.h
3.54 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcmXMLPrivateDictReader.h
1.46 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcm_j2k.h
15.51 KB
11/09/2017 08:09:58 AM
rw-r--r--
📄
gdcm_jp2.h
5.8 KB
11/09/2017 08:09:58 AM
rw-r--r--
📁
gdcmjpeg
-
10/28/2024 06:50:28 AM
rwxr-xr-x
📄
zipstreamimpl.h
10.7 KB
11/09/2017 08:09:58 AM
rw-r--r--
Editing: gdcmSequenceOfFragments.h
Close
/*========================================================================= Program: GDCM (Grassroots DICOM). A DICOM library Copyright (c) 2006-2011 Mathieu Malaterre All rights reserved. See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ #ifndef GDCMSEQUENCEOFFRAGMENTS_H #define GDCMSEQUENCEOFFRAGMENTS_H #include "gdcmValue.h" #include "gdcmVL.h" #include "gdcmFragment.h" #include "gdcmBasicOffsetTable.h" namespace gdcm_ns { // FIXME gdcmSequenceOfItems and gdcmSequenceOfFragments // should be rethink (duplicate code) /** * \brief Class to represent a Sequence Of Fragments * \todo I do not enforce that Sequence of Fragments ends with a SQ end del */ class GDCM_EXPORT SequenceOfFragments : public Value { public: // Typdefs: typedef std::vector<Fragment> FragmentVector; typedef FragmentVector::size_type SizeType; typedef FragmentVector::iterator Iterator; typedef FragmentVector::const_iterator ConstIterator; Iterator Begin() { return Fragments.begin(); } Iterator End() { return Fragments.end(); } ConstIterator Begin() const { return Fragments.begin(); } ConstIterator End() const { return Fragments.end(); } /// \brief constructor (UndefinedLength by default) SequenceOfFragments():Table(),SequenceLengthField(0xFFFFFFFF) { } /// \brief Returns the SQ length, as read from disk VL GetLength() const { return SequenceLengthField; } /// \brief Sets the actual SQ length void SetLength(VL length) { SequenceLengthField = length; } /// \brief Clear void Clear(); /// \brief Appends a Fragment to the already added ones void AddFragment(Fragment const &item); // Compute the length of all fragments (and framents only!). // Basically the size of the PixelData as stored (in bytes). unsigned long ComputeByteLength() const; // Compute the length of fragments (in bytes)+ length of tag... // to be used for computation of Group Length VL ComputeLength() const; // Get the buffer bool GetBuffer(char *buffer, unsigned long length) const; bool GetFragBuffer(unsigned int fragNb, char *buffer, unsigned long &length) const; SizeType GetNumberOfFragments() const; const Fragment& GetFragment(SizeType num) const; // Write the buffer of each fragment (call WriteBuffer on all Fragments, which are // ByteValue). No Table information is written. bool WriteBuffer(std::ostream &os) const; const BasicOffsetTable &GetTable() const { return Table; } BasicOffsetTable &GetTable() { return Table; } template <typename TSwap> std::istream& Read(std::istream &is, bool readvalues = true) { assert( SequenceLengthField.IsUndefined() ); ReadPreValue<TSwap>(is); return ReadValue<TSwap>(is, readvalues); } template <typename TSwap> std::istream& ReadPreValue(std::istream &is) { //if( SequenceLengthField.IsUndefined() ) // First item is the basic offset table: try { Table.Read<TSwap>(is); gdcmDebugMacro( "Table: " << Table ); } catch(...) { // throw "SIEMENS Icon thingy"; // Bug_Siemens_PrivateIconNoItem.dcm // First thing first let's rewind is.seekg(-4, std::ios::cur); // FF D8 <=> Start of Image (SOI) marker // FF E0 <=> APP0 Reserved for Application Use if ( Table.GetTag() == Tag(0xd8ff,0xe0ff) ) { Table = BasicOffsetTable(); // clear up stuff //Table.SetByteValue( "", 0 ); Fragment frag; if( FillFragmentWithJPEG( frag, is ) ) { Fragments.push_back( frag ); } return is; } else { throw "Catch me if you can"; //assert(0); } } return is; } template <typename TSwap> std::istream& ReadValue(std::istream &is, bool /*readvalues*/) { const Tag seqDelItem(0xfffe,0xe0dd); // not used for now... Fragment frag; try { while( frag.Read<TSwap>(is) && frag.GetTag() != seqDelItem ) { //gdcmDebugMacro( "Frag: " << frag ); Fragments.push_back( frag ); } assert( frag.GetTag() == seqDelItem && frag.GetVL() == 0 ); } catch(Exception &ex) { (void)ex; #ifdef GDCM_SUPPORT_BROKEN_IMPLEMENTATION // that's ok ! In all cases the whole file was read, because // Fragment::Read only fail on eof() reached 1. // SIEMENS-JPEG-CorruptFrag.dcm is more difficult to deal with, we have a // partial fragment, read we decide to add it anyway to the stack of // fragments (eof was reached so we need to clear error bit) if( frag.GetTag() == Tag(0xfffe,0xe000) ) { gdcmWarningMacro( "Pixel Data Fragment could be corrupted. Use file at own risk" ); Fragments.push_back( frag ); is.clear(); // clear the error bit } // 2. GENESIS_SIGNA-JPEG-CorruptFrag.dcm else if ( frag.GetTag() == Tag(0xddff,0x00e0) ) { assert( Fragments.size() == 1 ); const ByteValue *bv = Fragments[0].GetByteValue(); assert( (unsigned char)bv->GetPointer()[ bv->GetLength() - 1 ] == 0xfe ); // Yes this is an extra copy, this is a bug anyway, go fix YOUR code Fragments[0].SetByteValue( bv->GetPointer(), bv->GetLength() - 1 ); gdcmWarningMacro( "JPEG Fragment length was declared with an extra byte" " at the end: stripped !" ); is.clear(); // clear the error bit } // 3. LEICA/WSI else if ( (frag.GetTag().GetGroup() == 0x00ff) && ((frag.GetTag().GetElement() & 0x00ff) == 0xe0) ) { // Looks like there is a mess with offset and odd byte array // We are going first to backtrack one byte back, and then use a // ReadBacktrack function which in turn may backtrack up to 10 bytes // backward. This appears to be working on a set of DICOM/WSI files from // LEICA gdcmWarningMacro( "Trying to fix the even-but-odd value length bug #1" ); assert( Fragments.size() ); const size_t lastf = Fragments.size() - 1; const ByteValue *bv = Fragments[ lastf ].GetByteValue(); const char *a = bv->GetPointer(); gdcmAssertAlwaysMacro( (unsigned char)a[ bv->GetLength() - 1 ] == 0xfe ); Fragments[ lastf ].SetByteValue( bv->GetPointer(), bv->GetLength() - 1 ); is.seekg( -9, std::ios::cur ); assert( is.good() ); while( frag.ReadBacktrack<TSwap>(is) && frag.GetTag() != seqDelItem ) { gdcmDebugMacro( "Frag: " << frag ); Fragments.push_back( frag ); } assert( frag.GetTag() == seqDelItem && frag.GetVL() == 0 ); } // 4. LEICA/WSI (bis) else if ( frag.GetTag().GetGroup() == 0xe000 ) { // Looks like there is a mess with offset and odd byte array // We are going first to backtrack one byte back, and then use a // ReadBacktrack function which in turn may backtrack up to 10 bytes // backward. This appears to be working on a set of DICOM/WSI files from // LEICA gdcmWarningMacro( "Trying to fix the even-but-odd value length bug #2" ); assert( Fragments.size() ); const size_t lastf = Fragments.size() - 1; const ByteValue *bv = Fragments[ lastf ].GetByteValue(); const char *a = bv->GetPointer(); gdcmAssertAlwaysMacro( (unsigned char)a[ bv->GetLength() - 2 ] == 0xfe ); Fragments[ lastf ].SetByteValue( bv->GetPointer(), bv->GetLength() - 2 ); is.seekg( -10, std::ios::cur ); assert( is.good() ); while( frag.ReadBacktrack<TSwap>(is) && frag.GetTag() != seqDelItem ) { gdcmDebugMacro( "Frag: " << frag ); Fragments.push_back( frag ); } assert( frag.GetTag() == seqDelItem && frag.GetVL() == 0 ); } // 5. LEICA/WSI (ter) else if ( (frag.GetTag().GetGroup() & 0x00ff) == 0x00e0 && (frag.GetTag().GetElement() & 0xff00) == 0x0000 ) { // Looks like there is a mess with offset and odd byte array // We are going first to backtrack one byte back, and then use a // ReadBacktrack function which in turn may backtrack up to 10 bytes // backward. This appears to be working on a set of DICOM/WSI files from // LEICA gdcmWarningMacro( "Trying to fix the even-but-odd value length bug #3" ); assert( Fragments.size() ); const size_t lastf = Fragments.size() - 1; const ByteValue *bv = Fragments[ lastf ].GetByteValue(); const char *a = bv->GetPointer(); gdcmAssertAlwaysMacro( (unsigned char)a[ bv->GetLength() - 3 ] == 0xfe ); Fragments[ lastf ].SetByteValue( bv->GetPointer(), bv->GetLength() - 3 ); is.seekg( -11, std::ios::cur ); assert( is.good() ); while( frag.ReadBacktrack<TSwap>(is) && frag.GetTag() != seqDelItem ) { gdcmDebugMacro( "Frag: " << frag ); Fragments.push_back( frag ); } assert( frag.GetTag() == seqDelItem && frag.GetVL() == 0 ); } else { // 3. gdcm-JPEG-LossLess3a.dcm: easy case, an extra tag was found // instead of terminator (eof is the next char) gdcmWarningMacro( "Reading failed at Tag:" << frag.GetTag() << " Index #" << Fragments.size() << " Offset " << is.tellg() << ". Use file at own risk." << ex.what() ); } #endif /* GDCM_SUPPORT_BROKEN_IMPLEMENTATION */ } return is; } template <typename TSwap> std::ostream const &Write(std::ostream &os) const { if( !Table.Write<TSwap>(os) ) { assert(0 && "Should not happen"); return os; } for(ConstIterator it = Begin();it != End(); ++it) { it->Write<TSwap>(os); } // seq del item is not stored, write it ! const Tag seqDelItem(0xfffe,0xe0dd); seqDelItem.Write<TSwap>(os); VL zero = 0; zero.Write<TSwap>(os); return os; } //#if defined(SWIGPYTHON) || defined(SWIGCSHARP) || defined(SWIGJAVA) // For now leave it there, this does not make sense in the C++ layer // Create a new object static SmartPointer<SequenceOfFragments> New() { return new SequenceOfFragments(); } //#endif protected: public: void Print(std::ostream &os) const { os << "SQ L= " << SequenceLengthField << "\n"; os << "Table:" << Table << "\n"; for(ConstIterator it = Begin();it != End(); ++it) { os << " " << *it << "\n"; } assert( SequenceLengthField.IsUndefined() ); { const Tag seqDelItem(0xfffe,0xe0dd); VL zero = 0; os << seqDelItem; os << "\t" << zero; } } bool operator==(const Value &val) const { const SequenceOfFragments &sqf = dynamic_cast<const SequenceOfFragments&>(val); return Table == sqf.Table && SequenceLengthField == sqf.SequenceLengthField && Fragments == sqf.Fragments; } private: BasicOffsetTable Table; VL SequenceLengthField; /// \brief Vector of Sequence Fragments FragmentVector Fragments; private: bool FillFragmentWithJPEG( Fragment & frag, std::istream & is ); }; /** * \example DecompressJPEGFile.cs * This is a C# example on how to use gdcm::SequenceOfFragments */ } // end namespace gdcm_ns #endif //GDCMSEQUENCEOFFRAGMENTS_H