• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

English.lproj/H03-May-2022-3429

PRICE-T.xcodeproj/H07-Jan-2015-982969

PRICE.pbproj/H07-Jan-2015-2,2472,246

PRICE.pcproj/H07-Jan-2015-251251

PRICE.xcode/H07-Jan-2015-2,4862,485

PRICE.xcodeproj/H07-Jan-2015-996983

Resources/H03-May-2022-1,6651,665

AppController.hH A D21-Feb-20101.4 KiB4322

AppController.mH A D10-Dec-20143 KiB10780

FFT.cH A D21-Aug-20084.4 KiB166132

FFT.hH A D21-Aug-20081.1 KiB2510

GNUmakefileH A D29-Aug-20142.9 KiB175141

GNUmakefile.preambleH A D23-Jan-2008568 2617

Info-PRICE.plistH A D01-Jan-20155.3 KiB226225

LICENSEH A D10-Jun-200517.2 KiB12667

MyDocument.hH A D30-Nov-20081.3 KiB3923

MyDocument.mH A D02-Jan-201520 KiB559482

PRBriCon.hH A D18-Nov-2008788 237

PRBriCon.mH A D28-Nov-20145.1 KiB147122

PRCBriCon.hH A D03-Mar-20101.1 KiB3316

PRCBriCon.mH A D11-Aug-20143.6 KiB148125

PRCConvolve55.hH A D06-Mar-20102.9 KiB8567

PRCConvolve55.mH A D12-Dec-20146.5 KiB258240

PRCCrop.hH A D12-Dec-20141.2 KiB3821

PRCCrop.mH A D13-Dec-20142.5 KiB10282

PRCCumHisto.hH A D21-Aug-2008835 248

PRCCumHisto.mH A D21-Aug-20081.1 KiB2923

PRCCurves.hH A D09-Apr-20141.3 KiB4322

PRCCurves.mH A D29-Nov-20144.2 KiB177141

PRCCustTraceEdges.hH A D06-Mar-20101.9 KiB5337

PRCCustTraceEdges.mH A D06-Mar-20107.4 KiB279244

PRCDFTHighPass.hH A D06-Mar-20101.3 KiB3820

PRCDFTHighPass.mH A D06-Mar-20105 KiB175155

PRCDFTLowPass.hH A D06-Mar-20101.3 KiB3820

PRCDFTLowPass.mH A D06-Mar-20105 KiB173156

PRCEqualize.hH A D06-Mar-2010860 238

PRCEqualize.mH A D18-May-20101.6 KiB6652

PRCFourier.hH A D14-Nov-2008761 236

PRCFourier.mH A D14-Nov-2008979 2922

PRCGrayscale.hH A D06-Mar-2010861 258

PRCGrayscale.mH A D15-Nov-20101.6 KiB6752

PRCHisto.hH A D21-Aug-2008773 227

PRCHisto.mH A D21-Aug-20081 KiB2923

PRCHistogram.hH A D21-Aug-2008799 238

PRCHistogram.mH A D21-Aug-2008878 2619

PRCInvert.hH A D14-Nov-2008764 236

PRCInvert.mH A D14-Nov-2008980 3122

PRCMedian.hH A D06-Mar-2010965 2812

PRCMedian.mH A D06-Mar-20102.1 KiB9170

PRCProgress.hH A D03-Mar-20101 KiB2914

PRCProgress.mH A D02-Aug-20121.3 KiB4939

PRCScale.hH A D12-Dec-20141.3 KiB3822

PRCScale.mH A D12-Dec-20143.9 KiB146123

PRCTraceEdges.hH A D06-Mar-20101.5 KiB4417

PRCTraceEdges.mH A D06-Mar-20103.1 KiB122101

PRCTransforms.hH A D15-Nov-20081,007 3013

PRCTransforms.mH A D15-Nov-20083.5 KiB125100

PRConvolve55.hH A D13-Nov-2008897 238

PRConvolve55.mH A D24-Nov-201441.4 KiB883848

PRCrop.hH A D30-Nov-2008820 237

PRCrop.mH A D25-Nov-20144 KiB11396

PRCumHisto.hH A D21-Aug-2008693 173

PRCumHisto.mH A D25-Nov-20142.6 KiB7867

PRCurves.hH A D14-Aug-2011868 248

PRCurves.mH A D28-Nov-20145.9 KiB200177

PRCurvesPath.hH A D09-Apr-20141.1 KiB3614

PRCurvesPath.mH A D10-Apr-20145.9 KiB259213

