Skip to content

Latest commit

 

History

History
executable file
·
234 lines (205 loc) · 24.4 KB

Graphics.md

File metadata and controls

executable file
·
234 lines (205 loc) · 24.4 KB

Graphics and other Visualization libraries and packages. Also includes blog links narrating user experiences and howto's.


GRAPHICS

  • AAM.jl :: Active Appearance Models.
  • Bezier.jl :: Julia functions for computing a Bezier curve.
  • Blending.jl.
  • Ccv.jl :: Julia bindings for libccv's SIFT image feature detection.
  • Click.jl :: Julia package for click maps and advanced interaction with graphics.
  • ColorBrewer.jl :: A Julia library for generating color brewer color schemes.
  • Compose.jl :: A declarative vector graphics system written in Julia, designed to simplify the creation of complex graphics and serves as the basis of the Gadfly data visualization package. Source code on Github.
  • Contour.jl :: Calculating contour curves for 2D scalar fields in Julia.
  • Curvelet.jl :: Implementation of the Uniform Discrete Curvelet Transform (UDCT).
  • CVCore.jl :: Core functionality.
  • CVImgCodecs.jl :: Image file reading and writing
  • CVImgProc.jl :: Image processing
  • CVHighGUI.jl :: High-level GUI.
  • CVVideoIO.jl :: Media I/O.
  • DelayedBuffer.jl :: Delayed buffer view for Julia 1D arrays.
  • DevIL.jl :: DevIL / OpenIL binding for Julia.
  • DrakeVisualizer.jl :: Interface to the RobotLocomotion Drake Visualizer tool from Julia.
  • Draw3D.jl :: A 3D graphics package with a Julia API, built on OpenGL.
  • Drawing.jl :: A library for easy, extensible drawing (diagrams, lines, shapes).
  • Fontconfig.jl :: provides basic binding to fontconfig.
  • GLAbstraction.jl :: Utility package for ModernGL.
  • GLWindow.jl :: Create a window with an OpenGL context.
  • GR.jl :: This module provides a Julia interface to the GR framework graphics library.
  • HalideCall.jl :: Use shared libraries created by Halide from Julia.
  • ImageProjectiveGeometry.jl :: Projective geometry for computer vision in Julia.
  • ImageQuilting.jl :: Image quilting for texture synthesis in Julia .
  • Images.jl :: An image library for Julia.
  • ImageSegmentation.jl :: Partitioning images into meaningful regions.
  • ImageView.jl :: An interactive display of images and movies.
  • ImplicitEquations.jl :: Julia package to facilitate graphing of implicit equations and inequalities.
  • Konthe.jl :: Collection of convenience function for plotting using the OpenGL package.
  • LatticeVis.jl.
  • Layout.jl :: Graphics layout management for Julia.
  • LeafAreaIndex.jl :: Package to calculate Leaf Area Index from Hemisperical Images.
  • LibOpenCV.jl :: OpenCV library dependencies.
  • LineExtraction.jl :: Line extraction from an image (using Markovian model and energy minimization).
  • Luxor.jl :: an easy-to-use sugary coating in Julia for the Cairo graphics package.
  • LuxRay.jl :: Julia wrapper for LuxRay.
  • MeshSlicer.jl :: A package for slicing meshes into polygons using Julialang.
  • MeshIO.jl :: IO for Meshes.
  • ModernGL.jl :: OpenGL 3+ bindings for Julia. This is a WIP GSoC-2014 effort to get 3D graphics into Julia.
  • NetworkViz.jl :: Julia Interface to visualize Graphs.
  • NRRD.jl :: Package for NRRD IO.
  • OCV.jl :: A wrapper for OpenCV - WIP.
  • OpenCV.jl :: The OpenCV (C++) interface for Julia.
  • OpenGL.jl :: Julia interface to OpenGL.
  • Painter.jl :: A Julia implementation of PAINTER (Polychromatic opticAl INTErferometric Reconstruction) algorithm.
  • PerceptualColourMaps.jl :: Perceptually Uniform Colour Maps for Julia.
  • PGFPlotsX.jl :: Seamlessly create plots in Julia using the PGFPlots LaTeX package.
  • Reel.jl :: Computations caught on camera.
  • Romeo.jl :: 3D visualizations and editing in Julia + OpenGL.
  • Rsvg.jl :: An adaptation of the librsvg to render SVG to Cairo surfaces.
  • SchroedingersSmoke.jl :: Schrödinger's Smoke.
  • SimpleDirectMediaLayer.jl :: Julia interface to SDL2.
  • seg2seg.jl :: Computes the minimum distance between two segments in a 2D plane.
  • ShaderToy.jl :: Shade objects in Julia, created with GLVisualize.jl + OpenGL.
  • ShapeModels.jl :: Statistical shape models / point distribution models.
  • SignedDistanceFields.jl : Simple and efficient SDF calculation.
  • SixelGraphics.jl :: A module for Julia implementing simple Sixel graphics.
  • Skia.jl :: Experimental skia bindings. Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
  • TestImages.jl :: Loading standard test images into Julia.
  • ThreeJS.jl :: Julia interface to WebGL using Three-js custom elements and Patchwork.jl.
  • TIFF.jl :: is the TIFF image file support for Julia.
  • VideoIO.jl :: A wrapper around libav/ffmpeg libraries, which are the defacto open-source libraries for video IO. The library offers an easy way to open video files or a camera and read sequences of images, as either arrays, or optionally as Image objects, using the Images package, has been developed on Linux, and the installation and functionality has been minimally tested on Macs, but not yet on Windows.
  • VisualRegressionTests.jl :: Automated integrated regression tests for graphics libraries. {Usable: 3, Robust: 3, Active: 1}
  • VLFeat.jl :: Julia wrappings for the VLFeat computer vision library.
  • WavefrontObj.jl :: Wafefront Obj importer.
