Menü
Developer

GNU Octave 3.8 bringt lang nachgefragte grafische Oberfläche

Von
vorlesen Drucken Kommentare lesen 3 Beiträge

Version 3.8 der Programmiersprache GNU Octave steht zum Download bereit. Das Update des als freie MATLAB-Alternative gedachten Projekts enthält unter anderem die häufig angefragte grafische Oberfläche (GUI), die bei Bedarf vorerst allerdings mit der Option --force-gui beim Start von Octave aufzurufen ist. Bis zum Release der 4.0.x-Reihe möchten die Entwickler noch etwas Zeit in den letzten Feinschliff investieren, um die GUI dann zur Standardoberfläche zu machen.

Zu den Neuerungen, die auch für Puristen von Interesse sein könnten, zählt beispielsweise der nun standardmäßige Einsatz von von OpenGL in den FLTK Widgets. Sollte eines von beiden nicht vorhanden sein, kommt weiterhin gnuplot zum Einsatz. Dessen Verwendung lässt sich im Übrigen durch das Ergänzen von graphics_toolkit ("gnuplot") in ~/.octaverc zur Standardeinstellung machen.

Im FLTK-Toolkit steht ein TeX-Parser zur Verfügung, der sich von nun an standardmäßig allen Textobjekten (auch Titel und Achsenbeschriftungen) für die Darstellung auf Displays annimmt. Außerdem haben die Entwickler die Funktionen imread und imwrite neu implementiert. Bei deren Nutzung ist deshalb darauf zu achten, dass die Transparenzwerte nun invertiert sind, 0 also gleichbedeutend mit kompletter Transparenz ist, und der Alphakanal in imwrite als einzelnes Argument zu übergeben ist (Längen von zwei und vier in der dritten Dimension werden zudem nicht mehr als Graustufen oder RGB mit Alphakanal interpretiert). Die neue imread-Implementierung gibt außerdem immer Indizes der Colormap zurück, auch wenn sie nicht explizit angefragt waren.

Auch in puncto MATLAB-Kompatibilität hat sich einiges getan, so unterstützt Octave nun etwa Nested Functions mit entsprechend kompatiblen Scoping-Regeln und die Funktionen regexp, regexpi sowie regexprep verarbeiten Backslash-Escape-Sequenzen in Pattern Strings mit einzelnen Anführungszeichen. Darüber hinaus stehen 'emptymatch' und 'noemptymatch' als Optionen für reguläre Ausdrücke bereit und strsplit wurde so angepasst, dass Begrenzer nun Vektoren aus Zeichenketten und nicht mehr Skalare sind.

Da das java package aus Octave Forge mit dem neuen Release in die Kernimplementierung übergegangen ist, lösen einige neue Funktionen bereits bekannte wie java_debug und java_convert_matrix ab, die nun als deprecated markiert sind. Eine Liste hierzu findet sich in der Zusammenfassung der wichtigsten Änderungen, wo auch alle neuen und nicht länger verfügbaren Funktionen verzeichnet sind. (jul)