Hello all,
I have just uploaded enhanced versions of the TransferCurves and ColorSaturation standard modules. You can download them here:
Linux:
TransferCurves moduleColorSaturation moduleWindows:
TransferCurves moduleColorSaturation moduleTo install the new modules, download and decompress them on the bin folder where you have PixInsight32 installed. You'll have to replace the existing files. The Linux files are gzip-compressed archives (.gz). The Windows files are ZIP archives (.zip).
These modules incorporate the following new features and changes:
1. New Akima subspline interpolationThis is a new curve interpolation available on the CurvesTransform and ColorSaturation interfaces. This is an
important new feature. With Akima interpolation, you can define curves with unparalleled freedom and accuracy. Here is a comparison between the three curve interpolations that are now available in PixInsight, applied to a complex case:
Akima interpolation:
Cubic spline interpolation:
Linear interpolation:
With respect to standard cubic spline curves, these are the main advantages of Akima curves:
- You can define corners properly. To create a corner point, just define two adjacent line segments with different slope. This is done by placing two colinear points at each side of the corner point. This is impossible with cubic splines because they impose second-order continuous differentiability on the whole curve. Akima imposes just 1st-order differentiability, and our implementation fully supports creating corners as singular exceptions to that rule.
- The ripple effect that is so characteristic of cubic splines is greatly reduced or eliminated by Akima interpolation (due to the lower order of differentiability, and also because cubic splines are global interpolation devices, while Akima defines local interpolation functions). This gives you a great freedom to define complex curves combining linear and smooth curve segments in any number and order.
- When you move a curve point, the effect over the whole curve is minimal. In general, only the two adjacent subintervals experiment significant changes when a given curve point is dragged with Akima interpolation.
ReferencesHiroshi Akima,
A new method of interpolation and smooth curve fitting based on local procedures, Journal of the ACM, Vol. 17, No. 4, October 1970, pages 589-602.
G. Engeln-Müllges & F. Uhlig,
Numerical Algorithms with C, Springer, 1996, section 13.1.
2. Enhanced point selection routinesNow it is much easier to select a particular curve point by clicking on the curves. It is also more accurate, which is important when dealing with sophisticated curves that have many points close together. The new routines are better in selecting the right curve point, depending on the location where you click on the curve.
3. Better real-time previewing performanceSome optimizations in various interpolation routines result in slightly faster real-time renditions of CurvesTransform and ColorSaturation.
============================================================
Hola a todos
Acabo de subir versiones mejoradas de los módulos estándar TransferCurves y ColorSaturation. Los podéis descargar aquí:
Linux:
Módulo TransferCurves
Módulo ColorSaturation
Windows:
Módulo TransferCurves
Módulo ColorSaturation
Para instalar los nuevos módulos, descárgalos y descomprímelos en la carpeta bin donde tenéis instalado PixInsight32. Será necesario reemplazar los archivos existentes. Los ficheros para Linux son archivos comprimidos con gzip (.gz). Los ficheros para Windows son archivos ZIP (.zip).
Estos módulos incorporan los siguientes cambios y caracerísticas nuevas:
1. Nueva interpolación por Akima subsplines
Se trata de una nueva interpolación que está disponible en las interfaces de CurvesTransform y ColorSaturation. Éste es un cambio importante. Con la interpolación de Akima se pueden definir curvas con gran libertad y extrema precisión. Esto es una comparación entre los tres algoritmos de interpolación de curvas disponibles ahora en PixInsight, aplicados a un caso complejo:
Akima interpolation:
Cubic spline interpolation:
Linear interpolation:
Con respecto a los splines cúbicos tradicionales, las principales ventajas de las curvas Akima son las siguientes:
- Se pueden definir esquinas correctamente. Para crear un punto-esquina, basta con definir dos segmentos lineales con diferentes pendientes. Esto se consigue colocando dos puntos colineales a cada lado del punto-esquina. Hacer esto es imposible con los splines cúbicos porque éstos imponen la continuidad de la segunda derivada para toda la curva. Akima sólo impone la continuidad de la primera derivada, y además nuestra implementación permite crear esquinas como excepciones singulares a esa regla.
- El efecto de rizado que es tan característico de los splines cúbicos queda fuertemente reducido o eliminado en la interpolación de Akima (debido al menor orden de diferenciabilidad, y también porque los splines cúbicos son dispositivos de interpolación globales, mientras que Akima define funciones de interpolación locales). Esto proporciona una gran libertad a la hora de definir curvas complejas permitiendo combinar segmentos rectos con curvas suaves en cualquier número y con cualquier orden.
- Cuando el usuario mueve un punto de la curva, el efecto originado en la curva completa es mínimo. En general, sólo los dos subintervalos adyacentes experimentan cambios significativos cuando se desplaza un punto de una curva interpolada mediante Akima subsplines.
Referencias
Hiroshi Akima, A new method of interpolation and smooth curve fitting based on local procedures, Journal of the ACM, Vol. 17, No. 4, October 1970, pages 589-602.
G. Engeln-Müllges & F. Uhlig, Numerical Algorithms with C, Springer, 1996, section 13.1.
2. Rutinas de selección de puntos mejoradas
Ahora es mucho más fácil seleccionar un punto de una curva haciendo clic sobre la misma. También es más preciso, lo cual es importante cuando se manejan curvas sofisticadas consistentes en muchos puntos cercanos entre sí. Las nuevas rutinas son mejores para seleccionar el punto correcto dependiendo de la posición del cursor en el momento de hacer clic sobre la curva.
3. Mejores prestaciones en la previsualización en tiempo real
Ciertas optimizaciones en varias rutinas de interpolación tienen comoi consecuencia una ligera mejora en las prestaciones de CurvesTransform y ColorSaturation con previsualización en tiempo real.