Resources
  • julia-opengl-demos :: A holding place for demos and tutorials as @ssfrr learns OpenGL in Julia, using GLFW.jl and OpenGL.jl.
  • Videre :: OpenGL examples written in Julia.
  • ImagesCore.jl :: Julia types for representing images.
  • Smile.jl :: A Julia wrapper for the Smile C++ Structural Modeling, Inference, and Learning Engine for Bayesian & Influence Networks .
  • TikzGraphs.jl :: Graph layout package using algorithms built into PGF/TikZ 3.0+.
  • TikzPictures.jl :: Library interface to PGF/TikZ, that allows one to create PGF/TikZ pictures and images can be saved as PDF, SVG, and TEX. If using IJulia, it will output SVG images.

Games

  • ArcadeLearningEnvironment.jl :: ArcadeLearningEnvironment Julia interface.
  • AtariAlgos.jl :: Models/algorithms for use with the Arcade Learning Environment (ALE). {Usable: 5, Robust: 4, Active: 2}
  • eve.jl :: Julia library for interacting with Eve Online.
  • JuliaKara.jl : A julia port of the learning environment Kara.
  • Quake2.jl :: Experimental Quake 2 map graphics engine written with Julia and modern OpenGL.
  • SFML.jl :: A binding of the Game and Multimedia Library SFML.
  • SpaceShooter.jl :: This is a small space shooter game made in Julia with SFML.jl

INFOGRAPHICS

