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: gdcmAnonymizer.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 GDCMANONYMIZER_H #define GDCMANONYMIZER_H #include "gdcmFile.h" #include "gdcmSubject.h" #include "gdcmEvent.h" #include "gdcmSmartPointer.h" #include <map> namespace gdcm { class TagPath; class IOD; class CryptographicMessageSyntax; /** * \brief Anonymizer * \details This class is a multi purpose anonymizer. It can work in 2 mode: * - Full (irreversible) anonymizer (aka dumb mode) * - reversible de-identifier/re-identifier (aka smart mode). This implements the Basic Application Level Confidentiality Profile, DICOM PS 3.15-2009 * * 1. dumb mode * This is a dumb anonymizer implementation. All it allows user is simple operation such as: * * Tag based functions: * - complete removal of DICOM attribute (Remove) * - make a tag empty, ie make it's length 0 (Empty) * - replace with another string-based value (Replace) * * DataSet based functions: * - Remove all group length attribute from a DICOM dataset (Group Length element are deprecated, DICOM 2008) * - Remove all private attributes * - Remove all retired attributes * * All function calls actually execute the user specified request. Previous * implementation were calling a general Anonymize function but traversing a * std::set is O(n) operation, while a simple user specified request is * O(log(n)) operation. So 'm' user interaction is O(m*log(n)) which is < O(n) * complexity. * * 2. smart mode * this mode implements the Basic Application Level Confidentiality Profile * (DICOM PS 3.15-2008) In this case, it is extremely important to use the same * Anonymizer class when anonymizing a FileSet. Once the Anonymizer * is destroyed its memory of known (already processed) UIDs will be lost. * which will make the anonymizer behaves incorrectly for attributes such as * Series UID Study UID where user want some consistency. When attribute is * Type 1 / Type 1C, a dummy generator will take in the existing value and * produce a dummy value (a sha1 representation). sha1 algorithm is considered * to be cryptographically strong (compared to md5sum) so that we meet the * following two conditions: * - Produce the same dummy value for the same input value * - do not provide an easy way to retrieve the original value from the sha1 generated value * * This class implement the Subject/Observer pattern trigger the following event: * \li AnonymizeEvent * \li IterationEvent * \li StartEvent * \li EndEvent * * \see CryptographicMessageSyntax */ class GDCM_EXPORT Anonymizer : public Subject { public: Anonymizer():F(new File),CMS(NULL) {} ~Anonymizer(); /// Make Tag t empty (if not found tag will be created) /// Warning: does not handle SQ element bool Empty( Tag const &t ); //bool Empty( PrivateTag const &t ); //bool Empty( TagPath const &t ); /// remove a tag (even a SQ can be removed) /// Return code is false when tag t cannot be found bool Remove( Tag const &t ); //bool Remove( PrivateTag const &t ); //bool Remove( TagPath const &t ); /// Replace tag with another value, if tag is not found it will be created: /// WARNING: this function can only execute if tag is a VRASCII bool Replace( Tag const &t, const char *value ); /// when the value contains \0, it is a good idea to specify the length. This function /// is required when dealing with VRBINARY tag bool Replace( Tag const &t, const char *value, VL const & vl ); //bool Replace( PrivateTag const &t, const char *value, VL const & vl ); //bool Replace( TagPath const &t, const char *value, VL const & vl ); /// Main function that loop over all elements and remove private tags bool RemovePrivateTags(); /// Main function that loop over all elements and remove group length bool RemoveGroupLength(); /// Main function that loop over all elements and remove retired element bool RemoveRetired(); // TODO: // bool Remove( PRIVATE_TAGS | GROUP_LENGTH | RETIRED ); /// Set/Get File void SetFile(const File& f) { F = f; } //const File &GetFile() const { return *F; } File &GetFile() { return *F; } /// PS 3.15 / E.1.1 De-Identifier /// An Application may claim conformance to the Basic Application Level Confidentiality Profile as a deidentifier /// if it protects all Attributes that might be used by unauthorized entities to identify the patient. /// NOT THREAD SAFE bool BasicApplicationLevelConfidentialityProfile(bool deidentify = true); /// Set/Get CMS key that will be used to encrypt the dataset within BasicApplicationLevelConfidentialityProfile void SetCryptographicMessageSyntax( CryptographicMessageSyntax *cms ); const CryptographicMessageSyntax *GetCryptographicMessageSyntax() const; /// for wrapped language: instantiate a reference counted object static SmartPointer<Anonymizer> New() { return new Anonymizer; } /// Return the list of Tag that will be considered when anonymizing a DICOM file. static std::vector<Tag> GetBasicApplicationLevelConfidentialityProfileAttributes(); /// Clear the internal mapping of real UIDs to generated UIDs /// \warning the mapping is definitely lost static void ClearInternalUIDs(); protected: // Internal function used to either empty a tag or set it's value to a dummy value (Type 1 vs Type 2) bool BALCPProtect(DataSet &ds, Tag const & tag, const IOD &iod); bool CanEmptyTag(Tag const &tag, const IOD &iod) const; void RecurseDataSet( DataSet & ds ); private: bool BasicApplicationLevelConfidentialityProfile1(); bool BasicApplicationLevelConfidentialityProfile2(); bool CheckIfSequenceContainsAttributeToAnonymize(File const &file, SequenceOfItems* sqi) const; private: // I would prefer to have a smart pointer to DataSet but DataSet does not derive from Object... SmartPointer<File> F; CryptographicMessageSyntax *CMS; typedef std::pair< Tag, std::string > TagValueKey; typedef std::map< TagValueKey, std::string > DummyMapNonUIDTags; typedef std::map< std::string, std::string > DummyMapUIDTags; static DummyMapNonUIDTags dummyMapNonUIDTags; static DummyMapUIDTags dummyMapUIDTags; }; /** * \example ManipulateFile.cs * \example ClinicalTrialIdentificationWorkflow.cs * This is a C# example on how to use Anonymizer */ } // end namespace gdcm #endif //GDCMANONYMIZER_H