Can the Gephi node renderer preserve the original node opacity? - gephi

My graph is saved as a GEXF file with node colors specified as r,g,b,a. I see a change to the ImporterGEXF from 0.8 to 0.9.1 which preserves the opacity value, this is great!
But when I export the graph as a PDF or PNG the opacity for all nodes is taken from PreviewProperty.NODE_OPACITY. Is there any way to use the value that was originally associated with the node?

I've contributed a patch to Gephi to support this; it's available in the current release.

Related

pixel_cloud_fusion - "camera" passed to lookupTransform argument target_frame does not exist

I'm trying to get Autoware to send out a tracked-object list for the LGSVL Simulation. I turn on Yolo3, Euclidian Cluster detection, then pixel_cloud_fusion. When I do, it constantly states that it's looking for TF and Intrinsics data. Looking further, this seems to be a "camera_info" topic that is missing. So I made one up just trying to get it working (not sure if LGSVL has any kind of native support??). I used a bunch of 1s for the matrices and "plumb bob" for the type and matched the width/height to the published camera images. Once I send it, however, I get the error:
[pixel_cloud_fusion] "camera" passed to lookupTransform argument target_frame does not exist
I have no idea what this means and the text does not appear in the Autoware software. Am I doing something wrong? Is there another topic I'm lacking?
P.S Maybe someone with 1500 rep should create an Autoware tag
It seems like this might be an issue with the TF tree being incomplete. For loopup transform to work it needs a well defined TF tree to whatever other fixed frame. To add your camera to the TF tree you should be able to use the static transform publisher.

setting threshold and batch processing in ImageJ (FIJI) macro