Plotting for statistical Charts, Graphs, Plots, Histograms, Maps:

  • AnimatedPlots.jl :: Fast animated (and static) plots for Julia.
  • AverageShiftedHistograms.jl :: David Scott's Average Shifted Histogram density estimation.
  • BBVis.jl :: Visualizations for branch-and-bound algorithms.
  • BlenderPlot.jl :: a prototype version of the bar_chart plot on Blender using PyCall.
  • Cairo.jl :: Bindings for the Cairo graphics library.
  • CData.jl :: C-Data Analysis/Visualization Suite.
  • Colors.jl will replace Color.jl from ver-0.4 onwards.
  • ColorTypes.jl :: Color primitives for Julia, based on FixedSizeArrays.
  • ColorVectorSpace.jl :: This package is an add-on to ColorTypes, and provides fast mathematical operations for objects with types such as RGB and Gray - Treat colors as if they are n-vectors for the purposes of arithmetic.
  • ComposeVideo.jl :: Video generator for Gadfly.jl.
  • DataVoyager.jl :: Julia wrapper for the Voyager data exploration tool
  • DC.jl :: A Julia package for automagical DC.js linked charts in your IJulia notebook.
  • Displaz.jl :: Julia bindings for displaz, a cross platform las viewer application for displaying geospatial LiDAR data (point clouds and high level features deduced from such point clouds, and other geometry). The announcement on the julia-dev ML by the core-dev ChrisFoster @c42f, also includes some installation instructions, which uses OpenGL display.
  • ECharts.jl by @wlbksy :: Julia package for ECharts
  • ECharts.jl by @randyzwitch :: Julia package for the ECharts visualization library.
  • GainPatterns.jl :: This package allows manipulation of gain patterns. A gain pattern is a collection of gains (or strengths) versus angle. If you have a vector of angles, and a vector of gains taken at these angles, you can create a GainPattern, then create publication-ready plots of these gain patterns using PGF with the GainPatternsTex.jl package.
  • GainPatternsTex.jl :: Plotting gain patterns.
  • GL.jl :: Experimental OpenGL bindings for Julia.
  • GLAbstraction.jl :: Abstraction library for OpenGL.
  • GLWindow.jl :: Simple package to create an OpenGL window with an OpenGL context.
  • GR framework :: A graphics library for visualisation applications. {{Has Julia routines compatible with the current ver0.4-stable release}}
  • GracePlot.jl :: Publication-quality plotting for julia using Grace/xmgrace.
  • GraphRecipes.jl:: Graph-related recipes to be used with Plots.jl.
  • GraphCentrality.jl :: All centrality measures relating to graphs for degree (with indegree and outdegree), betweenness, and closeness centrality measures.
  • GraphPlot.jl :: Graph visualization for Julia.
  • GraphVisualize.jl :: Graph visualization with tight integration with LightGraphs.jl package.
  • GraphViz.jl :: Julia bindings for the GraphViz library.
  • HEALPix.jl :: Julia wrapper for HEALPix.
  • Histograms.jl :: Methods for handling histograms in Julia.
  • Immerse.jl :: Dive deeper into your data with interactive graphics.
  • Lumira.jl :: A Julia Library which helps in the creation of SAP-Lumira extensions using Gadfly.
  • MinMaxFilter.jl :: Lemire min max filter.
  • Plots.jl :: An API/interface and wrapper that sits above other plotting packages (backends) and gives the user simple, consistent, and flexible plotting commands. {Usable: 5, Robust: 4, Active: 5}
  • PlotRecipes.jl :: Assorted recipes to be used with Plots.jl.
  • PlotThemes.jl.
  • RasterIO.jl :: Simple Raster Formats for Julia.
  • RecipesBase.jl :: Base package for defining transformation recipes on user types for Plots.jl
  • VennDiagrams.jl :: Generate Venn diagrams in Julia using Compose.jl.
  • VennEuler.jl :: Generate area-proportional Venn/Euler diagrams in Julia.
  • VGPlot.jl :: A knock-off of ggplot2 in Julia using Vega.
  • VTK.jl :: VTK bindings for the Julia language.
  • Wavelets.jl, by JuliaDSP :: Fast Discrete Wavelet Transforms written in Julia.
  • Wavelets.jl, by tomaskrehlik :: Implementation of Wavelet methods in Julia.