PRCurvesView.hH A D29-Nov-20142.8 KiB8354

PRCurvesView.mH A D29-Nov-201414.6 KiB539466

PRCustTraceEdges.hH A D06-Apr-20111.1 KiB249

PRCustTraceEdges.mH A D30-Nov-201410.3 KiB308274

PRDFTFilter.hH A D21-Aug-2008881 247

PRDFTFilter.mH A D29-Nov-201410.8 KiB367317

PRDFTHighPass.hH A D21-Aug-2008888 248

PRDFTHighPass.mH A D04-Dec-20094.5 KiB164139

PRDFTLowPass.hH A D21-Aug-2008887 248

PRDFTLowPass.mH A D04-Dec-20094 KiB145122

PREqualize.hH A D17-Nov-2008837 269

PREqualize.mH A D26-Nov-201412 KiB274237

PRFilter.hH A D03-Mar-2010987 2812

PRFilter.mH A D14-Aug-20111.1 KiB3728

PRFilterController.hH A D12-Dec-20141.1 KiB3818

PRFilterController.mH A D12-Dec-20142.8 KiB9979

PRFourier.hH A D14-Nov-2008770 227

PRFourier.mH A D29-Nov-20148.2 KiB313274

PRGrayscaleFilter.hH A D13-Nov-2008851 259

PRGrayscaleFilter.mH A D29-Nov-20146.2 KiB180157

PRHisto.hH A D21-Aug-2008692 205

PRHisto.mH A D25-Nov-20145.2 KiB130121

PRHistogram.hH A D25-Nov-20141.6 KiB4125

PRHistogram.mH A D29-Nov-20145 KiB147124

PRICEInfo.plistH A D21-Aug-20141.5 KiB7070

PRImage.hH A D03-Dec-20141.5 KiB4323

PRImage.mH A D03-Dec-20143.2 KiB142118

PRImageView.hH A D16-Aug-2014763 227

PRImageView.mH A D05-Jan-20152.8 KiB11181

PRInvert.hH A D14-Nov-2008768 257

PRInvert.mH A D03-Dec-20145.3 KiB156138

PRMedian.hH A D21-Aug-2008938 269

PRMedian.mH A D30-Nov-201415.2 KiB380347

PRPreviewController.hH A D16-Aug-20141.4 KiB4623

PRPreviewController.mH A D20-Aug-20144.7 KiB201170

PRProgressAction.hH A D13-Nov-20081.1 KiB2713

PRProgressAction.mH A D21-Aug-20081,010 3224

PRScale.hH A D10-Nov-2010909 2710

PRScale.mH A D29-Nov-20146.8 KiB228195

PRTraceEdges.hH A D18-Nov-2008854 247

PRTraceEdges.mH A D29-Nov-20149.5 KiB318285

PRTransforms.hH A D15-Nov-20081.2 KiB3821

PRTransforms.mH A D24-Nov-201415.2 KiB447389

PRWindowController.hH A D17-Nov-20121.7 KiB5232

PRWindowController.mH A D23-Nov-201410.7 KiB371317

READMEH A D07-Jan-20159.9 KiB246195

main.mH A D21-Aug-2008736 1714

README

