Introducing the Gephi Plugins Bootcamp

We’re happy to announce a new tool for the community today: the Gephi Plugins Bootcamp. The bootcamp is a large set of plug-in examples to guide developers create Gephi plugins easily.

Gephi’s vision focuses on the platform and we want developers to be creative and successful. Gephi is built in a way it can be easily extended with plug-ins (layout, filters, io, preview, …) but it’s not always easy to know where to start. The bootcamp addresses this need and provide the environment and the examples to get started.

Want to create a new layout? The Grid Layout example shows how to read the graph and to change coordinates. A new filter? A new exporter? Check out the JPGExporter or the SQLite exporter examples. Below is the complete list of examples and we’ll add more soon upon requests.

Checkout the code on GitHub.

The README file contains the instructions to get the code and to run the examples.

Layout

Grid Layout Example Grid Layout
Place all nodes in a simple grid. Users can configure the size of the area and the speed.
Sorted Grid Layout Example Sorted Grid Layout
Same example as Grid Layout but users can sort nodes using an attribute column.

Filter

Transform to Undirected Example Transform to Undirected
Edge filter to remove mutual edges in a directed graph.
Top Nodes Filter Top nodes
Keep the top K nodes using an attribute column.
Filter Edge Crossing Example Remove Edge Crossing
Example of a complex filter implementation which removes edges until no crossing occurs.

Tool

FInd with Autocomplete Find with autocomplete
Tool with a autocomplete text field to find any node based on labels and zoom by it.
Add Nodes example Add Nodes
Listen to mouse clicks and adds nodes. Also adds edges if selecting other nodes.

Export

jpg export JPG Export
Vectorial export to the JPG image format. Contains a settings panel to set the width and height.
sqlite_export SQLite Database Export
Current graph export to a SQLite Database file. A new sub-menu is added in the Export menu and an example of a custom exporter is shown.

Preview

Highlight mutual edges example Highlight Mutual Edges
Colors differently mutual edges. Overwrites and extends the default edge renderer.
Glow Renderer example Glow Renderer
Adds a new renderer for node items which draws a glow effect around nodes.
Z-Ordering Example Node Z-ordering
Extends the default node builder by reordering the node items by size or any number columns. Also shows how to create complex Preview UI.

Importer

Matrix import example Matrix Market File Importer
File importer for the Matrix Market format. Large set of matrix file examples on Yifan Hu’s gallery.

Statistics

Count Self Loop example Count Self-Loop
Example of a statistics result at the global level. Simply counts the number of self-loop edges in the graph.
Average Euclidean Distance Example Average Euclidean Distance
Example of a per-node calculation. For a given node it calculates the average distance to others.

Plugins sub-menu

Submenus Example Test action
Simple action which displays a message and a dialog.
remove_self_loops Remove self loops
Action which accesses the graph and removes self-loops, if any.
Progress Example Using Progress and Cancel
Action which creates a long task and executes it with progress and cancel support.

Execute at startup

UI Ready Example When UI is ready
Do something when the UI finished loading.
workspace_events Workspace select events
Do something when a workspace is selected.

Processor

Initial Position Processor Example Initial Position
Set up the nodes’ initial position always the same. It calculates a hash with all nodes so the X/Y position is randomized always in the same way.

Panels

Panel Example New panel
Example of a new panel plugin set up at the layout position.

If you have any questions please send an email to the gephi-plugins [at] lists.gephi.org mailing list or stop by on the forum.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s