I know this has been posted elsewhere and that this is no means a difficult problem but I'm very new to writing macros in FIJI and am having a hard time even understanding the solutions described in various online resources.
I have a series of images all in the same folder and want to apply the same operations to them all and save the resultant excel files and images in an output folder. Specifically, I'd like to open, smooth the image, do a Max intensity Z projection, then threshold the images to the same relative value.
This thresholding is one step causing a problem. By relative value I mean that I would like to set the threshold so that the same % of the intensity histogram is included. Currently, in FIJI if you go to image>adjust>threshold you can move the sliders such that a certain percentage of the image is thresholded and it will display that value for you in the open window. In my case 98% is what I am trying to achieve, eg thresholding all but the top 2% of the data.
Once the threshold is applied to the MIP, I convert it to binary and do particle analysis and save the results (summary table, results, image overlay.
My approach has been to try and automate all the steps/ do batch processing but I have been having a hard time adapting what I have written to work based on instructions found online. Instead I've been just opening every image in the directory one by one and applying the macro that I wrote, then saving the results manually. Obviously this is a tedious approach so any help would be much appreciated!
What I have been using for my simple macro:
run("Smooth", "stack");
run("Z Project...", "projection=[Max Intensity]");
setAutoThreshold("Default");
//run("Threshold...");
run("Convert to Mask");
run("Make Binary");
run("Analyze Particles...", " show=[Overlay Masks] display exclude clear include summarize in_situ");
You can use the Process ▶ Batch ▶ Macro... command for this.
For further details, see the Batch Processing page of the ImageJ wiki.

"Separate image files" and "Image stack" in MicroManager plugin - easy way to convert between the two?

Apologies for tagging this just ImageJ - it's a problem regarding MicroManager, a microscopy plugin for it and I thought this would be best.
I'd recently taken images for an important experiment using MicroManager (a recent version, though I cannot recall the exact number). The IT services at my institution have recently been having some networking problems and my saved preferences for the software had been erased. I'd got half way through my experiment when I realised that I'd saved my images as separate image files (three greyscale TIFFs plus metadata text files) instead of OME-TIFF iamge stacks.
All of my ImageJ macros for image processing rely on having a multiple channel image stack, so this is a bit of a problem. Is there any easy way in MicroManager (or ImageJ) to bulk convert these single channel greyscale images into the OME-TIFF image stack after the images have already been taken?
Cheers.
You can start with a macro like this one:
// Convert your images to a stack
run("Images to Stack", "name=Stack title=[] use");
// The stack will default the images to time points. Convert to channels
run("Stack to Hyperstack...", "order=xyczt(default) channels=3 slices=1 frames=1 display=Color");
// Export as OME-TIFF
run("Bio-Formats Exporter");
This is designed to reconstruct one dataset at a time (open 3 images, run the macro and export the OME-TIFF).
If you don't want any dialogs to show you can pass an output directory to the Bio-Formats exporter:
run("Bio-Formats Exporter", "save=/path/to/image.ome.tif export compression=Uncompressed");
For the output file name you can get the original image name in the macro with getTitle()
There is also a template example on iterating over all the files in a directory, if you want to completely automate the macro. However this may take some tweaking since you want to operate on your images 3 at a time.
Hope that helps!

Stata - Use gr_edit with name()

I am getting into graphics in Stata. I have currently been using the gr_edit command to have code of what I have changed in the graph editor. Something like this:
histogram Car, frequency
gr_edit .plotregion1.plot1.style.editstyle area(shadestyle(color(navy))) editcopy
gr_edit .plotregion1.plot1.style.editstyle area(linestyle(color(navy))) editcopy
gr_edit .plotregion1.plot1._set_type rbarm
graph export ...
I want to combine this histogram with another histogram. To do this, I want to store both of them in memory somehow. The way I have found to do this is to include the name() option after the initial graph call. But I think that if I do this all of the gr_edit stuff will not be there. Is there anyway to use the name() function (or something like it) as a standalone function (and not just as an option) in order to store the graph in memory?
Assumning that you actually need the gr_edit lines, this works:
sysuse sp500, clear
* first graph
histogram volume, frequency saving(first)
* second graph
histogram volume, frequency
gr_edit .plotregion1.plot1.style.editstyle area(shadestyle(color(navy))) editcopy
gr_edit .plotregion1.plot1.style.editstyle area(linestyle(color(navy))) editcopy
gr_edit .plotregion1.plot1._set_type rbarm
graph save second
* combined
graph combine first.gph second.gph
* erase original files
rm first.gph
rm second.gph
See also help tempfile.

Neo4j 2.0 + Gremlin + Graphml label support

I am using neo4j 2.0 to store a lot of data. The data massive amount is generated using a ruby script and saved in a graphml file and then imported into neo4j using Gremlin.
g.loadGraphML('graphml.xml')
With neo4j 2.0, there is a new cool support for labels on a node which I would like to take advantage of. Is it possible to specify which labels a node should have in this way? Or do I really have to make queries afterwards for all nodes, setting their labels.
Thanks
I do not believe there is a way, at least within Blueprints, which is the interface which Gremlin is built upon. I don't see a way to add a label for a Vertex, nor do I see anything like that in GraphML.
Perhaps Neo4j will update their code to put the label(s) into a property for a Vertex in blueprints, but currently there is no way to get/set the labels using Gremlin/Tinkerpop.
It should also be noted that Blueprints only supports stable versions of Neo4j as we know, so something like 2.0 which is a Milestone wouldn't be fully supported in Blueprints yet.
If you're using Neo4j version 2 you can set a label by getting the underlying Neo4j Node from the Blueprint Vertex. Note that this breaks the encapsulation and adds a dependence on Neo4j, but this may be required. Also, due to issues with the latest version of Blueprint I'm still not able to use this code properly, but this is how it'd work.
import com.tinkerpop.blueprints.Vertex;
import com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph;
import com.tinkerpop.blueprints.impls.neo4j.Neo4jVertex;
import org.neo4j.graphdb.Node;
// ...
Vertex vertex = graph.addVertex(null);
Neo4jVertex neo4jVertex = (Neo4jVertex) vertex;
Node node = neo4jVertex.getRawVertex();
node.addLabel("SomeLabel");

Resources