Graphical Plotting

  • Bokeh.jl :: Bokeh bindings for Julia.
  • FalseColor.jl :: A Julia package to turn gridded data into pretty images.
  • Gadfly.jl :: Gadfly is a statistical graphics plotting and data visualization system.
  • Gaston.jl :: A julia front-end for gnuplot.
  • GLPlot.jl :: Plotting for Julia with OpenGL.
  • GLFW.jl :: Julia interface to GLFW, a multi-platform library for creating windows with OpenGL contexts and managing input and events.
  • GLVisualize.jl :: Visualization library written in Julia and OpenGL.
  • GMT.jl :: is a package containing Julia bindings for the Generic Mapping Tools Library, a.k.a libgmt - a set of libraries tht allows manipulating geographic and Cartesian data sets (including filtering, trend fitting, gridding, projecting, etc.) and producing Encapsulated PostScript File (EPS) illustrations ranging from simple x-y plots via contour maps to artificially illuminated surfaces and 3-D perspective views.
  • GoogleCharts.jl :: The Julia interface to Google Chart Tools.
  • julia-glplot :: Opengl plotting - Plotting of arrays, functions, Histograms, oscilloscope style real-time plotter.
  • paper :: Crumpled paper - PDF plot in Julia.
  • PGFPlots.jl :: Plotting tool that uses the LaTeX pgfplots package (built on top of TikZ) to produce plots. Short tutorial notebook.
  • Plotly.jl :: A Julia wrapper for the plot.ly REST API.
  • PlotlyBase.jl :: Generate plotly.js JSON in Julia.
  • PlotRecipes.jl :: Assorted recipes to be used with Plots.jl
  • PlotUtils.jl :: Generic helper algorithms for building plotting components
  • PLplot.jl :: A cross-platform software package for creating scientific plots.
  • PyPlot.jl :: Plotting for Julia based on matplotlib, pyplot.
  • Qwt.jl :: 2D plotting, drawing, and GUIs using Qwt and Qt. {Usable: 4, Robust: 3, Active: 1}
  • RecipesBase.jl :: Base package for defining transformation recipes on user types for Plots.jl.
  • Sparrow.jl :: A Julia package for plotting that uses ctioga2 as a backend.
  • StatPlots.jl :: Statistical plotting recipes for Plots.jl
  • Vega.jl :: A Julia package for generating visualizations in Vega.
  • VegaLite.jl :: This package provides access to the Vega-Lite high-level visualization grammar in Julia. It is a simpler version of the Vega grammar allowing smaller and more expressive chart specifications, intentionaly more limited than Vega, and parts of the VegaLite package (rendering functions, IJulia integration) are based on Vega.jl.
  • Visualizer.jl :: A simple GUI for quickly panning through a collection of data.
  • Vulkan.jl :: Wrapper of Vulkan, Khronos next generation OpenGL API.
  • Winston.jl :: 2D plotting for Julia.
  • YT.jl :: A Julia interface to the Python-based yt analysis toolkit. YT exposes a number of functionalities from yt.

Non-Graphical Plotting

  • ASCIIPlots.jl
  • Hinton.jl :: A small Julia library for generating Hinton diagrams. It supports standard vector graphics formats such as PNG, SVG, and PDF, as well as generating diagrams in a terminal with Unicode and colour support.
  • ImageTerm.jl :: Julia functions to plot colorful maps in the terminal.
  • MakiE.jl :: High level plotting on the GPU.
  • Sparklines.jl :: A Julia implementation of spark: simple printing of unicode trendlines.
  • TextPlots.jl :: Fancy terminal plotting for Julia using Braille characters.
  • UnicodePlots.jl :: Unicode plotting for the REPL in Julia.
Resources

Read other Julia-users experiences with visualization and plotting.


Computational Geometry

Discussion centered around the JuliaGeometry organization.

  • GeometricalPredicates.jl :: Fast, robust 2D and 3D geometrical predicates on generic point types. Implementation follows algorithms described in the Arepo paper and used (for e.g.) in the Illustris Simulation.
  • GeometryTypes.jl :: Geometry types and for Julia, based on FixedSizeArrays.
  • Meshes.jl :: Generation and manipulation of triangular meshes for a type of polygon mesh in computer graphics.
  • OctTrees.jl :: Fast quad and oct-trees.
  • Orthotopes.jl :: A Julia package for creating n-dimensional bounding boxes, a.k.a orthotopes, which are generalizations of rectangles in arbitary dimensions that are useful for describing bounding boxes of geometrical primitives. It implements Allen's interval algebra for evaluating the relations between orthotopes.
  • TetGen.jl :: TetGen wrapper.
  • TriangleIntersect.jl :: Fast ray-triangle intersections for raytracing.
  • VoronoiCells.jl :: Manipulate Voronoi cells in 2D.
  • VoronoiDelaunay.jl :: Fast robust Voronoi and Delaunay triangulations, using GeometricalPredicates.jl package.