public class MultiModalitySimulator
extends java.lang.Object
This class implements a multi-modality simulator that takes a database of existing studies to provide a source of sample images and DICOM attributes, and for each modality within the database, generates random new patients and studies at random intervals using the current date and time.
For example:
try { new MultiModalitySimulator("theirhost","11112","STORESCP","STORESCU","/tmp/testfile.dcm","1.2.840.10008.5.1.4.1.1.7","1.3.6.1.4.1.5962.1.1.0.0.0.1064923879.2077.3232235877",0,0); } catch (Exception e) { e.printStackTrace(System.err); }
From the command line:
java -cp pixelmed.jar:lib/additional/commons-codec-1.3.jar:lib/additional/commons-compress-1.9.jar com.pixelmed.network.MultiModalitySimulator theirhost 11112 STORESCP STORESCU - 0 0
Modifier and Type | Class and Description |
---|---|
protected class |
MultiModalitySimulator.OurMultipleInstanceTransferStatusHandler |
protected class |
MultiModalitySimulator.SpecificModalitySimulator |
Modifier and Type | Field and Description |
---|---|
protected static long |
accessionNumberCounter |
protected java.lang.String |
calledAETitle |
protected DatabaseInformationModel |
databaseInformationModel |
protected int |
debugLevel |
protected java.lang.String |
hostname |
protected java.lang.String |
localFileNameColumnName |
protected static java.lang.String[] |
modalities |
protected java.lang.String |
modalityColumnName |
protected java.lang.String[] |
patientNames |
protected int |
port |
protected java.lang.String |
seriesLocalParentReferenceColumnName |
protected java.util.Map<java.lang.String,java.lang.Integer> |
sleepIntervalForModality |
protected static int[] |
sleepIntervalForModalityInMinutes |
Constructor and Description |
---|
MultiModalitySimulator(java.lang.String hostname,
int port,
java.lang.String calledAETitle,
java.lang.String databaseFileName,
int debugLevel) |
Modifier and Type | Method and Description |
---|---|
protected static void |
deleteFiles(SetOfDicomFiles dicomFiles) |
protected void |
findFilesToSend(InformationEntity ie,
java.lang.String localPrimaryKeyValue,
java.util.List<java.lang.String> dicomFiles) |
protected SetOfDicomFiles |
generateSyntheticStudyFromOriginal(java.util.List<java.lang.String> originalDicomFileNames,
java.lang.String modality,
java.lang.String aeTitleForMetaInformation,
java.lang.String patientName,
java.lang.String patientID,
java.lang.String studyID,
java.lang.String accessionNumber) |
protected int |
getSleepIntervalForModalityInMilliseconds(java.lang.String modality) |
static void |
main(java.lang.String[] arg)
Simulate modalities sending to the specified AE.
|
protected static java.lang.String[] modalities
protected static int[] sleepIntervalForModalityInMinutes
protected java.util.Map<java.lang.String,java.lang.Integer> sleepIntervalForModality
protected static long accessionNumberCounter
protected java.lang.String[] patientNames
protected int debugLevel
protected java.lang.String seriesLocalParentReferenceColumnName
protected java.lang.String localFileNameColumnName
protected java.lang.String modalityColumnName
protected DatabaseInformationModel databaseInformationModel
protected java.lang.String hostname
protected int port
protected java.lang.String calledAETitle
public MultiModalitySimulator(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String databaseFileName, int debugLevel) throws DicomException
DicomException
protected int getSleepIntervalForModalityInMilliseconds(java.lang.String modality)
protected void findFilesToSend(InformationEntity ie, java.lang.String localPrimaryKeyValue, java.util.List<java.lang.String> dicomFiles) throws DicomException
DicomException
protected SetOfDicomFiles generateSyntheticStudyFromOriginal(java.util.List<java.lang.String> originalDicomFileNames, java.lang.String modality, java.lang.String aeTitleForMetaInformation, java.lang.String patientName, java.lang.String patientID, java.lang.String studyID, java.lang.String accessionNumber) throws DicomException, java.io.IOException
DicomException
java.io.IOException
protected static void deleteFiles(SetOfDicomFiles dicomFiles)
public static void main(java.lang.String[] arg)
Simulate modalities sending to the specified AE.
arg
- array of five strings - their hostname, their port, their AE Title,
the source database name,
and the debugging level