Package com.pixelmed.apps
Class CompressDicomFiles
- java.lang.Object
-
- com.pixelmed.dicom.MediaImporter
-
- com.pixelmed.apps.CompressDicomFiles
-
public class CompressDicomFiles extends MediaImporter
This class copies a set of DICOM image files, compressing them losslessly with JPEG 2000 (default), JPEG 10918-1 Lossless Huffman SV1, JPEG-LS or RLE.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.pixelmed.dicom.MediaImporter
MediaImporter.MediaImporterWithFileChooserDialogThread, MediaImporter.OurReadTerminationStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
outputFormat
protected java.lang.String
outputPath
protected boolean
reuseSameBaseFileName
protected java.lang.String
transferSyntaxUID
-
Fields inherited from class com.pixelmed.dicom.MediaImporter
logger, mediaDirectoryPath, progressBar, progressBarUpdater, terminateAfterIdentifyingGroup
-
-
Constructor Summary
Constructors Constructor Description CompressDicomFiles(MessageLogger logger)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doSomethingWithDicomFileOnMedia(java.lang.String mediaFileName)
Compress the DICOM file.protected void
doSomethingWithUnwantedFileOnMedia(java.lang.String mediaFileName, java.lang.String transferSyntaxUID, java.lang.String sopClassUID)
Log that file cannot be compressed.protected boolean
isOKToImport(java.lang.String sopClassUID, java.lang.String transferSyntaxUID)
Is the DICOM file OK to compress?static void
main(java.lang.String[] arg)
Copy a set of DICOM image files, compressing them losslessly with JPEG 2000 (default), JPEG 10918-1 Lossless Huffman SV1, JPEG-LS or RLE.-
Methods inherited from class com.pixelmed.dicom.MediaImporter
choosePathAndImportDicomFiles, choosePathAndImportDicomFiles, doSomethingWithDicomFileOnMedia, getDirectory, importDicomFiles, logLn
-
-
-
-
Constructor Detail
-
CompressDicomFiles
public CompressDicomFiles(MessageLogger logger)
-
-
Method Detail
-
isOKToImport
protected boolean isOKToImport(java.lang.String sopClassUID, java.lang.String transferSyntaxUID)
Is the DICOM file OK to compress?
- Overrides:
isOKToImport
in classMediaImporter
- Parameters:
sopClassUID
- the SOP Class UID of the filetransferSyntaxUID
- the Transfer Syntax UID of the file- Returns:
- true if is suitable
-
doSomethingWithUnwantedFileOnMedia
protected void doSomethingWithUnwantedFileOnMedia(java.lang.String mediaFileName, java.lang.String transferSyntaxUID, java.lang.String sopClassUID)
Log that file cannot be compressed.
A subclass could do something more creative, like copy the file to a new file without recompressing it to make sure the set of files remains complete.
- Overrides:
doSomethingWithUnwantedFileOnMedia
in classMediaImporter
- Parameters:
mediaFileName
- the fully qualified path name to a DICOM filetransferSyntaxUID
- the Transfer Syntax of the Data Set if a DICOM file, from the DICOMDIR or Meta Information HeadersopClassUID
- the SOP Class of the Data Set if a DICOM file, from the DICOMDIR or Meta Information Header
-
doSomethingWithDicomFileOnMedia
protected void doSomethingWithDicomFileOnMedia(java.lang.String mediaFileName)
Compress the DICOM file.
- Overrides:
doSomethingWithDicomFileOnMedia
in classMediaImporter
- Parameters:
mediaFileName
- the fully qualified path name to a DICOM file
-
main
public static void main(java.lang.String[] arg)
Copy a set of DICOM image files, compressing them losslessly with JPEG 2000 (default), JPEG 10918-1 Lossless Huffman SV1, JPEG-LS or RLE.
Non-image files are ignored (not copied).
- Parameters:
arg
- array of two or three strings - the input path and the output path and optionally the requested compressed transfer syntax [1.2.840.10008.1.2.4.90|1.2.840.10008.1.2.4.70|1.2.840.10008.1.2.4.80|1.2.840.10008.1.2.5] or output format string [jpeg2000|jpeg-lossless|jpeg-ls|rle]
-
-