1==========================
2    P. R. I. C. E.
3==========================
4
5
6
7             written by Riccardo Mottola
8             rm@gnu.org
9
10
11Home on Sourceforge: http://price.sourceforge.net
12                     http://sourceforge.net/projects/price/
13Document Revision: 7 January 2015
14Current Version:   1.3.0
15
16WHAT IS IT ?
17------------
18
19PRICE, which stands for Precision Raster Image Convolution Engine, aims to be a high quality
20Image filtering, enhancing and manipulation program. It is written in Objective-C and AppKit, thus designed for Cocoa and GNUstep.
21
22
23TO DO
24-----
25- numeric input checking for convolution fields
26- Implement color median filter for luma only ?
27
28? Filter Paramteres need to be autoreleased ?
29? Undo should reset correct view scale
30? bilinear scaling seems to add a black border sometimes (50%) but nearest neighbour not
31
32
33NOTES
34-----
35- development and testing is currently done on MacOS-X 10.3, 10.4 and a G3, G4;
36  10.6 on i386, please report problems on other versions.
37  10.1/10.2 are now rarely tested but appear to continue to work, will probably deprecated in the future.
38- GNUstep versions have been tested by me on Solaris, Linux, MkLinux-ppc, OpenBSD, FreeBSD, NetBSD, MinGW on different CPU's
39  (x86-32, x86-64, SPARC, PPC, MIPS and older versions on 68k)
40
41HISTORY
42-------
43
44-- what's new in 1.3.0 --
45(7 January 2015)
46+ Scaling, cropping, Greyscale, Brigthness+Contrast, Curves, Median, Equalization, Convolution now support/preserve alpha-channel
47+ Edge tracing ignores alpha-channel instead of refusing to filter
48+ Curves now support direct manipulation of splines
49+ Curves now supports better reset and other minor fixes
50+ Crop border add bug-fixes, Crop supports any byte depth
51+ Crop finally updated to PRFilterController architecture, thus it gains preview
52+ Preview window supports scaling
53+ Grayscale and inversion support 16 bit images
54+ bug fixes for imags which are byte-aligned and have more bytesPerPixel than samplesPerPixel
55+ on MacOS, handle through initial conversion alpha-first images (e.g. iPhone images)
56+ Filter parameters checked before sending self-update during live preview, helps for a more responsive interface
57+ enhanced support for 10.6, including UTIs
58
59-- what's new in 1.2.0 --
60(25 December 2012)
61+ support for JPEG as save format
62+ In curves the transformed histogram is now drawn specular on top and not left
63+ various bug fixes (e.g. Erratic histogram calculation, Curves Reset)
64
65-- what's new in 1.1.0 --
66(23 April 2012)
67+ Bilinear scaling
68+ bug fixes in custom edge tracer
69+ filters now close preview on Cancel
70+ Curves level correction
71+ GNUstep convolve matrix now acts on end-editing and not on enter, fixing year old limitation!
72
73-- what's new in 1.0.0 --
74(08 August 2010)
75+ Preview for filters
76+ improvements and cleanup in the filter architecture
77
78-- what's new in 0.9.1 --
79(31 December 2009)
80+ cleaned and fixed notifications and outlets of the window controller, which fixes a crash on GNUstep. Mac wasn't affected.
81
82-- what's new in 0.9.0
83(25 December 2009)
84+ fixes to build on current glibc and current compilers with optimizations enabled.
85+ new, unified, PRFilter architecture which simplifies all the controllers and unifies parameter passing with an Array
86+ all PRTransform actions (rotations, flips, transposition) now support both color and grayscale and preserve alpha channel
87+ complete update of all filters to support Cocoa >= 10.4 which pads the NSBitmapImageRep rows
88+ faster access to bitmap data by using PRImage instead of recreating the bitmap image rep. Used now pervasively, for example in the custom edge tracer: much faster
89
90-- what's new in 0.8.3
91(24 August 2008)
92+ performance and memory usage improvments
93+ license is now GPL v2 or later
94
95-- what's new in 0.8.2
96(20 February 2008)
97+ selectable method for greyscale conversion (rgb average and luminance of YCrCb)
98+ image inversion for both color and greyscale images
99+ in the GNUstep version an interface was corrected since it was corrupted and caused crashes
100
101-- what's new in 0.8.1
102(5 November 2006)
103+ equalization on the Y coordinate of the YCrCb colorspace
104
105-- what's new in 0.8.0
106(29 April 2006)
107+ the image representation is now a PRImage class which allows to access some fieds without fetching the TIFF image representation. This yields some speed up in some stages, like when fetching the original dimensions.
108+ the 5x5 convolution engine now works in color mode (separate RGB channels) too
109+ a small fix for the convolve progress panel that wasn't updating properly
110+ median filter has support for color filtering! (separate channel in RGB)
111+ implemented separable linear scaling
112+ implemented copy & paste
113+ faster FFT
114
115-- what's new in 0.7.0
116(26 June 2006)
117+ fixed a memory release bug that occoured when greyscale images needed to be converted in colorspace on load
118+ new interface for the "zoom" view of an image based on a pop-up button
119+ a small info line at the bottom of the image
120+ fixed zoom scale problem when doing undo/redo (it did always reset to 100%)
121
122-- what's new in 0.6.1
123(10 June 2005)
124+ automatic window scaling on open
125+ implemented a preference panel
126+ an Icon, finally! There are two versions of it, one for Macos-X and one for GNUstep.
127
128-- what's new in 0.6.0
129(11 April 2005)
130+ Brightness and Contrast adjustment
131+ histogram fixes
132
133-- what's new in 0.5
134(02 March 2005)
135+ Scale image added
136+ Crop image added
137+ undo aspect ratio update fixed
138+ many small tweaks in the UI (redesigned some panels, rearranged and relabeled those ugly Ok buttons)
139
140-- what's new in 0.4.1
141(19 January 2005)
142+ progress display for several filters (low and high pass, convolve, median, custom edge tracer)
143+ Undo fundamentals implemented, one level of image undo is held!
144+ Revert to saved works finally (thanks to the undo and some small fixes)
145+ fixed refresh of transpose, rotate90 and rotate270
146
147-- what's new in 0.4.0
148+ memory managment clean up (and some leak fixes)
149+ automatic conversion to grayscale for many filters if the image was in color
150+ further work in Custom edge tracer, algorithms now more complete and a third image can be used
151+ improved zero corssing / non zero crossing for the edge tracer(s)
152
153-- what's new in 0.3.0
154+ fixed a bug in the transposition of color images
155+ fixed a bug in the slider of the GNUstep Median filter interface
156+ added image rotation of 90/180/70 degrees
157+ added vertical and horizontal image flipping
158+ fixed some naming in the panel titles
159
160-- what's new in 0.2.9
161+ separate RGB color image equalization implemented
162+ colored display of Histogram and cumulative Hitogram
163+ memory deallocation fixes
164+ implemented zero-cross display for laplacian filters
165+ implemented customizable median filter (different forms and size)
166+ implemented the basis for a more customizable edge tracer
167+ fixed a bug in the DFTHighPass interface on GNUstep
168
169-- what's new in 0.2.8 --
170+ NSImageView works now in gnustep (no more clipping)
171+ edge tracing is implemented (with selectable filters)
172+ fixed a weak comparison for color spaces in MyDocument.m and included the check of both Calibrated and Device color space so it works more reliably across different platforms.
173
174-- what's new in 0.2.7 --
175+ histogram and cumulative histogram display
176+ fixed equalization, but improvment space remains.
177
178-- what's new in 0.2.6 --
179+ DFT low pass now uses a rised cosine for the transition improving the smoothness
180+ the DFT low-pass controller now checks for the input range, also directly entering the numerical values works
181+ rewrote pointer access in the Convolve 5x5 and did some clean up
182+ auto-range for DFT based filters works now much, much better due to a careless bug I had left in
183
184-- what's new in 0.2.5 --
185+ FFT is now displayed shifted with the 0 in the center of the image
186+ the DFT - inverse-DFT of the low and high-pass filters works now great without adding spurious lines. Now the actual filtering part remains to be done correctly.
187+ several GNUstep bugs were solved
188+ DFT based Low and High pass are now skectechd out and roughly functional
189
190-- what's new in 0.2.4 --
191(26 Oct 2003)
192+ 2D FFT is now displayed in logarithmic scale, to ease visualization
193+ Save works (TIFF output)
194
195-- what's new in 0.2.3 --
196(13 Oct 2003)
197+ 2D FFT is now usable, although it serves only as display (since only the real part is displayed and it is auto-scaled). But it should work on non square and non-power-of-two image sizes too!
198+ DFT filter at the first (useless) implementation, basically the image is transformed and back-transformed
199
200-- what's new in 0.2.2 --
201+ key order in the convolution matrix is now correct
202+ white and black color spaces are now correctly recongnized, although I don't like my current conversion method.
203+ great FFT progress
204
205-- what's new in 0.2.1 --
206(1 feb 2003)
207+ manual entering of convolution finally works (and not only when closing and reopening the panel!)
208+ "Auto Scale" correctly enables and disables manual controls, even on reopen.
209+ convolution now works fine, it wraps and mirrors over the edges as it should
210
211-- what's new in 0.2 --
212(30 jan 2003)
213+ grayscale conversion
214+ first work on the convolution engine
215+ first work on filter preference panels.
216
217-- what's new in 0.1 --
218(21 dic 2002)
219+ first initial draft, first layouts
220
221
222
223LIMITATIONS
224-----------
225- currently FFT and convolutions work only on grayscale images
226
227
228LICENSE  and DISCLAIMER
229-----------------------
230
231PRICE  Copyright (C) 2002-2015 Riccardo Mottola
232
233This program is free software; you can redistribute it and/or modify it under
234the terms of the GNU General Public License as published by the Free Software
235Foundation; version 2 of the License, or (at your option) any later version.
236
237This program is distributed in the hope that it will be useful, but WITHOUT
238ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
239FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
240
241You should have received a copy of the GNU General Public License along with
242this program; if not, write to the
243Software Foundation, Inc.,
24451 Franklin Street, Fifth Floor,
245Boston, MA  02110-1301, USA.
246