private static ImageWriterFactory initDefault() { ImageWriterFactory factory = new ImageWriterFactory(); String name = System.getProperty(ImageWriterFactory.class.getName(), "org/dcm4che3/imageio/codec/ImageWriterFactory.properties"); try { factory.load(name); } catch (Exception e) { throw new RuntimeException( "Failed to load Image Writer Factory configuration from: " + name, e); } return factory; }
public static ImageWriterParam getImageWriterParam(String tsuid) { return getDefault().get(tsuid); }
private void initCompressor(String tsuid) { compressorParam = ImageWriterFactory.getImageWriterParam(tsuid); if (compressorParam == null) throw new UnsupportedOperationException( "Unsupported Transfer Syntax: " + tsuid); this.compressor = ImageWriterFactory.getImageWriter(compressorParam); LOG.debug("Compressor: {}", compressor.getClass().getName()); this.compressParam = compressor.getDefaultWriteParam(); }
public static ImageWriter getImageWriter(ImageWriterParam param) { return Boolean.getBoolean("org.dcm4che3.imageio.codec.useServiceLoader") ? getImageWriterFromServiceLoader(param) : getImageWriterFromImageIOServiceRegistry(param); }
ImageWriterFactory factory = new ImageWriterFactory(); NamingEnumeration<SearchResult> ne = config.search(imageWritersDN, "(objectclass=dcmImageWriter)"); SearchResult sr = ne.next(); Attributes attrs = sr.getAttributes(); factory.put( LdapUtils.stringValue(attrs.get("dicomTransferSyntax"), null), new ImageWriterParam(
private void merge(ConfigurationChanges diffs, ImageWriterFactory prev, ImageWriterFactory factory, String imageWritersDN) throws NamingException { for (Entry<String, ImageWriterParam> entry : prev.getEntries()) { String tsuid = entry.getKey(); if (factory.get(tsuid) == null) { String dn = dnOf(tsuid, imageWritersDN); config.destroySubcontext(dn); ConfigurationChanges.addModifiedObject(diffs, dn, ConfigurationChanges.ChangeType.D); } } for (Entry<String, ImageWriterParam> entry : factory.getEntries()) { String tsuid = entry.getKey(); String dn = dnOf(tsuid, imageWritersDN); ImageWriterParam prevParam = prev.get(tsuid); if (prevParam == null) { ConfigurationChanges.ModifiedObject ldapObj = ConfigurationChanges.addModifiedObject(diffs, dn, ConfigurationChanges.ChangeType.C); config.createSubcontext(dn, storeTo(ConfigurationChanges.nullifyIfNotVerbose(diffs, ldapObj), tsuid, entry.getValue(), new BasicAttributes(true))); } else { ConfigurationChanges.ModifiedObject ldapObj = ConfigurationChanges.addModifiedObject(diffs, dn, ConfigurationChanges.ChangeType.U); config.modifyAttributes(dn, storeDiffs(ldapObj, prevParam, entry.getValue(), new ArrayList<ModificationItem>())); ConfigurationChanges.removeLastIfEmpty(diffs, ldapObj); } } }
private void store(ConfigurationChanges diffs, String deviceDN, ImageWriterFactory factory) throws NamingException { String imageWritersDN = CN_IMAGE_WRITER_FACTORY + deviceDN; ConfigurationChanges.ModifiedObject ldapObj = ConfigurationChanges.addModifiedObject(diffs, imageWritersDN, ConfigurationChanges.ChangeType.C); config.createSubcontext(imageWritersDN, LdapUtils.attrs("dcmImageWriterFactory", "cn", "Image Writer Factory")); for (Entry<String, ImageWriterParam> entry : factory.getEntries()) { String tsuid = entry.getKey(); ConfigurationChanges.ModifiedObject ldapObj1 = ConfigurationChanges.addModifiedObjectIfVerbose(diffs, imageWritersDN, ConfigurationChanges.ChangeType.C); config.createSubcontext(dnOf(tsuid, imageWritersDN), storeTo(ldapObj1, tsuid, entry.getValue(), new BasicAttributes(true))); } }
return false; ImageWriterFactory factory = new ImageWriterFactory(); reader.next(); reader.expect(JsonParser.Event.START_ARRAY); factory.put(tsuid, new ImageWriterFactory.ImageWriterParam(formatName, className, patchJPEGLS, imageWriteParam));
@Override protected void storeTo(Device device, JsonWriter writer) { ImageWriterExtension ext = device.getDeviceExtension(ImageWriterExtension.class); if (ext == null) return; writer.writeStartArray("dcmImageWriter"); for (Map.Entry<String, ImageWriterFactory.ImageWriterParam> entry : ext.getImageWriterFactory().getEntries()) { writer.writeStartObject(); String tsuid = entry.getKey(); ImageWriterFactory.ImageWriterParam param = entry.getValue(); writer.writeNotNullOrDef("dicomTransferSyntax", tsuid, null); writer.writeNotNullOrDef("dcmIIOFormatName", param.formatName, null); writer.writeNotNullOrDef("dcmJavaClassName", param.className, null); writer.writeNotNullOrDef("dcmPatchJPEGLS", param.patchJPEGLS, null); writer.writeNotEmpty("dcmImageWriteParam", param.imageWriteParams); writer.writeEnd(); } writer.writeEnd(); }
return false; ImageWriterFactory factory = new ImageWriterFactory(); reader.next(); reader.expect(JsonParser.Event.START_ARRAY); factory.put(tsuid, new ImageWriterFactory.ImageWriterParam(formatName, className, patchJPEGLS, imageWriteParam));
@Override protected void storeTo(Device device, JsonWriter writer) { ImageWriterExtension ext = device.getDeviceExtension(ImageWriterExtension.class); if (ext == null) return; writer.writeStartArray("dcmImageWriter"); for (Map.Entry<String, ImageWriterFactory.ImageWriterParam> entry : ext.getImageWriterFactory().getEntries()) { writer.writeStartObject(); String tsuid = entry.getKey(); ImageWriterFactory.ImageWriterParam param = entry.getValue(); writer.writeNotNullOrDef("dicomTransferSyntax", tsuid, null); writer.writeNotNullOrDef("dcmIIOFormatName", param.formatName, null); writer.writeNotNullOrDef("dcmJavaClassName", param.className, null); writer.writeNotNullOrDef("dcmPatchJPEGLS", param.patchJPEGLS, null); writer.writeNotEmpty("dcmImageWriteParam", param.imageWriteParams); writer.writeEnd(); } writer.writeEnd(); }
ImageWriterFactory.getImageWriterParam(tsuid); if (param == null) throw new UnsupportedOperationException( "Unsupported Transfer Syntax: " + tsuid); this.compressor = ImageWriterFactory.getImageWriter(param); LOG.debug("Compressor: {}", compressor.getClass().getName()); this.patchJPEGLS = param.patchJPEGLS;