├── .gitignore
├── .maven-env
├── .travis.yml
├── LICENSE.txt
├── README.md
├── examples
├── README.txt
├── pom.xml
└── src
│ └── main
│ └── java
│ └── it
│ └── tidalwave
│ └── imageio
│ └── example
│ └── stats
│ └── FocalLengthStats.java
├── functional-tests
├── jse
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── Dummy.java
│ │ └── test
│ │ └── java
│ │ └── it
│ │ └── tidalwave
│ │ └── imageio
│ │ └── rawprocessor
│ │ ├── arw
│ │ └── ARWProcessorTest.java
│ │ ├── cr2
│ │ └── CR2ProcessorTest.java
│ │ ├── crw
│ │ └── CRWProcessorTest.java
│ │ ├── dng
│ │ └── DNGProcessorTest.java
│ │ ├── mrw
│ │ └── MRWProcessorTest.java
│ │ ├── nef
│ │ └── NEFProcessorTest.java
│ │ ├── orf
│ │ └── ORFProcessorTest.java
│ │ ├── pef
│ │ └── PEFProcessorTest.java
│ │ └── raf
│ │ └── RAFProcessorTest.java
└── tests
│ └── pom.xml
├── modules
├── codec
│ ├── LICENSE.txt
│ ├── TODO.old-build.xml
│ ├── nb-configuration.xml
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── CanonCRWMakerNote.properties
│ │ │ ├── TIFF.properties
│ │ │ └── it
│ │ │ │ └── tidalwave
│ │ │ │ └── imageio
│ │ │ │ ├── arw
│ │ │ │ ├── ARWImageReader.java
│ │ │ │ ├── ARWImageReaderSpi.java
│ │ │ │ ├── ARWMakerNote.java
│ │ │ │ ├── ARWMetadata.java
│ │ │ │ └── ARWRasterReader.java
│ │ │ │ ├── cr2
│ │ │ │ ├── CR2ImageReader.java
│ │ │ │ ├── CR2ImageReaderSpi.java
│ │ │ │ ├── CR2Metadata.java
│ │ │ │ ├── CR2RasterReader.java
│ │ │ │ ├── CR2SensorInfo.java
│ │ │ │ └── CanonCR2MakerNote.java
│ │ │ │ ├── crw
│ │ │ │ ├── CIFFTag.java
│ │ │ │ ├── CRWImageInputStream.java
│ │ │ │ ├── CRWImageReader.java
│ │ │ │ ├── CRWImageReaderSpi.java
│ │ │ │ ├── CRWMetadata.java
│ │ │ │ ├── CRWRasterReader.java
│ │ │ │ └── CanonCRWMakerNote.java
│ │ │ │ ├── dcr
│ │ │ │ ├── DCRImageReader.java
│ │ │ │ ├── DCRImageReaderSpi.java
│ │ │ │ ├── DCRMetadata.java
│ │ │ │ ├── DCRRasterReader.java
│ │ │ │ └── KodakMakerNote.java
│ │ │ │ ├── decoder
│ │ │ │ ├── HuffmannDecoder.java
│ │ │ │ └── LosslessJPEGDecoder.java
│ │ │ │ ├── dng
│ │ │ │ ├── DNGImageReader.java
│ │ │ │ ├── DNGImageReaderSpi.java
│ │ │ │ ├── DNGMetadata.java
│ │ │ │ └── DNGRasterReader.java
│ │ │ │ ├── io
│ │ │ │ ├── BitReader.java
│ │ │ │ ├── FastBitReader.java
│ │ │ │ ├── FileImageInputStream2.java
│ │ │ │ ├── FileImageInputStream2Spi.java
│ │ │ │ ├── RAWImageInputStream.java
│ │ │ │ ├── RAWImageInputStreamImpl.java
│ │ │ │ ├── SixteenBitsReader.java
│ │ │ │ └── TwelveBitsReader.java
│ │ │ │ ├── makernote
│ │ │ │ └── LeicaMakerNote.java
│ │ │ │ ├── minolta
│ │ │ │ └── MinoltaRawData.java
│ │ │ │ ├── mrw
│ │ │ │ ├── MRWHeaderProcessor.java
│ │ │ │ ├── MRWImageReader.java
│ │ │ │ ├── MRWImageReaderSpi.java
│ │ │ │ ├── MRWMetadata.java
│ │ │ │ ├── MRWRasterReader.java
│ │ │ │ └── MinoltaMakerNote.java
│ │ │ │ ├── nef
│ │ │ │ ├── NDFRasterReader.java
│ │ │ │ ├── NEFCompressionData.java
│ │ │ │ ├── NEFHeaderProcessor.java
│ │ │ │ ├── NEFImageReader.java
│ │ │ │ ├── NEFImageReaderSpi.java
│ │ │ │ ├── NEFMetadata.java
│ │ │ │ ├── NEFRasterReader.java
│ │ │ │ ├── NEFWhiteBalanceInfo.java
│ │ │ │ ├── NikonLensInfo.java
│ │ │ │ ├── NikonMakerNote3.java
│ │ │ │ ├── RasterReaderCoolpix.java
│ │ │ │ ├── RasterReader_NIKON_D100.java
│ │ │ │ └── RasterReader_NIKON_D3.java
│ │ │ │ ├── orf
│ │ │ │ ├── CSeriesRasterReader.java
│ │ │ │ ├── CameraSettings.java
│ │ │ │ ├── E300RasterReader.java
│ │ │ │ ├── E410RasterReader.java
│ │ │ │ ├── Equipment.java
│ │ │ │ ├── FocusInfo.java
│ │ │ │ ├── ImageProcessing.java
│ │ │ │ ├── ORFImageReader.java
│ │ │ │ ├── ORFImageReaderSpi.java
│ │ │ │ ├── ORFMetadata.java
│ │ │ │ ├── ORFRasterReader.java
│ │ │ │ ├── OlympusMakerNote.java
│ │ │ │ ├── RawDevelopment.java
│ │ │ │ └── SPRasterReader.java
│ │ │ │ ├── pef
│ │ │ │ ├── PEFDecoder.java
│ │ │ │ ├── PEFImageReader.java
│ │ │ │ ├── PEFImageReaderSpi.java
│ │ │ │ ├── PEFMetadata.java
│ │ │ │ ├── PEFRasterReader.java
│ │ │ │ └── PentaxMakerNote.java
│ │ │ │ ├── raf
│ │ │ │ ├── FujiMakerNote.java
│ │ │ │ ├── FujiRawData.java
│ │ │ │ ├── FujiTable1.java
│ │ │ │ ├── RAFHeaderProcessor.java
│ │ │ │ ├── RAFImageReader.java
│ │ │ │ ├── RAFImageReaderSpi.java
│ │ │ │ ├── RAFMetadata.java
│ │ │ │ └── RAFRasterReader.java
│ │ │ │ ├── raw
│ │ │ │ ├── AbstractTag.java
│ │ │ │ ├── Directory.java
│ │ │ │ ├── HeaderProcessor.java
│ │ │ │ ├── Packed12RasterReader.java
│ │ │ │ ├── PostProcessor.java
│ │ │ │ ├── RAWImageReadParam.java
│ │ │ │ ├── RAWImageReader.java
│ │ │ │ ├── RAWImageReaderSpiSupport.java
│ │ │ │ ├── RAWImageReaderSupport.java
│ │ │ │ ├── RAWMetadataSupport.java
│ │ │ │ ├── RasterReader.java
│ │ │ │ ├── Source.java
│ │ │ │ ├── TagRational.java
│ │ │ │ ├── TagRegistry.java
│ │ │ │ └── Version.java
│ │ │ │ ├── rawprocessor
│ │ │ │ └── RAWProcessorInstallerSpi.java
│ │ │ │ ├── srf
│ │ │ │ ├── SRFImageInputStream.java
│ │ │ │ ├── SRFImageReader.java
│ │ │ │ ├── SRFImageReaderSpi.java
│ │ │ │ ├── SRFMetadata.java
│ │ │ │ ├── SRFRasterReader.java
│ │ │ │ ├── SonyDecipher.java
│ │ │ │ ├── SonyMakerNote.java
│ │ │ │ ├── SonySRF0.java
│ │ │ │ ├── SonySRF1.java
│ │ │ │ ├── SonySRF2.java
│ │ │ │ ├── SonySRF3.java
│ │ │ │ ├── SonySRF4.java
│ │ │ │ ├── SonySRF5.java
│ │ │ │ └── SonySRF6.java
│ │ │ │ ├── tiff
│ │ │ │ ├── IFD.java
│ │ │ │ ├── IFDSupport.java
│ │ │ │ ├── TIFFImageReaderSupport.java
│ │ │ │ ├── TIFFMetadataSupport.java
│ │ │ │ ├── TIFFTag.java
│ │ │ │ └── ThumbnailLoader.java
│ │ │ │ └── util
│ │ │ │ ├── DefaultLookup.java
│ │ │ │ ├── DefaultingLookup.java
│ │ │ │ ├── Logger.java
│ │ │ │ ├── Lookup.java
│ │ │ │ └── VersionLoader.java
│ │ ├── metadata
│ │ │ ├── CanonCR2MakerNote.xml
│ │ │ ├── CanonCRWMakerNote.xml
│ │ │ ├── Directory.xsd
│ │ │ ├── FujiMakerNote.xml
│ │ │ ├── KodakMakerNote.xml
│ │ │ ├── LeicaMakerNote.xml
│ │ │ ├── MinoltaMakerNote.xml
│ │ │ ├── Nikon3MakerNote.xml
│ │ │ ├── OlympusCameraSettings.xml
│ │ │ ├── OlympusEquipment.xml
│ │ │ ├── OlympusFocusInfo.xml
│ │ │ ├── OlympusImageProcessing.xml
│ │ │ ├── OlympusMakerNote.xml
│ │ │ ├── OlympusRawDevelopment.xml
│ │ │ ├── PentaxMakerNote.xml
│ │ │ ├── SonyMakerNote.xml
│ │ │ ├── html
│ │ │ │ ├── CanonCR2MakerNote.html
│ │ │ │ ├── CanonCRWMakerNote.html
│ │ │ │ ├── KodakMakerNote.html
│ │ │ │ ├── MinoltaMakerNote.html
│ │ │ │ ├── Nikon3MakerNote.html
│ │ │ │ ├── OlympusMakerNote.html
│ │ │ │ ├── PentaxMakerNote.html
│ │ │ │ └── SonyMakerNote.html
│ │ │ └── xslt
│ │ │ │ ├── DirectoryToJava.xslt
│ │ │ │ ├── DirectoryToTable.xslt
│ │ │ │ └── DirectoryToText.xslt
│ │ ├── resources
│ │ │ ├── META-INF
│ │ │ │ └── services
│ │ │ │ │ ├── javax.imageio.spi.ImageInputStreamSpi
│ │ │ │ │ └── javax.imageio.spi.ImageReaderSpi
│ │ │ └── it
│ │ │ │ └── tidalwave
│ │ │ │ └── imageio
│ │ │ │ ├── cr2
│ │ │ │ └── CanonLens.properties
│ │ │ │ ├── crw
│ │ │ │ └── CanonLens.properties
│ │ │ │ ├── nef
│ │ │ │ └── NikonLens.properties
│ │ │ │ └── raw
│ │ │ │ └── version.properties
│ │ └── scripts
│ │ │ └── generate-sources.xml
│ │ ├── test
│ │ ├── java
│ │ │ └── it
│ │ │ │ └── tidalwave
│ │ │ │ ├── imageio
│ │ │ │ ├── arw
│ │ │ │ │ └── ARWImageReaderTest.java
│ │ │ │ ├── cr2
│ │ │ │ │ └── CR2ImageReaderTest.java
│ │ │ │ ├── crw
│ │ │ │ │ └── CRWImageReaderTest.java
│ │ │ │ ├── dng
│ │ │ │ │ └── DNGImageReaderTest.java
│ │ │ │ ├── io
│ │ │ │ │ └── BitReaderTest.java
│ │ │ │ ├── mrw
│ │ │ │ │ └── MRWImageReaderTest.java
│ │ │ │ ├── nef
│ │ │ │ │ └── NEFImageReaderTest.java
│ │ │ │ ├── orf
│ │ │ │ │ └── ORFImageReaderTest.java
│ │ │ │ ├── pef
│ │ │ │ │ └── PEFImageReaderTest.java
│ │ │ │ ├── raf
│ │ │ │ │ └── RAFImageReaderTest.java
│ │ │ │ ├── raw
│ │ │ │ │ └── SourceTest.java
│ │ │ │ ├── srf
│ │ │ │ │ └── SRFImageReaderTest.java
│ │ │ │ └── test
│ │ │ │ │ ├── ExpectedResults.java
│ │ │ │ │ ├── ImageReaderTestSupport.java
│ │ │ │ │ ├── NewImageReaderTestSupport.java
│ │ │ │ │ └── TestSupport.java
│ │ │ │ └── thesefoolishthings
│ │ │ │ └── junit
│ │ │ │ ├── MultiThreadHandler.java
│ │ │ │ ├── MyParameterized.java
│ │ │ │ └── ParallelRunnerScheduler.java
│ │ └── resources
│ │ │ └── it
│ │ │ └── tidalwave
│ │ │ └── imageio
│ │ │ └── test
│ │ │ └── log.properties
│ │ └── tool
│ │ └── IFDGenerator.java
├── jrawio-all
│ └── pom.xml
├── jrawio-test
│ ├── LICENSE.txt
│ ├── README.txt
│ ├── Supported.html
│ ├── findvalues.sh
│ ├── samples
│ │ ├── html
│ │ │ ├── 100_0043.CRW.html
│ │ │ ├── 1ds2_0000_1253.CR2.html
│ │ │ ├── 20050527-0104.NDF.html
│ │ │ ├── 350d_0000_0103.CR2.html
│ │ │ ├── DSC07598.SRF.html
│ │ │ ├── DSC_0001-SavedAsNef.nef.html
│ │ │ ├── DSC_0208.NEF.html
│ │ │ ├── DSC_3616.NEF.html
│ │ │ ├── IMGP3469.PEF.html
│ │ │ ├── L2060314.DNG.html
│ │ │ ├── P3140074.ORF.html
│ │ │ ├── PENTAX-ISD.PEF.html
│ │ │ ├── Silver.DCR.html
│ │ │ ├── _D6H0092.CR2.html
│ │ │ ├── _DSC0255.NEF.html
│ │ │ ├── _DSC7001.NEF.html
│ │ │ ├── d70_0000_0614.DNG.html
│ │ │ ├── debconf5_hut.cr2.html
│ │ │ ├── pc260025.orf.html
│ │ │ └── pict0340.mrw.html
│ │ ├── xml
│ │ │ ├── 100_0043.CRW.xml
│ │ │ ├── 1ds2_0000_1253.CR2.xml
│ │ │ ├── 20050527-0104.NDF.xml
│ │ │ ├── 350d_0000_0103.CR2.xml
│ │ │ ├── DSC07598.SRF.xml
│ │ │ ├── DSC_0001-SavedAsNef.nef.xml
│ │ │ ├── DSC_0208.NEF.xml
│ │ │ ├── DSC_3616.NEF.xml
│ │ │ ├── IMGP3469.PEF.xml
│ │ │ ├── L2060314.DNG.xml.gz
│ │ │ ├── P3140074.ORF.xml
│ │ │ ├── PENTAX-ISD.PEF.xml
│ │ │ ├── Silver.DCR.xml
│ │ │ ├── _D6H0092.CR2.xml
│ │ │ ├── _DSC0255.NEF.xml
│ │ │ ├── _DSC7001.NEF.xml
│ │ │ ├── d70_0000_0614.DNG.xml
│ │ │ ├── debconf5_hut.cr2.xml
│ │ │ ├── pc260025.orf.xml
│ │ │ ├── pict0340.mrw.xml
│ │ │ └── x.txt
│ │ └── xslt
│ │ │ └── MetadataToTable.xslt
│ ├── src
│ │ ├── main
│ │ │ └── java
│ │ │ │ ├── Dump.java
│ │ │ │ └── files
│ │ └── test
│ │ │ └── java
│ │ │ └── it
│ │ │ └── tidalwave
│ │ │ └── imageio
│ │ │ └── test
│ │ │ ├── ImageReaderTest.java
│ │ │ ├── TestContext.java
│ │ │ └── util
│ │ │ ├── DirectoryTester.java
│ │ │ ├── FailureReporter.java
│ │ │ ├── PixelSpeed.java
│ │ │ ├── PropertyTracker.java
│ │ │ └── Report.java
│ └── test-log.properties
└── processor
│ ├── LICENSE.txt
│ ├── demo.sh
│ ├── nb-configuration.xml
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── it
│ │ │ └── tidalwave
│ │ │ └── imageio
│ │ │ ├── nef
│ │ │ └── NikonCaptureEditorMetadata.java
│ │ │ └── rawprocessor
│ │ │ ├── ColorMatrix.java
│ │ │ ├── Curve.java
│ │ │ ├── Operation.java
│ │ │ ├── OperationSupport.java
│ │ │ ├── PipelineArtifact.java
│ │ │ ├── RAWProcessor.java
│ │ │ ├── RAWProcessorInstaller.java
│ │ │ ├── Version.java
│ │ │ ├── arw
│ │ │ ├── ARWCurveOperation.java
│ │ │ ├── ARWProcessor.java
│ │ │ ├── ARWSizeOperation.java
│ │ │ └── ARWWhiteBalanceOperation.java
│ │ │ ├── cr2
│ │ │ ├── CR2ColorConversionOperation.java
│ │ │ ├── CR2CurveOperation.java
│ │ │ ├── CR2Processor.java
│ │ │ ├── CR2SizeOperation.java
│ │ │ └── CR2WhiteBalanceOperation.java
│ │ │ ├── crw
│ │ │ ├── CRWColorConversionOperation.java
│ │ │ ├── CRWCurveOperation.java
│ │ │ ├── CRWProcessor.java
│ │ │ ├── CRWSizeOperation.java
│ │ │ └── CRWWhiteBalanceOperation.java
│ │ │ ├── demosaic
│ │ │ ├── BayerInfo.java
│ │ │ ├── BayerInfo_BGGR.java
│ │ │ ├── BayerInfo_GBRG.java
│ │ │ ├── BayerInfo_GRBG.java
│ │ │ ├── BayerInfo_RGGB.java
│ │ │ ├── BilinearDemosaicingFilter.java
│ │ │ ├── DemosaicFilterProcessor.java
│ │ │ ├── DemosaicingFilter.java
│ │ │ └── PixelGroupingDemosaicingFilter.java
│ │ │ ├── dng
│ │ │ ├── DNGColorConversionOperation.java
│ │ │ ├── DNGCurveOperation.java
│ │ │ ├── DNGProcessor.java
│ │ │ ├── DNGSizeOperation.java
│ │ │ └── DNGWhiteBalanceOperation.java
│ │ │ ├── mrw
│ │ │ ├── MRWCurveOperation.java
│ │ │ ├── MRWProcessor.java
│ │ │ ├── MRWSizeOperation.java
│ │ │ └── MRWWhiteBalanceOperation.java
│ │ │ ├── nef
│ │ │ ├── NEFColorConversionOperation.java
│ │ │ ├── NEFCurveOperation.java
│ │ │ ├── NEFExposureOperation.java
│ │ │ ├── NEFProcessor.java
│ │ │ ├── NEFRotateOperation.java
│ │ │ ├── NEFSizeOperation.java
│ │ │ └── NEFWhiteBalanceOperation.java
│ │ │ ├── orf
│ │ │ ├── ORFColorConversionOperation.java
│ │ │ ├── ORFCurveOperation.java
│ │ │ ├── ORFProcessor.java
│ │ │ ├── ORFSizeOperation.java
│ │ │ └── ORFWhiteBalanceOperation.java
│ │ │ ├── pef
│ │ │ ├── PEFCurveOperation.java
│ │ │ ├── PEFProcessor.java
│ │ │ ├── PEFSizeOperation.java
│ │ │ └── PEFWhiteBalanceOperation.java
│ │ │ ├── raf
│ │ │ ├── RAFCurveOperation.java
│ │ │ ├── RAFDemosaicOperation.java
│ │ │ ├── RAFProcessor.java
│ │ │ ├── RAFRotateOperation.java
│ │ │ ├── RAFSizeOperation.java
│ │ │ └── RAFWhiteBalanceOperation.java
│ │ │ ├── raw
│ │ │ ├── ColorConversionOperation.java
│ │ │ ├── ColorProfileOperation.java
│ │ │ ├── CurveOperation.java
│ │ │ ├── DemosaicOperation.java
│ │ │ ├── ExposureOperation.java
│ │ │ ├── RotateOperation.java
│ │ │ ├── SharpenOperation.java
│ │ │ ├── SizeOperation.java
│ │ │ └── WhiteBalanceOperation.java
│ │ │ └── srf
│ │ │ └── SRFProcessor.java
│ ├── nbm
│ │ └── manifest.mf
│ └── resources
│ │ └── it
│ │ └── tidalwave
│ │ └── imageio
│ │ └── rawprocessor
│ │ ├── nef
│ │ ├── NEFColorConversionOperation.properties
│ │ └── NEFSizeOperation.properties
│ │ └── version.properties
│ └── test
│ └── resources
│ └── it
│ └── tidalwave
│ └── imageio
│ └── log.properties
├── nbactions.xml
├── pom.xml
└── src
├── assemble
├── bin.xml
└── project.xml
└── header
├── header.txt
├── javadoc.xml
└── xml.xml
/.gitignore:
--------------------------------------------------------------------------------
1 | target/
2 | .repository
3 | .description
4 | .classpath
5 | .project
6 | .settings
7 | release.properties
8 | .orig.*
9 | .orig
10 | .chg.*
11 | .rej
12 | .DS_Store
13 |
--------------------------------------------------------------------------------
/.maven-env:
--------------------------------------------------------------------------------
1 | JAVA_HOME=$JAVA8_ORACLE_HOME
2 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: java
2 | jdk:
3 | - oraclejdk8
4 | script: mvn install -B -Pit.tidalwave-ci-v1 -DskipTests
5 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
2 | ===============================================================
3 |
4 | Copyright (C) 2003 - 2016 by Tidalwave s.a.s. (http://www.tidalwave.it)
5 | http://jrawio.tidalwave.it
6 |
7 | Licensed under the Apache License, Version 2.0 (the "License");
8 | you may not use this file except in compliance with the License.
9 | You may obtain a copy of the License at
10 |
11 | http://www.apache.org/licenses/LICENSE-2.0
12 |
13 | Unless required by applicable law or agreed to in writing, software
14 | distributed under the License is distributed on an "AS IS" BASIS,
15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | See the License for the specific language governing permissions and
17 | limitations under the License.
18 |
19 | Id: TIFFTag.java,v 4612f659b563 2009/08/08 20:25:04 fabrizio $
20 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 | [](http://services.tidalwave.it/ci/view/jrawio)
3 | [](http://services.tidalwave.it/ci/view/jrawio)
4 | [](http://services.tidalwave.it/ci/view/jrawio)
5 |
6 | jrawio
7 | ================================
8 |
9 | jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
10 |
11 |
12 | Bootstrapping
13 | -------------
14 |
15 | In order to build the project, run from the command line:
16 |
17 | ```mvn -DskipTests```
18 |
19 | The project can be opened and built by a recent version of the NetBeans, Eclipse or Idea IDEs.
20 |
21 |
22 | Documentation
23 | -------------
24 |
25 | More information can be found on the [homepage](http://jrawio.rawdarkroom.org) of the project.
26 |
27 |
28 | Where can I get the latest release?
29 | -----------------------------------
30 | You can download source and binaries from the [download page](https://bitbucket.org/tidalwave/jrawio-src/src).
31 |
32 | Alternatively you can pull it from the central Maven repositories:
33 |
34 | ```xml
35 |
36 | org.rawdarkroom
37 | jrawio
38 | -- version --
39 |
40 | ```
41 |
42 |
43 | Contributing
44 | ------------
45 |
46 | We accept pull requests via Bitbucket or GitHub.
47 |
48 | There are some guidelines which will make applying pull requests easier for us:
49 |
50 | * No tabs! Please use spaces for indentation.
51 | * Respect the code style.
52 | * Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source
53 | ode should be reformatted create a separate PR for this change.
54 | * Provide TestNG tests for your changes and make sure your changes don't break any existing tests by running
55 | ```mvn clean test```.
56 |
57 | If you plan to contribute on a regular basis, please consider filing a contributor license agreement. Contact us for
58 | more information
59 |
60 |
61 | License
62 | -------
63 | Code is released under the [Apache Licence v2](https://www.apache.org/licenses/LICENSE-2.0.txt).
64 |
65 |
66 | Additional Resources
67 | --------------------
68 |
69 | * [Tidalwave Homepage](http://tidalwave.it)
70 | * [Project Issue Tracker (Jira)](http://services.tidalwave.it/jira/browse/JRW)
71 | * [Project Continuous Integration (Jenkins)](http://services.tidalwave.it/ci/view/jrawio)
72 |
--------------------------------------------------------------------------------
/examples/README.txt:
--------------------------------------------------------------------------------
1 | ====
2 |
3 | jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 |
6 | **********************************************************************************************************************
7 |
8 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | the License. You may obtain a copy of the License at
10 |
11 | http://www.apache.org/licenses/LICENSE-2.0
12 |
13 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | specific language governing permissions and limitations under the License.
16 |
17 | **********************************************************************************************************************
18 |
19 | WWW: http://jrawio.rawdarkroom.org
20 | SCM: https://kenai.com/hg/jrawio~src
21 |
22 | ====
23 |
24 | To run the examples:
25 |
26 | mvn install exec:java -Dexec.mainClass=it.tidalwave.imageio.example.stats.FocalLengthStats -Dexec.args="/path/to/photos stats.txt"
27 |
--------------------------------------------------------------------------------
/examples/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | org.rawdarkroom
8 | jrawio
9 | 1.6.1-SNAPSHOT
10 | ../../pom.xml
11 |
12 |
13 | examples
14 | jar
15 | jrawio - examples
16 |
17 |
18 |
19 | org.rawdarkroom
20 | it.tidalwave.imageio.raw
21 |
22 |
23 | com.google.code.findbugs
24 | jsr305
25 |
26 |
27 | commons-io
28 | commons-io
29 |
30 |
31 |
32 |
33 |
34 |
35 | maven-deploy-plugin
36 |
37 | true
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/functional-tests/jse/src/main/java/Dummy.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | public class Dummy
24 | {
25 | }
26 |
--------------------------------------------------------------------------------
/functional-tests/tests/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | org.rawdarkroom
8 | jrawio
9 | 1.7-ALPHA-3-SNAPSHOT
10 | ../../pom.xml
11 |
12 |
13 | functional-tests
14 | jar
15 | jrawio - Functional Tests
16 |
17 |
18 |
19 | org.rawdarkroom
20 | it.tidalwave.imageio.raw
21 |
22 |
30 |
31 | org.rawdarkroom
32 | codec
33 | tests
34 |
35 |
36 | junit
37 | junit
38 |
39 |
40 |
41 |
42 |
43 |
44 | maven-deploy-plugin
45 |
46 | true
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/modules/codec/LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | *
3 | * jrawio - a Java(TM) ImageIO API Spi Provider for RAW files
4 | * ==========================================================
5 | *
6 | * Copyright (C) 2003 - 2016 by Fabrizio Giudici
7 | * Project home page: http://jrawio.tidalwave.it
8 | *
9 | *******************************************************************************
10 | *
11 | * Licensed under the Apache License, Version 2.0 (the "License");
12 | * you may not use this file except in compliance with the License.
13 | * You may obtain a copy of the License at
14 | *
15 | * http://www.apache.org/licenses/LICENSE-2.0
16 | *
17 | * Unless required by applicable law or agreed to in writing, software
18 | * distributed under the License is distributed on an "AS IS" BASIS,
19 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 | * See the License for the specific language governing permissions and
21 | * limitations under the License.
22 | *
23 | *******************************************************************************
24 | *
25 | * $Id: $
26 | *
27 | ******************************************************************************/
28 |
--------------------------------------------------------------------------------
/modules/codec/TODO.old-build.xml:
--------------------------------------------------------------------------------
1 |
2 |
24 |
25 |
26 |
44 |
45 |
46 |
47 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/modules/codec/nb-configuration.xml:
--------------------------------------------------------------------------------
1 |
2 |
24 |
25 |
31 |
32 |
38 | all
39 |
40 |
41 |
--------------------------------------------------------------------------------
/modules/codec/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | org.rawdarkroom
8 | jrawio
9 | 1.7-ALPHA-3-SNAPSHOT
10 | ../../pom.xml
11 |
12 |
13 | codec
14 | jar
15 | jrawio - codec
16 |
17 |
18 |
19 |
20 | org.apache.maven.plugins
21 | maven-antrun-plugin
22 |
23 |
24 | ant
25 | ant-trax
26 | 1.6.5
27 |
28 |
29 |
30 |
31 | generate-sources
32 |
33 |
34 |
35 |
36 |
37 |
38 | run
39 |
40 |
41 |
42 |
43 |
44 |
45 | org.codehaus.mojo
46 | build-helper-maven-plugin
47 |
48 |
49 | attach-generated-sources
50 | generate-sources
51 |
52 | add-source
53 |
54 |
55 |
56 | target/src-generated
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/arw/ARWMakerNote.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.arw;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.io.IOException;
27 | import it.tidalwave.imageio.io.RAWImageInputStream;
28 | import it.tidalwave.imageio.tiff.IFDSupport;
29 |
30 | /***********************************************************************************************************************
31 | *
32 | * @author Fabrizio Giudici
33 | * @version $Id$
34 | *
35 | **********************************************************************************************************************/
36 | public class ARWMakerNote extends IFDSupport
37 | {
38 | private static final long serialVersionUID = 4019349837473239457L;
39 |
40 | @Override
41 | public void loadAll (@Nonnull final RAWImageInputStream iis, final long offset)
42 | throws IOException
43 | {
44 | // TODO it's embeedded as UNDEFINED[xxx] in EXIF.MakerNote
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/cr2/CR2SensorInfo.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.cr2;
24 |
25 | import javax.annotation.Nonnegative;
26 | import javax.annotation.Nonnull;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author fritz
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class CR2SensorInfo
35 | {
36 | private final @Nonnull int[] buffer;
37 |
38 | protected CR2SensorInfo (final @Nonnull int[] buffer)
39 | {
40 | this.buffer = buffer;
41 | }
42 |
43 | @Nonnegative
44 | public int getWidth()
45 | {
46 | return buffer[1];
47 | }
48 |
49 | @Nonnegative
50 | public int getHeight()
51 | {
52 | return buffer[2];
53 | }
54 |
55 | @Nonnegative
56 | public int getCropLeft()
57 | {
58 | return buffer[5];
59 | }
60 |
61 | @Nonnegative
62 | public int getCropTop()
63 | {
64 | return buffer[6];
65 | }
66 |
67 | @Nonnegative
68 | public int getCropRight()
69 | {
70 | return buffer[7];
71 | }
72 |
73 | @Nonnegative
74 | public int getCropBottom()
75 | {
76 | return buffer[8];
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/dcr/KodakMakerNote.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.dcr;
24 |
25 | /***********************************************************************************************************************
26 | *
27 | * @author Fabrizio Giudici
28 | * @version $Id$
29 | *
30 | **********************************************************************************************************************/
31 | public class KodakMakerNote extends KodakMakerNoteSupport
32 | {
33 | private final static long serialVersionUID = 6357805620960118907L;
34 | }
35 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/makernote/LeicaMakerNote.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.makernote;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.io.IOException;
27 | import it.tidalwave.imageio.io.RAWImageInputStream;
28 | import it.tidalwave.imageio.util.Logger;
29 |
30 | /***********************************************************************************************************************
31 | *
32 | * @author Fabrizio Giudici
33 | * @version $Id$
34 | *
35 | **********************************************************************************************************************/
36 | public class LeicaMakerNote extends LeicaMakerNoteSupport
37 | {
38 | private final static String CLASS = LeicaMakerNote.class.getName();
39 | private final static Logger logger = Logger.getLogger(CLASS);
40 | private final static long serialVersionUID = 435098698732458972L;
41 |
42 | @Override
43 | public void loadAll (final @Nonnull RAWImageInputStream iis, final long offset)
44 | throws IOException
45 | {
46 | logger.fine("loadAll(%s, %d)", iis, offset);
47 | final byte[] buffer = new byte[8];
48 | iis.seek(offset);
49 | iis.readFully(buffer);
50 | // logger.finer(">>>> header: ", new String(buffer, 0)); // TODO: should be LEICA and zeros
51 | super.loadAll(iis, offset + buffer.length);
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/mrw/MRWRasterReader.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.mrw;
24 |
25 | import javax.annotation.Nonnegative;
26 | import javax.annotation.Nonnull;
27 | import java.awt.image.WritableRaster;
28 | import it.tidalwave.imageio.io.RAWImageInputStream;
29 | import it.tidalwave.imageio.raw.RasterReader;
30 |
31 | /***********************************************************************************************************************
32 | *
33 | * This class implements the MRF (Minolta raw Format) raster loading.
34 | *
35 | * @author Fabrizio Giudici
36 | * @version $Id$
37 | *
38 | **********************************************************************************************************************/
39 | public class MRWRasterReader extends RasterReader
40 | {
41 | @Override
42 | protected void selectBitReader (@Nonnull final RAWImageInputStream iis,
43 | @Nonnull final WritableRaster raster,
44 | @Nonnegative final int bitsPerSample)
45 | {
46 | iis.selectBitReader(-1, 0);
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/mrw/MinoltaMakerNote.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.mrw;
24 |
25 | /***********************************************************************************************************************
26 | *
27 | * @author Fabrizio Giudici
28 | * @version $Id$
29 | *
30 | **********************************************************************************************************************/
31 | public class MinoltaMakerNote extends MinoltaMakerNoteSupport
32 | {
33 | private final static long serialVersionUID = 2304803943960118907L;
34 | }
35 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/nef/NEFHeaderProcessor.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.nef;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.io.IOException;
27 | import it.tidalwave.imageio.raw.HeaderProcessor;
28 | import it.tidalwave.imageio.io.RAWImageInputStream;
29 |
30 | /***********************************************************************************************************************
31 | *
32 | * @author Fabrizio Giudici
33 | * @version $Id$
34 | *
35 | **********************************************************************************************************************/
36 | public class NEFHeaderProcessor extends HeaderProcessor
37 | {
38 | public static final int NDF_OFFSET = 12;
39 |
40 | private boolean isNDF;
41 |
42 | /*******************************************************************************************************************
43 | *
44 | * @param iis
45 | * @throws IOException
46 | *
47 | *******************************************************************************/
48 | @Override
49 | public void process (@Nonnull final RAWImageInputStream iis)
50 | throws IOException
51 | {
52 | iis.mark();
53 | byte[] buffer = new byte[NDF_OFFSET];
54 | iis.seek(0);
55 | iis.readFully(buffer);
56 | isNDF = new String(buffer, 0, 3).equals("NDF");
57 | iis.reset();
58 | }
59 |
60 | /*******************************************************************************************************************
61 | *
62 | * @inheritDoc
63 | *
64 | *******************************************************************************/
65 | @Override
66 | public int getOffset()
67 | {
68 | return isNDF ? NDF_OFFSET : 0;
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/nef/RasterReaderCoolpix.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.nef;
24 |
25 | import javax.annotation.Nonnegative;
26 |
27 | /***********************************************************************************************************************
28 | *
29 | * @author Fabrizio Giudici
30 | * @version $Id$
31 | *
32 | **********************************************************************************************************************/
33 | public class RasterReaderCoolpix extends NEFRasterReader
34 | {
35 | /*******************************************************************************************************************
36 | *
37 | * @inheritDoc
38 | *
39 | * Coolpix rasters are interlaced.
40 | *
41 | *******************************************************************************/
42 | @Override
43 | @Nonnegative
44 | protected int getRow (@Nonnegative final int y, @Nonnegative final int height)
45 | {
46 | return (y < (height / 2)) ? (y * 2) : ((y - height / 2) * 2 + 1);
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/nef/RasterReader_NIKON_D3.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.nef;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.awt.image.WritableRaster;
27 | import java.io.IOException;
28 | import it.tidalwave.imageio.io.RAWImageInputStream;
29 | import it.tidalwave.imageio.raw.RAWImageReaderSupport;
30 |
31 | /***********************************************************************************************************************
32 | *
33 | * This class specializes a PixelLoader for the Nikon D100. There is some
34 | * trickery to understand if a D100 NEF is compressed and in some cases there
35 | * are bits to skip while reading the data.
36 | *
37 | * @author Fabrizio Giudici
38 | * @version $Id$
39 | *
40 | **********************************************************************************************************************/
41 | public class RasterReader_NIKON_D3 extends NEFRasterReader
42 | {
43 | @Override
44 | protected void loadUncompressedRaster (final @Nonnull RAWImageInputStream iis,
45 | final @Nonnull WritableRaster raster,
46 | final @Nonnull RAWImageReaderSupport ir)
47 | throws IOException
48 | {
49 | assert (cfaOffsets != null);
50 | loadUncompressedRaster16(iis, raster, ir);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/orf/CameraSettings.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.orf;
24 |
25 | /***********************************************************************************************************************
26 | *
27 | * @author Fabrizio Giudici
28 | * @version $Id$
29 | *
30 | **********************************************************************************************************************/
31 | public class CameraSettings extends OlympusCameraSettingsMakerNoteSupport
32 | {
33 | private final static long serialVersionUID = 324234234234235L;
34 | }
35 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/orf/Equipment.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.orf;
24 |
25 | /***********************************************************************************************************************
26 | *
27 | * @author Fabrizio Giudici
28 | * @version $Id$
29 | *
30 | **********************************************************************************************************************/
31 | public class Equipment extends OlympusEquipmentMakerNoteSupport
32 | {
33 | private final static long serialVersionUID = 454358934592349084L;
34 | }
35 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/orf/FocusInfo.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.orf;
24 |
25 | /***********************************************************************************************************************
26 | *
27 | * @author Fabrizio Giudici
28 | * @version $Id$
29 | *
30 | **********************************************************************************************************************/
31 | public class FocusInfo extends OlympusFocusInfoMakerNoteSupport
32 | {
33 | private final static long serialVersionUID = 23423598354698L;
34 | }
35 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/orf/ImageProcessing.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.orf;
24 |
25 | /***********************************************************************************************************************
26 | *
27 | * @author Fabrizio Giudici
28 | * @version $Id$
29 | *
30 | **********************************************************************************************************************/
31 | public class ImageProcessing extends OlympusImageProcessingMakerNoteSupport
32 | {
33 | private final static long serialVersionUID = 23423423423535654L;
34 | }
35 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/orf/RawDevelopment.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.orf;
24 |
25 | /***********************************************************************************************************************
26 | *
27 | * @author Fabrizio Giudici
28 | * @version $Id$
29 | *
30 | **********************************************************************************************************************/
31 | public class RawDevelopment extends OlympusRawDevelopmentMakerNoteSupport
32 | {
33 | private final static long serialVersionUID = 3423424574564564523L;
34 | }
35 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/raf/FujiMakerNote.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.raf;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.io.IOException;
27 | import it.tidalwave.imageio.io.RAWImageInputStream;
28 |
29 | /***********************************************************************************************************************
30 | *
31 | * @author Fabrizio Giudici
32 | * @version $Id$
33 | *
34 | **********************************************************************************************************************/
35 | public class FujiMakerNote extends FujiMakerNoteSupport
36 | {
37 | private final static long serialVersionUID = 6347805620960118907L;
38 |
39 | /*******************************************************************************************************************
40 | *
41 | * {@inheritDoc}
42 | *
43 | ******************************************************************************************************************/
44 | @Override
45 | public void loadAll (@Nonnull final RAWImageInputStream iis, final long offset)
46 | throws IOException
47 | {
48 | iis.seek(offset);
49 | final byte[] buffer = new byte[8];
50 | iis.readFully(buffer);
51 | final String s = new String(buffer);
52 |
53 | if (s.equals("FUJIFILM"))
54 | {
55 | iis.skipBytes(4);
56 | super.load(iis, iis.getStreamPosition()); // not loadAll(), there's no next-IFD pointer at the end
57 | }
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/raw/HeaderProcessor.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.raw;
24 |
25 | import java.io.IOException;
26 | import javax.imageio.stream.ImageInputStream;
27 | import it.tidalwave.imageio.io.RAWImageInputStream;
28 |
29 | /***********************************************************************************************************************
30 | *
31 | * @author Fabrizio Giudici
32 | * @version $Id$
33 | *
34 | **********************************************************************************************************************/
35 | public class HeaderProcessor
36 | {
37 | /*******************************************************************************************************************
38 | *
39 | *
40 | *******************************************************************************/
41 | public void process (RAWImageInputStream iis) throws IOException
42 | {
43 | }
44 |
45 | /*******************************************************************************************************************
46 | *
47 | * @return
48 | * @throws IOException
49 | *
50 | *******************************************************************************/
51 | public int getBaseOffset()
52 | {
53 | return 0;
54 | }
55 |
56 | /*******************************************************************************************************************
57 | *
58 | * @return
59 | * @throws IOException
60 | *
61 | *******************************************************************************/
62 | public int getOffset ()
63 | {
64 | return 0;
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/raw/PostProcessor.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.raw;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.awt.image.BufferedImage;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public interface PostProcessor
35 | {
36 | @Nonnull
37 | public BufferedImage process (@Nonnull BufferedImage image,
38 | @Nonnull RAWMetadataSupport metadata,
39 | @Nonnull RAWImageReadParam readParam);
40 |
41 | @Nonnull
42 | public void processMetadata (@Nonnull RAWMetadataSupport metadata,
43 | @Nonnull RAWImageReadParam readParam);
44 | }
45 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/raw/Version.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.raw;
24 |
25 | import it.tidalwave.imageio.util.VersionLoader;
26 |
27 | /***********************************************************************************************************************
28 | *
29 | * @author Fabrizio Giudici
30 | * @version $Id$
31 | *
32 | **********************************************************************************************************************/
33 | public final class Version
34 | {
35 | public final static String TAG = VersionLoader.getVersion(Version.class);
36 |
37 | private Version()
38 | {
39 | }
40 |
41 | public static void main (final String ... args)
42 | {
43 | System.out.println("tag: " + TAG);
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/rawprocessor/RAWProcessorInstallerSpi.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor;
24 |
25 | import java.io.File;
26 | import java.io.IOException;
27 | import java.util.Locale;
28 | import javax.imageio.spi.ImageInputStreamSpi;
29 | import javax.imageio.stream.ImageInputStream;
30 |
31 | /**
32 | *
33 | * @author Fabrizio Giudici
34 | *
35 | * This is a dummy Spi used only for installing the RAWProcessor stuff. It's a temporary
36 | * trick to keep the RAWProcessor stuff in a different sub-project until it gets mature.
37 | *
38 | */
39 | public class RAWProcessorInstallerSpi extends ImageInputStreamSpi
40 | {
41 | public RAWProcessorInstallerSpi()
42 | {
43 | super("dummy", "dummy", Float.class);
44 | install();
45 | }
46 |
47 | public ImageInputStream createInputStreamInstance (Object object, boolean b, File file) throws IOException
48 | {
49 | return null;
50 | }
51 |
52 | public String getDescription (Locale locale)
53 | {
54 | return "dummy";
55 | }
56 |
57 | private void install()
58 | {
59 | try
60 | {
61 | Class.forName("it.tidalwave.imageio.rawprocessor.RAWProcessorInstaller");
62 | System.err.println("RAWProcessor succesfully installed");
63 | }
64 | catch (ClassNotFoundException e)
65 | {
66 | System.err.println("RAWProcessor not found: " + e);
67 | }
68 | catch (Throwable e)
69 | {
70 | System.err.println("Error while running RAWProcessorInstaller: " + e.toString());
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/srf/SonySRF0.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.srf;
24 |
25 | public class SonySRF0 extends SonySRFMakerNoteSupport
26 | {
27 | private final static long serialVersionUID = 23423523423L;
28 | }
29 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/srf/SonySRF1.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.srf;
24 |
25 | public class SonySRF1 extends SonySRFMakerNoteSupport
26 | {
27 | private final static long serialVersionUID = 43534654634534523L;
28 | }
29 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/srf/SonySRF2.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.srf;
24 |
25 | public class SonySRF2 extends SonySRFMakerNoteSupport
26 | {
27 | private final static long serialVersionUID = 46546983459328459L;
28 | }
29 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/srf/SonySRF3.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.srf;
24 |
25 | public class SonySRF3 extends SonySRFMakerNoteSupport
26 | {
27 | private final static long serialVersionUID = 456747456345243L;
28 | }
29 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/srf/SonySRF4.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.srf;
24 |
25 | public class SonySRF4 extends SonySRFMakerNoteSupport
26 | {
27 | private final static long serialVersionUID = 265745634543252L;
28 | }
29 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/srf/SonySRF5.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.srf;
24 |
25 | public class SonySRF5 extends SonySRFMakerNoteSupport
26 | {
27 | private final static long serialVersionUID = 345436344242452L;
28 | }
29 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/srf/SonySRF6.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.srf;
24 |
25 | import it.tidalwave.imageio.tiff.IFD;
26 |
27 | public class SonySRF6 extends IFD
28 | {
29 | private final static long serialVersionUID = 2559302725666559996L;
30 | }
31 |
--------------------------------------------------------------------------------
/modules/codec/src/main/java/it/tidalwave/imageio/util/VersionLoader.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.util;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.util.Properties;
27 | import it.tidalwave.imageio.raw.Version;
28 | import java.io.InputStream;
29 |
30 | /***********************************************************************************************************************
31 | *
32 | * @author Fabrizio Giudici
33 | * @version $Id$
34 | *
35 | **********************************************************************************************************************/
36 | public final class VersionLoader
37 | {
38 | private VersionLoader()
39 | {
40 | }
41 |
42 | public static String getVersion (final @Nonnull Class> clazz)
43 | {
44 | try
45 | {
46 | final InputStream is = Version.class.getResourceAsStream("version.properties");
47 | final Properties properties = new Properties();
48 | properties.load(is);
49 | is.close();
50 | return properties.getProperty("version");
51 | }
52 | catch (Exception e)
53 | {
54 | System.err.printf("SEVERE: Can't read version number for: %s because of %s \n", clazz, e);
55 | return "unknown";
56 | }
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/modules/codec/src/main/metadata/KodakMakerNote.xml:
--------------------------------------------------------------------------------
1 |
2 |
24 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/modules/codec/src/main/metadata/OlympusFocusInfo.xml:
--------------------------------------------------------------------------------
1 |
2 |
24 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/modules/codec/src/main/metadata/OlympusRawDevelopment.xml:
--------------------------------------------------------------------------------
1 |
2 |
24 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/modules/codec/src/main/metadata/SonyMakerNote.xml:
--------------------------------------------------------------------------------
1 |
2 |
24 |
26 |
27 | 0
28 | long
29 | 1
30 | SRF2 Key
31 |
32 | The key needed for deciphering the SRF2 IFD.
33 |
34 |
35 | 1
36 | long
37 | 1
38 | Raster Key
39 |
40 | The key needed for deciphering the raster data.
41 |
42 |
43 | 4
44 | long
45 | 1
46 | Raster Offset
47 |
48 | The offset of raster data.
49 |
50 |
51 | 5
52 | long
53 | 1
54 | Raster Byte Count
55 |
56 | The size of raster data in bytes.
57 |
58 |
59 | 45099
60 | long
61 | 2
62 | Sensor Size
63 |
64 |
65 |
66 |
67 | 45100
68 | long
69 | 2
70 | Thumbnail Size
71 |
72 |
73 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/modules/codec/src/main/metadata/html/KodakMakerNote.html:
--------------------------------------------------------------------------------
1 |
# | name | type | enumeration | description |
---|
23 |
--------------------------------------------------------------------------------
/modules/codec/src/main/metadata/xslt/DirectoryToTable.xslt:
--------------------------------------------------------------------------------
1 |
2 |
36 |
37 |
38 |
39 |
40 | # | name | type | enumeration | description |
41 |
42 |
43 |
44 |
45 |
46 |
47 | |
48 | |
49 |
50 | [] |
51 | |
52 |
53 |
54 | |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/modules/codec/src/main/metadata/xslt/DirectoryToText.xslt:
--------------------------------------------------------------------------------
1 |
2 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 | Tag # -
44 | Type:
45 | []
46 | Example:
47 | Description:
48 |
49 |
50 |
51 |
52 | Allowed values are:
53 |
56 |
57 |
58 |
59 | :
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/modules/codec/src/main/resources/META-INF/services/javax.imageio.spi.ImageInputStreamSpi:
--------------------------------------------------------------------------------
1 | it.tidalwave.imageio.io.FileImageInputStream2Spi
2 | it.tidalwave.imageio.rawprocessor.RAWProcessorInstallerSpi
3 |
--------------------------------------------------------------------------------
/modules/codec/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi:
--------------------------------------------------------------------------------
1 | it.tidalwave.imageio.arw.ARWImageReaderSpi
2 | it.tidalwave.imageio.crw.CRWImageReaderSpi
3 | it.tidalwave.imageio.cr2.CR2ImageReaderSpi
4 | it.tidalwave.imageio.dcr.DCRImageReaderSpi
5 | it.tidalwave.imageio.dng.DNGImageReaderSpi
6 | it.tidalwave.imageio.mrw.MRWImageReaderSpi
7 | it.tidalwave.imageio.nef.NEFImageReaderSpi
8 | it.tidalwave.imageio.orf.ORFImageReaderSpi
9 | it.tidalwave.imageio.pef.PEFImageReaderSpi
10 | it.tidalwave.imageio.raf.RAFImageReaderSpi
11 | it.tidalwave.imageio.srf.SRFImageReaderSpi
12 |
13 |
--------------------------------------------------------------------------------
/modules/codec/src/main/resources/it/tidalwave/imageio/raw/version.properties:
--------------------------------------------------------------------------------
1 | version = ${project.version}.${buildNumber}
2 |
--------------------------------------------------------------------------------
/modules/codec/src/test/java/it/tidalwave/imageio/arw/ARWImageReaderTest.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.arw;
24 |
25 | import it.tidalwave.imageio.test.ImageReaderTestSupport;
26 | import org.junit.Test;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class ARWImageReaderTest extends ImageReaderTestSupport
35 | {
36 | @Test
37 | public void testMIMEType()
38 | {
39 | assertMIMETypes("arw", "image/x-sony-arw");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/modules/codec/src/test/java/it/tidalwave/imageio/cr2/CR2ImageReaderTest.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.cr2;
24 |
25 | import it.tidalwave.imageio.test.ImageReaderTestSupport;
26 | import org.junit.Test;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class CR2ImageReaderTest extends ImageReaderTestSupport
35 | {
36 | @Test
37 | public void testMIMEType()
38 | {
39 | assertMIMETypes("cr2", "image/x-canon-cr2");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/modules/codec/src/test/java/it/tidalwave/imageio/crw/CRWImageReaderTest.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.crw;
24 |
25 | import it.tidalwave.imageio.test.ImageReaderTestSupport;
26 | import org.junit.Test;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class CRWImageReaderTest extends ImageReaderTestSupport
35 | {
36 | @Test
37 | public void testMIMEType()
38 | {
39 | assertMIMETypes("crw", "image/x-canon-crw");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/modules/codec/src/test/java/it/tidalwave/imageio/dng/DNGImageReaderTest.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.dng;
24 |
25 | import it.tidalwave.imageio.test.ImageReaderTestSupport;
26 | import org.junit.Test;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class DNGImageReaderTest extends ImageReaderTestSupport
35 | {
36 | @Test
37 | public void testMIMEType()
38 | {
39 | assertMIMETypes("dng", "image/x-adobe-dng");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/modules/codec/src/test/java/it/tidalwave/imageio/mrw/MRWImageReaderTest.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.mrw;
24 |
25 | import it.tidalwave.imageio.test.ImageReaderTestSupport;
26 | import org.junit.Test;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class MRWImageReaderTest extends ImageReaderTestSupport
35 | {
36 | @Test
37 | public void testMIMEType()
38 | {
39 | assertMIMETypes("mrw", "image/x-minolta-mrw");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/modules/codec/src/test/java/it/tidalwave/imageio/nef/NEFImageReaderTest.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.nef;
24 |
25 | import it.tidalwave.imageio.test.ImageReaderTestSupport;
26 | import org.junit.Test;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class NEFImageReaderTest extends ImageReaderTestSupport
35 | {
36 | @Test
37 | public void testMIMEType()
38 | {
39 | assertMIMETypes("nef", "image/x-nikon-nef");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/modules/codec/src/test/java/it/tidalwave/imageio/orf/ORFImageReaderTest.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.orf;
24 |
25 | import it.tidalwave.imageio.test.ImageReaderTestSupport;
26 | import org.junit.Test;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class ORFImageReaderTest extends ImageReaderTestSupport
35 | {
36 | @Test
37 | public void testMIMEType()
38 | {
39 | assertMIMETypes("orf", "image/x-olympus-orf");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/modules/codec/src/test/java/it/tidalwave/imageio/pef/PEFImageReaderTest.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.pef;
24 |
25 | import it.tidalwave.imageio.test.ImageReaderTestSupport;
26 | import org.junit.Test;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class PEFImageReaderTest extends ImageReaderTestSupport
35 | {
36 | @Test
37 | public void testMIMEType()
38 | {
39 | assertMIMETypes("pef", "image/x-pentax-pef");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/modules/codec/src/test/java/it/tidalwave/imageio/raf/RAFImageReaderTest.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.raf;
24 |
25 | import it.tidalwave.imageio.test.ImageReaderTestSupport;
26 | import org.junit.Test;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class RAFImageReaderTest extends ImageReaderTestSupport
35 | {
36 | @Test
37 | public void testMIMEType()
38 | {
39 | assertMIMETypes("raf", "image/x-fuji-raf");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/modules/codec/src/test/java/it/tidalwave/imageio/raw/SourceTest.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.raw;
24 |
25 | import org.junit.Test;
26 | import static org.junit.Assert.*;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class SourceTest
35 | {
36 | @Test
37 | public void testGetDefault1()
38 | {
39 | assertEquals(Source.PROCESSED_IMAGE, Source.getDefault());
40 | }
41 |
42 | @Test
43 | public void testGetDefault2()
44 | {
45 | System.setProperty(Source.PROP_DEFAULT_SOURCE, Source.DEFAULT_SOURCE_PROCESSED_IMAGE);
46 | assertEquals(Source.PROCESSED_IMAGE, Source.getDefault());
47 | }
48 |
49 | @Test
50 | public void testGetDefault3()
51 | {
52 | System.setProperty(Source.PROP_DEFAULT_SOURCE, Source.DEFAULT_SOURCE_FULL_SIZE_PREVIEW);
53 | assertEquals(Source.FULL_SIZE_PREVIEW, Source.getDefault());
54 | }
55 |
56 | @Test
57 | public void testGetDefault4()
58 | {
59 | System.setProperty(Source.PROP_DEFAULT_SOURCE, Source.DEFAULT_SOURCE_RAW_IMAGE);
60 | assertEquals(Source.RAW_IMAGE, Source.getDefault());
61 | }
62 |
63 | @Test(expected=IllegalArgumentException.class)
64 | public void testGetDefault5()
65 | {
66 | System.setProperty(Source.PROP_DEFAULT_SOURCE, "foobar");
67 | Source.getDefault();
68 | }
69 | }
--------------------------------------------------------------------------------
/modules/codec/src/test/java/it/tidalwave/imageio/srf/SRFImageReaderTest.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.srf;
24 |
25 | import it.tidalwave.imageio.test.ImageReaderTestSupport;
26 | import org.junit.Test;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class SRFImageReaderTest extends ImageReaderTestSupport
35 | {
36 | @Test
37 | public void testMIMEType()
38 | {
39 | assertMIMETypes("srf", "image/x-sony-srf");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/modules/codec/src/test/resources/it/tidalwave/imageio/test/log.properties:
--------------------------------------------------------------------------------
1 | #handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler, it.tidalwave.thesefoolishthings.junit.MultiThreadHandler
2 | handlers=java.util.logging.FileHandler, it.tidalwave.thesefoolishthings.junit.MultiThreadHandler
3 |
4 | java.util.logging.FileHandler.level = ALL
5 | java.util.logging.FileHandler.pattern = target/logs/jrawio.log
6 | java.util.logging.FileHandler.limit = 10000000
7 | java.util.logging.FileHandler.count = 20
8 | java.util.logging.FileHandler.formatter = it.tidalwave.imageio.SingleLineLogFormatter
9 |
10 | java.util.logging.ConsoleHandler.level = ALL
11 | java.util.logging.ConsoleHandler.formatter = it.tidalwave.imageio.SingleLineLogFormatter
12 |
13 | it.tidalwave.thesefoolishthings.junit.MultiThreadHandler.level = ALL
14 | it.tidalwave.thesefoolishthings.junit.MultiThreadHandler.directory = target/logs
15 | it.tidalwave.thesefoolishthings.junit.MultiThreadHandler.formatter = it.tidalwave.imageio.SingleLineLogFormatter
16 |
17 | it.tidalwave.level = ALL
18 |
--------------------------------------------------------------------------------
/modules/jrawio-all/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | org.rawdarkroom
8 | jrawio
9 | 1.7-ALPHA-3-SNAPSHOT
10 | ../../pom.xml
11 |
12 |
13 | it.tidalwave.imageio.raw
14 | bundle
15 | jrawio - JAR artifact
16 |
17 |
18 |
19 | org.rawdarkroom
20 | codec
21 |
22 | true
23 |
24 |
25 | org.rawdarkroom
26 | processor
27 |
28 | true
29 |
30 |
31 |
32 |
33 |
34 |
35 | org.apache.felix
36 | maven-bundle-plugin
37 | true
38 |
39 |
40 | it.tidalwave.imageio.*;-split-package:=merge-first
41 | jrawio
42 | it.tidalwave.imageio.raw
43 | http://jrawio.rawdarkroom.org
44 | processor;codec;inline=true
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/modules/jrawio-test/LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | *
3 | * jrawio - a Java(TM) ImageIO API Spi Provider for RAW files
4 | * ==========================================================
5 | *
6 | * Copyright (C) 2003 - 2016 by Fabrizio Giudici
7 | * Project home page: http://jrawio.tidalwave.it
8 | *
9 | *******************************************************************************
10 | *
11 | * Licensed under the Apache License, Version 2.0 (the "License");
12 | * you may not use this file except in compliance with the License.
13 | * You may obtain a copy of the License at
14 | *
15 | * http://www.apache.org/licenses/LICENSE-2.0
16 | *
17 | * Unless required by applicable law or agreed to in writing, software
18 | * distributed under the License is distributed on an "AS IS" BASIS,
19 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 | * See the License for the specific language governing permissions and
21 | * limitations under the License.
22 | *
23 | *******************************************************************************
24 | *
25 | * $Id: $
26 | *
27 | ******************************************************************************/
28 |
--------------------------------------------------------------------------------
/modules/jrawio-test/README.txt:
--------------------------------------------------------------------------------
1 | ====
2 |
3 | jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 |
6 | **********************************************************************************************************************
7 |
8 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | the License. You may obtain a copy of the License at
10 |
11 | http://www.apache.org/licenses/LICENSE-2.0
12 |
13 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | specific language governing permissions and limitations under the License.
16 |
17 | **********************************************************************************************************************
18 |
19 | WWW: http://jrawio.rawdarkroom.org
20 | SCM: https://kenai.com/hg/jrawio~src
21 |
22 | ====
23 |
24 | This modules is not part of the project - it contains old tests from 1.0.x that have to be eventually
25 | updated to the new implementation.
26 |
--------------------------------------------------------------------------------
/modules/jrawio-test/Supported.html:
--------------------------------------------------------------------------------
1 |
23 |
24 | Maker | Format | Model |
25 |
26 |
--------------------------------------------------------------------------------
/modules/jrawio-test/findvalues.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | #
4 | # jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
5 | # Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
6 | #
7 | # **********************************************************************************************************************
8 | #
9 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
10 | # the License. You may obtain a copy of the License at
11 | #
12 | # http://www.apache.org/licenses/LICENSE-2.0
13 | #
14 | # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
15 | # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
16 | # specific language governing permissions and limitations under the License.
17 | #
18 | # **********************************************************************************************************************
19 | #
20 | # WWW: http://jrawio.rawdarkroom.org
21 | # SCM: https://kenai.com/hg/jrawio~src
22 | #
23 | #
24 |
25 |
26 | grep $1 image.properties | grep EXIF | grep MakerNote | grep "$2\." | grep value | sed 's/.*value//' | sort | uniq
27 |
28 |
--------------------------------------------------------------------------------
/modules/jrawio-test/samples/xml/L2060314.DNG.xml.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tidalwave-it/jrawio-src/0d632ced58c00a12b30effe31f133e50cbf74913/modules/jrawio-test/samples/xml/L2060314.DNG.xml.gz
--------------------------------------------------------------------------------
/modules/jrawio-test/src/main/java/files:
--------------------------------------------------------------------------------
1 | From the Web/cdimage.debian.org/pub/test/maswan/debconf5/debconf5_hut.cr2
2 | /Users/fritz/Desktop/Phtoos/2/_DSC7001.NEF
3 | From the Web/www.vossassociates.com/docs/NEF Files/_DSC0255.NEF
4 | From the Web/others/Nikon/D2X/DSC_0001-SavedAsNef.nef
5 | www.tidalwave.it/Nikon D70/20050527-0104.NDF
6 | From the Web/www.jirvana.com/350d_0000_0103.CR2
7 | From the Web/www.jirvana.com/1ds2_0000_1253.CR2
8 | From the Web/www.jirvana.com/_D6H0092.CR2
9 | From Individuals/Emanuele/100_0043.CRW
10 | From Individuals/karel@sobota.net/DSC07598.SRF
11 | From the Web/www.leicaphoto.net/L2060314.DNG
12 | From the Web/www.jirvana.com/d70_0000_0614.DNG
13 | From the Web/digikam3rdparty.free.fr/Images_2_Test_DImg/RAW/PENTAX-ISD.PEF
14 | From the Web/digitalfotonetz.de/img/Testfotos/istDs/IMGP3469.PEF
15 | From the Web/www.cs.pdx.edu/pict0340.mrw
16 |
17 | From Individuals/www.dpmagic.com/DSC_3616.NEF
18 | From the Web/rrboc.jp/files/DSC_0208.NEF
19 | From the Web/www.dcresource.com/reviews/olympus/c8080wz-review/P3140074.ORF
20 | From the Web/dc.watch.impress.co.jp/static/2004/12/28/olympus/pc260025.orf
21 |
22 | From the Web/download.kodak.com/digital/software/easyShare/v2_1/dcsPro14n/Silver/Silver.DCR
23 |
24 |
--------------------------------------------------------------------------------
/modules/jrawio-test/src/test/java/it/tidalwave/imageio/test/util/PixelSpeed.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.test.util;
24 |
25 | public class PixelSpeed
26 | {
27 | private long pixelCount;
28 |
29 | private long cumulativeTime;
30 |
31 | public void addToStatistics (long pixelCount,
32 | long cumulativeTime)
33 | {
34 | this.pixelCount += pixelCount;
35 | this.cumulativeTime += cumulativeTime;
36 | }
37 |
38 | public double getSpeed ()
39 | {
40 | return 1E-3 * pixelCount / cumulativeTime;
41 | }
42 |
43 | public String toString ()
44 | {
45 | return Double.toString(getSpeed());
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/modules/jrawio-test/test-log.properties:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | #
3 | # BlueMarine - a Java(TM) photo processing application
4 | # ----------------------------------------------------
5 | #
6 | # Copyright (C) 2003 - 2016 by Fabrizio Giudici (Fabrizio.Giudici@tidalwave.it)
7 | # Project home page: http://www.tidalwave.it/bluemarine
8 | #
9 | ################################################################################
10 | #
11 | # MIT License notice
12 | #
13 | # Permission is hereby granted, free of charge, to any person obtaining a copy
14 | # of this software and associated documentation files (the "Software"), to deal
15 | # in the Software without restriction, including without limitation the rights
16 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17 | # copies of the Software, and to permit persons to whom the Software is
18 | # furnished to do so, subject to the following conditions:
19 | #
20 | # The above copyright notice and this permission notice shall be included in
21 | # all copies or substantial portions of the Software.
22 | #
23 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29 | # SOFTWARE.
30 | #
31 | ################################################################################
32 | #
33 | # $Id$
34 | # $Log: test-log.properties,v $
35 | # Revision 1.3 2006/02/15 19:02:47 fabriziogiudici
36 | # no message
37 | #
38 | # Revision 1.2 2006/02/14 18:10:49 fabriziogiudici
39 | # no message
40 | #
41 | # Revision 1.1 2006/01/31 21:19:18 fabriziogiudici
42 | # Initial import into java.net.
43 | #
44 | # Revision 1.1 2006/01/05 15:40:16 fabriziogiudici
45 | # *** empty log message ***
46 | #
47 | # Revision 1.3 2005/12/13 17:12:13 fabriziogiudici
48 | # *** empty log message ***
49 | #
50 | # Revision 1.2 2005/11/09 01:43:55 fabriziogiudici
51 | # Revision 1.1 2005/11/08 22:21:52 fabriziogiudici
52 | #
53 | ################################################################################
54 |
55 | handlers=java.util.logging.FileHandler
56 |
57 | java.util.logging.FileHandler.level = ALL
58 | java.util.logging.FileHandler.pattern = log/test.log
59 | java.util.logging.FileHandler.limit = 10000000
60 | java.util.logging.FileHandler.count = 5
61 | java.util.logging.FileHandler.formatter = it.tidalwave.imageio.test.util.LogFormatter
62 |
63 | it.tidalwave.level = ALL
64 |
--------------------------------------------------------------------------------
/modules/processor/LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | *
3 | * jrawio - a Java(TM) ImageIO API Spi Provider for RAW files
4 | * ==========================================================
5 | *
6 | * Copyright (C) 2003 - 2016 by Fabrizio Giudici
7 | * Project home page: http://jrawio.tidalwave.it
8 | *
9 | *******************************************************************************
10 | *
11 | * Licensed under the Apache License, Version 2.0 (the "License");
12 | * you may not use this file except in compliance with the License.
13 | * You may obtain a copy of the License at
14 | *
15 | * http://www.apache.org/licenses/LICENSE-2.0
16 | *
17 | * Unless required by applicable law or agreed to in writing, software
18 | * distributed under the License is distributed on an "AS IS" BASIS,
19 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 | * See the License for the specific language governing permissions and
21 | * limitations under the License.
22 | *
23 | *******************************************************************************
24 | *
25 | * $Id: $
26 | *
27 | ******************************************************************************/
28 |
--------------------------------------------------------------------------------
/modules/processor/demo.sh:
--------------------------------------------------------------------------------
1 | #
2 | #
3 | # jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | # Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | #
6 | # **********************************************************************************************************************
7 | #
8 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | # the License. You may obtain a copy of the License at
10 | #
11 | # http://www.apache.org/licenses/LICENSE-2.0
12 | #
13 | # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | # specific language governing permissions and limitations under the License.
16 | #
17 | # **********************************************************************************************************************
18 | #
19 | # WWW: http://jrawio.rawdarkroom.org
20 | # SCM: https://kenai.com/hg/jrawio~src
21 | #
22 | #
23 |
24 | java -Xmx512M -cp ../jrawio-src/examples:../jrawio-src/dist/jrawio-1.0.RC4DEV.jar:dist/jrawio-unsupported.jar -Djava.util.logging.config.file=log.properties Main "$1"
25 |
--------------------------------------------------------------------------------
/modules/processor/nb-configuration.xml:
--------------------------------------------------------------------------------
1 |
2 |
24 |
25 |
31 |
32 |
38 | all
39 |
40 |
41 |
--------------------------------------------------------------------------------
/modules/processor/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | org.rawdarkroom
8 | jrawio
9 | 1.7-ALPHA-3-SNAPSHOT
10 | ../../pom.xml
11 |
12 |
13 | processor
14 | jar
15 | jrawio - processor
16 |
17 |
18 |
19 | org.rawdarkroom
20 | codec
21 |
22 |
23 | org.rawdarkroom
24 | codec
25 | tests
26 | test
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/Operation.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor;
24 |
25 | import javax.annotation.Nonnull;
26 | import it.tidalwave.imageio.raw.Source;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public interface Operation
35 | {
36 | /*******************************************************************************************************************
37 | *
38 | *
39 | ******************************************************************************************************************/
40 | public void init (PipelineArtifact artifact) throws Exception;
41 |
42 | /*******************************************************************************************************************
43 | *
44 | *
45 | ******************************************************************************************************************/
46 | public boolean supportsType (@Nonnull Source.Type imageType);
47 |
48 | /*******************************************************************************************************************
49 | *
50 | *
51 | ******************************************************************************************************************/
52 | public void process (PipelineArtifact artifact) throws Exception;
53 |
54 | /*******************************************************************************************************************
55 | *
56 | *
57 | ******************************************************************************************************************/
58 | public void processMetadata (PipelineArtifact artifact) throws Exception;
59 | }
60 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/Version.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor;
24 |
25 | import it.tidalwave.imageio.util.VersionLoader;
26 |
27 | /***********************************************************************************************************************
28 | *
29 | * @author Fabrizio Giudici
30 | * @version $Id$
31 | *
32 | **********************************************************************************************************************/
33 | public final class Version
34 | {
35 | public final static String REQUIRED_JRAWIO_TAG = VersionLoader.getVersion(Version.class);
36 |
37 | private Version()
38 | {
39 | }
40 |
41 | public static void main (final String[] args)
42 | {
43 | System.out.println("tag: " + REQUIRED_JRAWIO_TAG);
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/arw/ARWCurveOperation.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.arw;
24 |
25 | import it.tidalwave.imageio.util.Logger;
26 | import it.tidalwave.imageio.rawprocessor.PipelineArtifact;
27 | import it.tidalwave.imageio.rawprocessor.raw.CurveOperation;
28 |
29 | /***********************************************************************************************************************
30 | *
31 | * @author Fabrizio Giudici
32 | * @version $Id$
33 | *
34 | **********************************************************************************************************************/
35 | public class ARWCurveOperation extends CurveOperation
36 | {
37 | private final static Logger logger = getLogger(ARWCurveOperation.class);
38 |
39 | /*******************************************************************************************************************
40 | *
41 | * @inheritDoc
42 | *
43 | ******************************************************************************************************************/
44 | protected double getWhiteLevel (PipelineArtifact artifact)
45 | {
46 | logger.fine("getWhiteLevel()");
47 | return 4095; // FIXME
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/arw/ARWProcessor.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.arw;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.util.List;
27 | import it.tidalwave.imageio.rawprocessor.OperationSupport;
28 | import it.tidalwave.imageio.rawprocessor.RAWProcessor;
29 | import it.tidalwave.imageio.rawprocessor.raw.ColorProfileOperation;
30 | import it.tidalwave.imageio.rawprocessor.raw.DemosaicOperation;
31 |
32 | /***********************************************************************************************************************
33 | *
34 | * @author Fabrizio Giudici
35 | * @version $Id$
36 | *
37 | **********************************************************************************************************************/
38 | public class ARWProcessor extends RAWProcessor
39 | {
40 | /*******************************************************************************************************************
41 | *
42 | * {@inheritDoc}
43 | *
44 | ******************************************************************************************************************/
45 | protected void buildPipeline (@Nonnull final List operationList)
46 | {
47 | operationList.add(new ARWWhiteBalanceOperation());
48 | // operationList.add(new NEFExposureOperation());
49 | // operationList.add(new ComputeBlackLevelsOperation());
50 | operationList.add(new ARWCurveOperation());
51 | operationList.add(new DemosaicOperation());
52 | operationList.add(new ARWSizeOperation());
53 | operationList.add(new ColorProfileOperation());
54 | // operationList.add(new SharpenOperation());
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/cr2/CR2Processor.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.cr2;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.util.List;
27 | import it.tidalwave.imageio.rawprocessor.OperationSupport;
28 | import it.tidalwave.imageio.rawprocessor.RAWProcessor;
29 | import it.tidalwave.imageio.rawprocessor.raw.ColorProfileOperation;
30 | import it.tidalwave.imageio.rawprocessor.raw.DemosaicOperation;
31 |
32 | /***********************************************************************************************************************
33 | *
34 | * @author Fabrizio Giudici
35 | * @version $Id$
36 | *
37 | **********************************************************************************************************************/
38 | public class CR2Processor extends RAWProcessor
39 | {
40 | /*******************************************************************************************************************
41 | *
42 | * {@inheritDoc}
43 | *
44 | ******************************************************************************************************************/
45 | protected void buildPipeline (final @Nonnull List operationList)
46 | {
47 | operationList.add(new CR2WhiteBalanceOperation());
48 | // operationList.add(new NEFExposureOperation());
49 | // operationList.add(new ComputeBlackLevelsOperation());
50 | operationList.add(new CR2CurveOperation());
51 | operationList.add(new DemosaicOperation());
52 | operationList.add(new CR2SizeOperation());
53 | operationList.add(new CR2ColorConversionOperation());
54 | operationList.add(new ColorProfileOperation());
55 | // operationList.add(new SharpenOperation());
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/crw/CRWProcessor.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.crw;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.util.List;
27 | import it.tidalwave.imageio.rawprocessor.OperationSupport;
28 | import it.tidalwave.imageio.rawprocessor.RAWProcessor;
29 | import it.tidalwave.imageio.rawprocessor.raw.ColorProfileOperation;
30 | import it.tidalwave.imageio.rawprocessor.raw.DemosaicOperation;
31 |
32 | /***********************************************************************************************************************
33 | *
34 | * @author Fabrizio Giudici
35 | * @version $Id$
36 | *
37 | **********************************************************************************************************************/
38 | public class CRWProcessor extends RAWProcessor
39 | {
40 | /*******************************************************************************************************************
41 | *
42 | * {@inheritDoc}
43 | *
44 | ******************************************************************************************************************/
45 | protected void buildPipeline (final @Nonnull List operationList)
46 | {
47 | operationList.add(new CRWWhiteBalanceOperation());
48 | // operationList.add(new ExposureOperation());
49 | // operationList.add(new ComputeBlackLevelsOperation());
50 | operationList.add(new CRWCurveOperation());
51 | operationList.add(new DemosaicOperation());
52 | operationList.add(new CRWSizeOperation());
53 | operationList.add(new CRWColorConversionOperation());
54 | operationList.add(new ColorProfileOperation());
55 | // operationList.add(new SharpenOperation());
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/crw/CRWWhiteBalanceOperation.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.crw;
24 |
25 | import it.tidalwave.imageio.util.Logger;
26 | import it.tidalwave.imageio.crw.CRWMetadata;
27 | import it.tidalwave.imageio.raw.Source;
28 | import it.tidalwave.imageio.rawprocessor.OperationSupport;
29 | import it.tidalwave.imageio.rawprocessor.PipelineArtifact;
30 |
31 | /***********************************************************************************************************************
32 | *
33 | * @author Fabrizio Giudici
34 | * @version $Id$
35 | *
36 | **********************************************************************************************************************/
37 | public class CRWWhiteBalanceOperation extends OperationSupport
38 | {
39 | private final static Logger logger = getLogger(CRWWhiteBalanceOperation.class);
40 |
41 | /*******************************************************************************************************************
42 | *
43 | *
44 | ******************************************************************************************************************/
45 | public CRWWhiteBalanceOperation()
46 | {
47 | super(Source.Type.RAW);
48 | }
49 |
50 | /*******************************************************************************************************************
51 | *
52 | * @inheritDoc
53 | *
54 | ******************************************************************************************************************/
55 | public void process (PipelineArtifact artifact)
56 | {
57 | logger.fine("process()");
58 | CRWMetadata metadata = (CRWMetadata)artifact.getRAWMetadata();
59 | double[] rbCoefficients = metadata.getRBCoefficients();
60 |
61 | if (rbCoefficients != null)
62 | {
63 | artifact.multiplyRedCoefficient(rbCoefficients[0]);
64 | artifact.multiplyBlueCoefficient(rbCoefficients[1]);
65 | }
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/dng/DNGColorConversionOperation.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.dng;
24 |
25 | import javax.annotation.CheckForNull;
26 | import javax.annotation.Nonnull;
27 | import it.tidalwave.imageio.util.Logger;
28 | import it.tidalwave.imageio.tiff.IFD;
29 | import it.tidalwave.imageio.tiff.TIFFMetadataSupport;
30 | import it.tidalwave.imageio.rawprocessor.ColorMatrix;
31 | import it.tidalwave.imageio.rawprocessor.PipelineArtifact;
32 | import it.tidalwave.imageio.rawprocessor.raw.ColorConversionOperation;
33 |
34 | /***********************************************************************************************************************
35 | *
36 | * @author Fabrizio Giudici
37 | * @version $Id$
38 | *
39 | **********************************************************************************************************************/
40 | public class DNGColorConversionOperation extends ColorConversionOperation
41 | {
42 | private final static Logger logger = getLogger(DNGColorConversionOperation.class);
43 |
44 | @Override
45 | @CheckForNull
46 | protected ColorMatrix getColorMatrixXYZ (final @Nonnull PipelineArtifact artifact)
47 | {
48 | final TIFFMetadataSupport metadata = (TIFFMetadataSupport)artifact.getRAWMetadata();
49 | final IFD primaryIFD = metadata.getPrimaryIFD();
50 |
51 | if (primaryIFD.isColorMatrix1Available())
52 | {
53 | return getMatrix(primaryIFD.getColorMatrix1());
54 | }
55 |
56 | return null;
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/dng/DNGProcessor.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.dng;
24 |
25 | import java.util.List;
26 | import it.tidalwave.imageio.rawprocessor.RAWProcessor;
27 | import it.tidalwave.imageio.rawprocessor.raw.RotateOperation;
28 | import it.tidalwave.imageio.rawprocessor.raw.ColorProfileOperation;
29 | import it.tidalwave.imageio.rawprocessor.raw.DemosaicOperation;
30 |
31 | /***********************************************************************************************************************
32 | *
33 | * @author Fabrizio Giudici
34 | * @version $Id$
35 | *
36 | **********************************************************************************************************************/
37 | public class DNGProcessor extends RAWProcessor
38 | {
39 | /*******************************************************************************************************************
40 | *
41 | * @inheritDoc
42 | *
43 | ******************************************************************************************************************/
44 | protected void buildPipeline (List operationList)
45 | {
46 | operationList.add(new DNGWhiteBalanceOperation());
47 | // operationList.add(new ExposureOperation());
48 | operationList.add(new DNGCurveOperation());
49 | operationList.add(new DemosaicOperation());
50 | operationList.add(new RotateOperation());
51 | operationList.add(new DNGSizeOperation());
52 | operationList.add(new DNGColorConversionOperation());
53 | operationList.add(new ColorProfileOperation());
54 | // operationList.add(new SharpenOperation());
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/mrw/MRWCurveOperation.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.mrw;
24 |
25 | import it.tidalwave.imageio.util.Logger;
26 | import it.tidalwave.imageio.rawprocessor.PipelineArtifact;
27 | import it.tidalwave.imageio.rawprocessor.raw.CurveOperation;
28 |
29 | /***********************************************************************************************************************
30 | *
31 | * @author Fabrizio Giudici
32 | * @version $Id$
33 | *
34 | **********************************************************************************************************************/
35 | public class MRWCurveOperation extends CurveOperation
36 | {
37 | private final static Logger logger = getLogger(MRWCurveOperation.class);
38 |
39 | /*******************************************************************************************************************
40 | *
41 | * @inheritDoc
42 | *
43 | ******************************************************************************************************************/
44 | protected double getWhiteLevel (PipelineArtifact artifact)
45 | {
46 | logger.fine("getWhiteLevel()");
47 | return 4095; // FIXME
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/mrw/MRWProcessor.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.mrw;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.util.List;
27 | import it.tidalwave.imageio.rawprocessor.OperationSupport;
28 | import it.tidalwave.imageio.rawprocessor.raw.ColorProfileOperation;
29 | import it.tidalwave.imageio.rawprocessor.RAWProcessor;
30 | import it.tidalwave.imageio.rawprocessor.raw.DemosaicOperation;
31 |
32 | /***********************************************************************************************************************
33 | *
34 | * @author Fabrizio Giudici
35 | * @version $Id$
36 | *
37 | **********************************************************************************************************************/
38 | public class MRWProcessor extends RAWProcessor
39 | {
40 | /*******************************************************************************************************************
41 | *
42 | * {@inheritDoc}
43 | *
44 | ******************************************************************************************************************/
45 | protected void buildPipeline (@Nonnull final List operationList)
46 | {
47 | operationList.add(new MRWWhiteBalanceOperation());
48 | // operationList.add(new MRWExposureOperation());
49 | operationList.add(new MRWCurveOperation());
50 | operationList.add(new DemosaicOperation());
51 | // operationList.add(new MRWRotateOperation());
52 | operationList.add(new MRWSizeOperation());
53 | // operationList.add(new MRWColorConversionOperation());
54 | operationList.add(new ColorProfileOperation());
55 | // operationList.add(new SharpenOperation());
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/nef/NEFCurveOperation.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.nef;
24 |
25 | import javax.annotation.Nonnull;
26 | import it.tidalwave.imageio.util.Logger;
27 | import it.tidalwave.imageio.nef.NEFMetadata;
28 | import it.tidalwave.imageio.nef.NikonMakerNote3;
29 | import it.tidalwave.imageio.rawprocessor.PipelineArtifact;
30 | import it.tidalwave.imageio.rawprocessor.raw.CurveOperation;
31 |
32 | /***********************************************************************************************************************
33 | *
34 | * @author Fabrizio Giudici
35 | * @version $Id$
36 | *
37 | **********************************************************************************************************************/
38 | public class NEFCurveOperation extends CurveOperation
39 | {
40 | private final static Logger logger = getLogger(NEFCurveOperation.class);
41 |
42 | /*******************************************************************************************************************
43 | *
44 | * @inheritDoc
45 | *
46 | ******************************************************************************************************************/
47 | @Override
48 | protected double getWhiteLevel (final @Nonnull PipelineArtifact artifact)
49 | {
50 | logger.fine("getWhiteLevel()");
51 | NEFMetadata metadata = (NEFMetadata)artifact.getRAWMetadata();
52 | NikonMakerNote3 makerNote = metadata.getNikonMakerNote();
53 | double whiteLevel;
54 |
55 | if (makerNote.isCompressionDataAvailable())
56 | {
57 | whiteLevel = makerNote.getCompressionDataObject().getWhiteLevel();
58 | logger.finer(">>>> whiteLevel from linearizationTable: %s", whiteLevel);
59 | }
60 |
61 | else
62 | {
63 | whiteLevel = super.getWhiteLevel(artifact);
64 | }
65 |
66 | return whiteLevel;
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/nef/NEFRotateOperation.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.nef;
24 |
25 | import javax.annotation.Nonnull;
26 | import it.tidalwave.imageio.util.Logger;
27 | import it.tidalwave.imageio.nef.NEFMetadata;
28 | import it.tidalwave.imageio.nef.NikonCaptureEditorMetadata;
29 | import it.tidalwave.imageio.rawprocessor.raw.RotateOperation;
30 | import it.tidalwave.imageio.rawprocessor.PipelineArtifact;
31 |
32 | /***********************************************************************************************************************
33 | *
34 | * @author Fabrizio Giudici
35 | * @version $Id$
36 | *
37 | **********************************************************************************************************************/
38 | public class NEFRotateOperation extends RotateOperation
39 | {
40 | private final static Logger logger = getLogger(NEFRotateOperation.class);
41 |
42 | /*******************************************************************************************************************
43 | *
44 | * {@inheritDoc}
45 | *
46 | ******************************************************************************************************************/
47 | @Override
48 | protected int getCameraOrientation (final @Nonnull PipelineArtifact artifact)
49 | {
50 | final NEFMetadata metadata = (NEFMetadata)artifact.getRAWMetadata();
51 | final NikonCaptureEditorMetadata nceMetadata = (NikonCaptureEditorMetadata)metadata.getCaptureEditorMetadata();
52 | return (nceMetadata != null) ? nceMetadata.getOrientation() : super.getCameraOrientation(artifact);
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/orf/ORFProcessor.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.orf;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.util.List;
27 | import it.tidalwave.imageio.rawprocessor.OperationSupport;
28 | import it.tidalwave.imageio.rawprocessor.RAWProcessor;
29 | import it.tidalwave.imageio.rawprocessor.raw.ColorProfileOperation;
30 | import it.tidalwave.imageio.rawprocessor.raw.DemosaicOperation;
31 |
32 | /***********************************************************************************************************************
33 | *
34 | * @author Fabrizio Giudici
35 | * @version $Id$
36 | *
37 | **********************************************************************************************************************/
38 | public class ORFProcessor extends RAWProcessor
39 | {
40 | /*******************************************************************************************************************
41 | *
42 | * @inheritDoc
43 | *
44 | ******************************************************************************************************************/
45 | protected void buildPipeline (@Nonnull final List operationList)
46 | {
47 | operationList.add(new ORFWhiteBalanceOperation());
48 | // operationList.add(new ORFExposureOperation());
49 | // operationList.add(new ComputeBlackLevelsOperation());
50 | operationList.add(new ORFCurveOperation());
51 | operationList.add(new DemosaicOperation());
52 | operationList.add(new ORFSizeOperation());
53 | operationList.add(new ORFColorConversionOperation());
54 | operationList.add(new ColorProfileOperation());
55 | // operationList.add(new SharpenOperation());
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/pef/PEFCurveOperation.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.pef;
24 |
25 | import it.tidalwave.imageio.pef.PentaxMakerNote;
26 | import it.tidalwave.imageio.util.Logger;
27 | import it.tidalwave.imageio.tiff.TIFFMetadataSupport;
28 | import it.tidalwave.imageio.tiff.IFD;
29 | import it.tidalwave.imageio.rawprocessor.PipelineArtifact;
30 | import it.tidalwave.imageio.rawprocessor.raw.CurveOperation;
31 |
32 | /***********************************************************************************************************************
33 | *
34 | * @author Fabrizio Giudici
35 | * @version $Id$
36 | *
37 | **********************************************************************************************************************/
38 | public class PEFCurveOperation extends CurveOperation
39 | {
40 | /*******************************************************************************************************************
41 | *
42 | * @inheritDoc
43 | *
44 | ******************************************************************************************************************/
45 | protected int[] getBlackLevel (PipelineArtifact artifact)
46 | {
47 | PentaxMakerNote pefMakernote = (PentaxMakerNote)artifact.getRAWMetadata().getMakerNote();
48 | int[] blackLevels = pefMakernote.getBlackLevel();
49 | int blackLevel = (blackLevels[0] + blackLevels[1] + blackLevels[2] + blackLevels[3]) / 4;
50 | return new int[] { blackLevel, blackLevel, blackLevel };
51 | }
52 |
53 | /*******************************************************************************************************************
54 | *
55 | * @inheritDoc
56 | *
57 | ******************************************************************************************************************/
58 | protected double getWhiteLevel (PipelineArtifact artifact)
59 | {
60 | return 4095; // FIXME
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/pef/PEFProcessor.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.pef;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.util.List;
27 | import it.tidalwave.imageio.rawprocessor.OperationSupport;
28 | import it.tidalwave.imageio.rawprocessor.RAWProcessor;
29 | import it.tidalwave.imageio.rawprocessor.raw.ColorProfileOperation;
30 | import it.tidalwave.imageio.rawprocessor.raw.DemosaicOperation;
31 |
32 | /***********************************************************************************************************************
33 | *
34 | * @author Fabrizio Giudici
35 | * @version $Id$
36 | *
37 | **********************************************************************************************************************/
38 | public class PEFProcessor extends RAWProcessor
39 | {
40 | /*******************************************************************************************************************
41 | *
42 | * {@inheritDoc}
43 | *
44 | ******************************************************************************************************************/
45 | protected void buildPipeline (@Nonnull final List operationList)
46 | {
47 | operationList.add(new PEFWhiteBalanceOperation());
48 | // operationList.add(new PEFExposureOperation());
49 | operationList.add(new PEFCurveOperation());
50 | operationList.add(new DemosaicOperation());
51 | operationList.add(new PEFSizeOperation());
52 | operationList.add(new ColorProfileOperation());
53 | // operationList.add(new SharpenOperation());
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/raf/RAFCurveOperation.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.raf;
24 |
25 | import it.tidalwave.imageio.pef.PentaxMakerNote;
26 | import it.tidalwave.imageio.util.Logger;
27 | import it.tidalwave.imageio.tiff.TIFFMetadataSupport;
28 | import it.tidalwave.imageio.tiff.IFD;
29 | import it.tidalwave.imageio.rawprocessor.PipelineArtifact;
30 | import it.tidalwave.imageio.rawprocessor.raw.CurveOperation;
31 |
32 | /***********************************************************************************************************************
33 | *
34 | * @author Fabrizio Giudici
35 | * @version $Id$
36 | *
37 | **********************************************************************************************************************/
38 | public class RAFCurveOperation extends CurveOperation
39 | {
40 | /*******************************************************************************************************************
41 | *
42 | * @inheritDoc
43 | *
44 | ******************************************************************************************************************/
45 | protected int[] getBlackLevel (PipelineArtifact artifact)
46 | {
47 | int blackLevel = 0; // TODO
48 | return new int[] { blackLevel, blackLevel, blackLevel };
49 | }
50 |
51 | /*******************************************************************************************************************
52 | *
53 | * @inheritDoc
54 | *
55 | ******************************************************************************************************************/
56 | protected double getWhiteLevel (PipelineArtifact artifact)
57 | {
58 | return 8191; // FIXME
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/raf/RAFProcessor.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.raf;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.util.List;
27 | import it.tidalwave.imageio.rawprocessor.OperationSupport;
28 | import it.tidalwave.imageio.rawprocessor.RAWProcessor;
29 | import it.tidalwave.imageio.rawprocessor.raw.ColorProfileOperation;
30 |
31 | /***********************************************************************************************************************
32 | *
33 | * @author Fabrizio Giudici
34 | * @version $Id$
35 | *
36 | **********************************************************************************************************************/
37 | public class RAFProcessor extends RAWProcessor
38 | {
39 | /*******************************************************************************************************************
40 | *
41 | * {@inheritDoc}
42 | *
43 | ******************************************************************************************************************/
44 | protected void buildPipeline (@Nonnull final List operationList)
45 | {
46 | operationList.add(new RAFWhiteBalanceOperation());
47 | // operationList.add(new RAFExposureOperation());
48 | operationList.add(new RAFCurveOperation());
49 | operationList.add(new RAFDemosaicOperation());
50 | operationList.add(new RAFRotateOperation());
51 | operationList.add(new RAFSizeOperation());
52 | operationList.add(new ColorProfileOperation());
53 | // operationList.add(new SharpenOperation());
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/raw/ExposureOperation.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.raw;
24 |
25 | import it.tidalwave.imageio.raw.Source;
26 | import it.tidalwave.imageio.rawprocessor.PipelineArtifact;
27 | import it.tidalwave.imageio.rawprocessor.OperationSupport;
28 |
29 | /***********************************************************************************************************************
30 | *
31 | * @author Fabrizio Giudici
32 | * @version $Id$
33 | *
34 | **********************************************************************************************************************/
35 | public class ExposureOperation extends OperationSupport
36 | {
37 | /*******************************************************************************************************************
38 | *
39 | *
40 | ******************************************************************************************************************/
41 | public ExposureOperation()
42 | {
43 | super(Source.Type.RAW);
44 | }
45 |
46 | /*******************************************************************************************************************
47 | *
48 | * @inheritDoc
49 | *
50 | ******************************************************************************************************************/
51 | public void process (PipelineArtifact artifact)
52 | {
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/raw/SharpenOperation.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.raw;
24 |
25 | import it.tidalwave.imageio.raw.Source.Type;
26 | import it.tidalwave.imageio.rawprocessor.OperationSupport;
27 | import it.tidalwave.imageio.rawprocessor.PipelineArtifact;
28 |
29 | /***********************************************************************************************************************
30 | *
31 | * @author Fabrizio Giudici
32 | * @version $Id$
33 | *
34 | **********************************************************************************************************************/
35 | public class SharpenOperation extends OperationSupport
36 | {
37 | /*******************************************************************************************************************
38 | *
39 | *
40 | ******************************************************************************************************************/
41 | public SharpenOperation()
42 | {
43 | super(Type.RAW, Type.NORMAL);
44 | }
45 |
46 | /*******************************************************************************************************************
47 | *
48 | * @inheritDoc
49 | *
50 | ******************************************************************************************************************/
51 | public void process (PipelineArtifact artifact)
52 | {
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/raw/WhiteBalanceOperation.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.raw;
24 |
25 | import it.tidalwave.imageio.rawprocessor.PipelineArtifact;
26 | import it.tidalwave.imageio.rawprocessor.OperationSupport;
27 |
28 | /***********************************************************************************************************************
29 | *
30 | * @author Fabrizio Giudici
31 | * @version $Id$
32 | *
33 | **********************************************************************************************************************/
34 | public class WhiteBalanceOperation extends OperationSupport
35 | {
36 | /*******************************************************************************************************************
37 | *
38 | * @inheritDoc
39 | *
40 | ******************************************************************************************************************/
41 | public void process (PipelineArtifact artifact)
42 | {
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/modules/processor/src/main/java/it/tidalwave/imageio/rawprocessor/srf/SRFProcessor.java:
--------------------------------------------------------------------------------
1 | /***********************************************************************************************************************
2 | *
3 | * jrawio - a Java(TM) Image I/O SPI Provider for Camera Raw files
4 | * Copyright (C) 2003 - 2016 by Tidalwave s.a.s.
5 | *
6 | ***********************************************************************************************************************
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
9 | * the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
14 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations under the License.
16 | *
17 | ***********************************************************************************************************************
18 | *
19 | * WWW: http://jrawio.rawdarkroom.org
20 | * SCM: https://kenai.com/hg/jrawio~src
21 | *
22 | **********************************************************************************************************************/
23 | package it.tidalwave.imageio.rawprocessor.srf;
24 |
25 | import javax.annotation.Nonnull;
26 | import java.util.List;
27 | import it.tidalwave.imageio.rawprocessor.OperationSupport;
28 | import it.tidalwave.imageio.rawprocessor.RAWProcessor;
29 | import it.tidalwave.imageio.rawprocessor.raw.ColorProfileOperation;
30 | import it.tidalwave.imageio.rawprocessor.raw.DemosaicOperation;
31 | import it.tidalwave.imageio.rawprocessor.raw.CurveOperation;
32 |
33 | /***********************************************************************************************************************
34 | *
35 | * @author Fabrizio Giudici
36 | * @version $Id$
37 | *
38 | **********************************************************************************************************************/
39 | public class SRFProcessor extends RAWProcessor
40 | {
41 | /*******************************************************************************************************************
42 | *
43 | * {@inheritDoc}
44 | *
45 | ******************************************************************************************************************/
46 | protected void buildPipeline (@Nonnull final List operationList)
47 | {
48 | // operationList.add(new NEFWhiteBalanceOperation());
49 | // operationList.add(new NEFExposureOperation());
50 | // operationList.add(new ComputeBlackLevelsOperation());
51 | operationList.add(new CurveOperation());
52 | operationList.add(new DemosaicOperation());
53 | // operationList.add(new NEFSizeOperation());
54 | operationList.add(new ColorProfileOperation());
55 | // operationList.add(new SharpenOperation());
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/modules/processor/src/main/nbm/manifest.mf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tidalwave-it/jrawio-src/0d632ced58c00a12b30effe31f133e50cbf74913/modules/processor/src/main/nbm/manifest.mf
--------------------------------------------------------------------------------
/modules/processor/src/main/resources/it/tidalwave/imageio/rawprocessor/nef/NEFSizeOperation.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | #
3 | # jrawio - a Java(TM) ImageIO API Spi Provider for RAW files
4 | # ----------------------------------------------------------
5 | #
6 | # Copyright (C) 2003 - 2016 by Fabrizio Giudici
7 | # Project home page: http://jrawio.dev.java.net
8 | #
9 | ###############################################################################
10 | #
11 | # MIT License notice
12 | #
13 | # Permission is hereby granted, free of charge, to any person obtaining a copy
14 | # of this software and associated documentation files (the "Software"), to deal
15 | # in the Software without restriction, including without limitation the rights
16 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17 | # copies of the Software, and to permit persons to whom the Software is
18 | # furnished to do so, subject to the following conditions:
19 | #
20 | # The above copyright notice and this permission notice shall be included in
21 | # all copies or substantial portions of the Software.
22 | #
23 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29 | # SOFTWARE.
30 | #
31 | ###############################################################################
32 | #
33 | # $Id$
34 | #
35 | ###############################################################################
36 |
37 | # model w h l r t b
38 |
39 | E5400: 2592 1944 0 0 0 0
40 | E5700: 2560 1920 0 0 0 0
41 | E8700: 3264 2448 8 8 3 3
42 | E8800: 3264 2448 8 8 3 3
43 |
44 | NIKON\ D1: 2000 1312 6 6 6 6
45 | NIKON\ D1H: 2000 1312 6 6 6 6
46 | NIKON\ D1X: 3008 1960 6 6 6 6
47 | NIKON\ D2H: 2464 1632 16 16 8 8
48 | NIKON\ D2Hs: 2464 1632 16 16 8 8
49 | NIKON\ D2X: 4288 2848 16 16 10 10
50 | NIKON\ D2Xs: 4288 2848 16 16 10 10
51 | NIKON\ D3: 4256 2832 16 16 6 6
52 | NIKON\ D3X: 6048 4032 16 16 6 6
53 | NIKON\ D40: 3008 2000 16 16 7 7
54 | NIKON\ D40X: 3872 2592 16 16 12 12
55 | NIKON\ D50: 3008 2000 16 16 7 7
56 | NIKON\ D60: 3872 2592 16 16 12 12
57 | NIKON\ D70: 3008 2000 16 16 7 7
58 | NIKON\ D70s: 3008 2000 16 16 7 7
59 | NIKON\ D80: 3872 2592 16 16 12 12
60 | NIKON\ D90: 4288 2848 32 32 10 10
61 | NIKON\ D100: 3008 2000 13 13 12 12
62 | NIKON\ D200: 3872 2592 16 16 12 12
63 | NIKON\ D300: 4288 2848 32 32 10 10
64 | NIKON\ D700: 4256 2832 16 16 6 6
65 | NIKON\ D3000: 3872 2592 16 16 12 12
66 | NIKON\ D5000: 4288 2848 32 32 10 10
67 |
--------------------------------------------------------------------------------
/modules/processor/src/main/resources/it/tidalwave/imageio/rawprocessor/version.properties:
--------------------------------------------------------------------------------
1 | version = ${project.version}.${buildNumber}
2 |
--------------------------------------------------------------------------------
/modules/processor/src/test/resources/it/tidalwave/imageio/log.properties:
--------------------------------------------------------------------------------
1 | handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler
2 |
3 | java.util.logging.FileHandler.level = ALL
4 | java.util.logging.FileHandler.pattern = target/logs/jrawio.log
5 | java.util.logging.FileHandler.limit = 10000000
6 | java.util.logging.FileHandler.count = 20
7 | java.util.logging.FileHandler.formatter = it.tidalwave.imageio.SingleLineLogFormatter
8 |
9 | java.util.logging.ConsoleHandler.level = ALL
10 | java.util.logging.ConsoleHandler.formatter = it.tidalwave.imageio.SingleLineLogFormatter
11 |
12 | it.tidalwave.level = ALL
13 |
--------------------------------------------------------------------------------
/nbactions.xml:
--------------------------------------------------------------------------------
1 |
2 |
24 |
25 |
26 | build
27 | build-with-dependencies
28 |
29 | install
30 |
31 |
32 | true
33 |
34 |
35 |
36 | build-with-dependencies
37 | .
38 |
39 | reactor:make
40 |
41 |
42 | ${groupId}:${artifactId}
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/src/assemble/bin.xml:
--------------------------------------------------------------------------------
1 |
23 |
24 |
25 | bin
26 |
27 | tar.gz
28 |
29 |
30 |
31 | .
32 | /
33 |
34 | README*
35 | LICENSE*
36 | NOTICE*
37 |
38 |
39 |
40 | modules/jrawio-all/target
41 | /
42 |
43 | it.tidalwave.imageio.raw*.jar
44 |
45 |
46 | *-tests.jar
47 |
48 |
49 |
50 | modules/jrawio-nbm/target
51 | /
52 |
53 | *.nbm
54 |
55 |
56 |
57 | target/site/apidocs
58 | /apidocs
59 |
60 | **
61 |
62 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/src/assemble/project.xml:
--------------------------------------------------------------------------------
1 |
23 |
24 |
25 | project
26 |
27 | tar.gz
28 |
29 |
30 |
31 | .
32 | /
33 | true
34 |
35 | **/target/**
36 | .hg/**
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/src/header/header.txt:
--------------------------------------------------------------------------------
1 |
2 | ${description}
3 | Copyright (C) ${inceptionYear}-2011 by Tidalwave s.a.s.
4 |
5 | **********************************************************************************************************************
6 |
7 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
8 | the License. You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
13 | an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
14 | specific language governing permissions and limitations under the License.
15 |
16 | **********************************************************************************************************************
17 |
18 | WWW: ${url}
19 | SCM: ${scm}
20 |
21 |
--------------------------------------------------------------------------------
/src/header/javadoc.xml:
--------------------------------------------------------------------------------
1 |
2 |
24 |
25 |
26 | /***********************************************************************************************************************
27 | *
28 | **********************************************************************************************************************/
29 |
30 | (\s|\t)*/\*.*$
31 | .*\*/(\s|\t)*$
32 | true
33 | true
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/header/xml.xml:
--------------------------------------------------------------------------------
1 |
2 |
24 |
25 |
26 |
27 |
28 | ]]>
29 | $]]>
30 |
31 | (\s|\t)*$]]>
32 | false
33 | true
34 |
35 |
36 |
--------------------------------------------------------------------------------