editing sulci

Questions about Anatomist manipulation

Moderators: denghien, riviere

Post Reply
Alexf
Posts: 7
Joined: Mon Dec 12, 2005 1:43 am

editing sulci

Post by Alexf »

Hi,
I've been trying to piece together how to manually edit sulci from the mailing list and google-translated Anatomist help pages, but am still unsure of exactly how to do this.
I would like to know how to:
- Delete parts of graph nodes. Sometimes small branches get included with the main body of a sulcus, and I would like to delete the branches.

- Combine separate graph nodes into one. Long sulci tend to be broken up into separate parts, and I would like to combine them into one to get morphometry stats for the entire sulcus

What I have tried so far:
Load the T1 (.ima) and graph (.arg) files in Anatomist, and 'add' to a 2D viewing window.
Clicked the ROI button to bring up a list of graph nodes (that I have renamed to suit my purposes). Clicking the name of each node brings it up on the T1 so I can see it.
Clicked the "ROI drawing mode by Label selection button" and tried to delete parts of the nodes. I get a message saying "Huge amount of data! You can proceed but it will take a few minutes. Yes/No?" Nothing happens, no matter which I click.
Clicked Region > Fusion in the toolbox to try to fuse the nodes I want to make one sulcus. Anatomist closes and I get a segmentation fault.

Any help is much appreciated!!
Cheers,
Alex
User avatar
riviere
Site Admin
Posts: 1361
Joined: Tue Jan 06, 2004 12:21 pm
Location: CEA NeuroSpin, Saint Aubin, France
Contact:

Post by riviere »

Hi,

Well, just a few hints:
- graph nodes are considered atomic: currently there is no tool to edit or delete parts of nodes. This is a limitation that we cannot solve easily today.
- the ROI toolbox doesn't work on cortical folds graphs because sulci are more complex than what the ROI toolbox handles (there are several graphical objects in a node). It doesn't really surprise me that it crashes...
- a node does not represent a sulcus, but a part of sulcus: a sulcus can be represented as several nodes (with the same label)
- there should be no need to combine nodes: it's the job of the morphometry process of brainvisa: it combines nodes with the same label and calculates morphometric descriptors
- to manipulate sulci, normally all you need is to change labels on nodes (attribute 'label' or 'name' in each node): if you want to "erase" a node, rename it to "unknown". To do so, put the graph in a browser window, select the node you want (for instance by clicking on it in a 3D view when in selection mode), then when the node is selected in the browser, right-click on it and select "change label". You can pick label values from a nomenclature that you have also put in a browser.

This is a very short explanation, I hope you will be able to manage with it...

Denis
Alexf
Posts: 7
Joined: Mon Dec 12, 2005 1:43 am

Post by Alexf »

Thanks very much for your reply, Denis.
Just to clarify: So the sulci (or elements of sulci, as represented by graph nodes) that are extracted and labelled in ana compute cortical fold arg and Automatic Recognition cannot be edited or altered. This means that I would be unable to parition a sulci into arbitrary divisions, like say, the anterior and posterior portion of the cingulate sulcus (although I do note that the graph nodes approximate these divisions, I would have liked to partition it myself to be consistent with other work I'm doing). Is this correct?
Some more questions:

- I'm not sure what you mean by combining nodes should be unnecessary. It seems to be that separate nodes that represent a sulcus (e.g., the cingulate sulcus) can have slightly different names. Is it possible to rename them all with the same name, so that they are then more or less combined?

-Since no editing can be done on nodes or sulci, when you say 'manipulate sulci' do you mean purely for visualzation/morphometry stats purposes?

-Finally, what is the object fusion function designed to do, if not combine nodes?
Sorry about all the questions, Im trying to do far too much in far too little time

:D :D

Thanks again,
Alex
User avatar
riviere
Site Admin
Posts: 1361
Joined: Tue Jan 06, 2004 12:21 pm
Location: CEA NeuroSpin, Saint Aubin, France
Contact:

Post by riviere »

Hi,

The sulcal nodes contain several voxels lists and a mesh, and are not suitable to edit in the ROI toolbox (at the moment, at least) because the ROI toolbox only expects one voxel list per node, so, no, you cannnot edit the voxels contained in a sulcal node.
As I said, a node is not a sulcus. You cannot partition a node, but you can partition a sulcus if it is made up of several nodes (ie you can reaffect some of its nodes to other sulci, or to the "unknown" object).
When a single node appears to be part of several sulci, then we have a problem: we have no easy tool to edit them at the moment (due to the lack of time to work on it). This is the real limit of our software.

If you have performed an automatic labeling of the sulci, then all nodes belonging to the same sulcus have exactly the same label. If you have labelled them manually, then you might have labelled them at a finer level then the current model nomenclature. As long as you still use labels from our hierarchical nomenclature (sulcal_roots_color.hie), labels will be translated to upper levels by the morphometry process of brainvisa to match the labels of our model. The morphometric measurements can only be performed using a model, this means it will be done at the level of sulci present in the model.

By 'manipulate sulci' I mean change labels/names in nodes so the nodes forming a sulcus can be changed and the sulcus gets a different shape. You can save the folds graph once you have edited it. But you cannot edit the voxels in nodes. So yes, it's for morphometry purposes, but isn't it what you want ?

The fusion tool in the ROI toolbox is designed to actually merge several nodes, but unfortunately it currently only works on 'simple' graphs with only a voxels list per node (ROI graphs, not sulcal graphs). Consider it as a bug... This may improve in the future, but nobody is working on it for now...

Denis
Alexf
Posts: 7
Joined: Mon Dec 12, 2005 1:43 am

Post by Alexf »

I'm beginnning to understand now, although I'm still a bit unclear about how the names in the .arg file relate to those in the .hie file.
I'm trying to rename the graph nodes so that I can more or less create my own sulci from those extracted by Brainvisa, and then obtain sulcal width and depth through morphometry.
I can rename them fine after dragging the .arg file into the anatomist browser and typing in a new name for the node, although this does not seem to have any impact when I run Anatomy/Morphometry/Morphometry Statistics in Brainvisa, as the nomenclature used is sulcal_roots_colors.hie.
How can I get morphometry statistics to recognize my new names/labels, and is it possible to run morphometry on a slected few sulci (i.e., those that I've renamed)?
Sorry for being so slow
Thanks again,
Alex :oops:
User avatar
riviere
Site Admin
Posts: 1361
Joined: Tue Jan 06, 2004 12:21 pm
Location: CEA NeuroSpin, Saint Aubin, France
Contact:

Post by riviere »

- to rename graph nodes according to the nomenclature, you can put both the graph and the nomenclature object in browsers (two different browsers), select the node you want to rename (maybe using a 3D view), right-click on the node in the browser and select "modify 'label'" or "modify 'name'". Then the browser containing the graph goes into edition mode. Now you can go to the browser containing the nomenclature, chose the name you want, right-click on it and select 'send value <name>'.
When you are done with changing folds labels, don't forget to save the sulcal graph.
There are two possible attributes in folds nodes for the sulci names: 'label' or 'name'. 'name' is used for manual labeling (for our training database for instance), and 'label' is used by the automatic labeling. Once you have done an automatic recognition, all nodes have a 'label' attribute. Normally before doing some manual edition, it should be a good idea to move all 'label' values to 'name' attributes so we know it's now a manual validation, but I think we haven't integrated the little conversion program needed for it in the BV framework yet, so maybe you'd better modify the 'label' attributes directly. Avoid providing both 'name' and 'label' because you're about to make mistakes if you do (you won't know which attribute the morphometry tool will use).

- the morphometry tool takes as input the labelled cortical graph(s) and a model (also a graph) and outputs measurements on sulci and/or relations between sulci. You can specify only a few selected sulci in the 'region' parameter (click the '...' button for the selector), by default all sulci are taken. As the process is using a model, you need to use sulcus names known by the model. It is necessary because some basic stats must have been done on each sulcus (to get their mean orientation for instance) to be sure all measurements are consistant. The doc of the process gives you a quick description of the figures written by the program.

Denis
Alexf
Posts: 7
Joined: Mon Dec 12, 2005 1:43 am

Post by Alexf »

Hi again,
Sorry for being so slow, but a few more questions.
- I tried what you said re: send the name from the hierarchy to the one in the graph file, but it doesn't seem to have done anything. Am I traying to add the same name in the nomenclature to the nodes in the graph (if I want to combine the nodes into one sulcus)?

- Morphometry statistics gives me geodesic depth min and max. Is it possible to get average depth along a sulcus? Also is it possible to obtain average width? I've noticed that the Kouchnonov paper in Human Brain Mapping uses these measures, and I would also like to use them.
Thanks for your help and Merry Christmas!
Alex
User avatar
riviere
Site Admin
Posts: 1361
Joined: Tue Jan 06, 2004 12:21 pm
Location: CEA NeuroSpin, Saint Aubin, France
Contact:

Post by riviere »

I tried what you said re: send the name from the hierarchy to the one in the graph file, but it doesn't seem to have done anything
didn't it change the label/name value of the currently edited graph node ?
The graph node must be in edition mode ('modify name' or 'modify label' has been chosen from the right menu on it): the input box is open and the status bar at the bottom of the browser displays "EDIT" in pink, while the browser containning the nomenclature displays "SEND edit" in pink. If not, the menu option "send value <label>" in the right menu of nomenclature items should not appear at all.

About the morphometric measurements: right now, the figures you have are the only one available: no mean depth or sulcal width, they are far from perfect. I have started working on it again and I have already added mean depth and other 'easy' measurements to my internal version, but it will not be available in our public distribution before the next major release (maybe in a year or so...). Sulcal width is not part of our tools, Peter Kochunov has developed his own method to calculate it and computed it using his own tools. We will certainly also add this kind of new feature (cortical thickness would also be interesting), but I can't say when it will be done, and it will be available even later...

Denis
Alexf
Posts: 7
Joined: Mon Dec 12, 2005 1:43 am

Post by Alexf »

Let's see if I understand you...
Labels are provided in the auto recognition, whereas names can be used to keep track of manual edits.
However, morphometry stats will only accept labels that are used in the .hie file specified in the 'nomenclature' field. These labels, and their relation to nodes in the graph, cannot be changed.
I wander if I can 'trick' brainvisa by re-assigning labels to graph nodes. For example, if I'm only interested in one portion of the Cingulate Sulcus, which sulcal_roots_colors.hie seems to to label F.C.M.post._left.dat, maybe I could label the nodes I'm interested with F.C.M.post._left.dat, and the ones I want to exlude with some other sulcus label (it would'nt really matter unless I wanted to analyze these ecxluded bits).
On the flipside, if I want to break up a sulcus, and exmaine the nodes separately, maybe i could re-label them using the names of other sulci, and then rename the other sulic with some other pre-existing label. For example, I could arbitrarily name one node in F.C.M.post._left.dat as S.F.sup._left.dat, and then rename the nodes comprising the real S.F.sup._left.dat as some other sulcus that I'm not interested in, e.g., INSULA_left.dat .
Does this sound like it would work, and if so, is there an easy way to see all the graph nodes associated with a particular label in the nomenclature? For example, you can click on each node name so that the relevant node is highlight in the graph in the 3D viewer, but I can't seem to this for an entire sulcus, unless I select each node individually.

Finally, I noticed morphometry statistics gives volume and surface area. Does volume correspond to what would be the CSF volume within a sulcus, with the hull as the outer boundary? How is it calculated? (e.g., is it #of voxels in skeleton x voxel dimensions = volume?).
Does surface area represent the surface area of the skeleton penetrating the sulcus?
Thanks again for your help!
User avatar
riviere
Site Admin
Posts: 1361
Joined: Tue Jan 06, 2004 12:21 pm
Location: CEA NeuroSpin, Saint Aubin, France
Contact:

Post by riviere »

The morphometry stats process can use either 'label' or 'name' attribute in graphs, but you'd better specify it and have a consistent labeling (all in the same attribute). It uses a nomenclature (.hie) and a model graph (.arg) which must be consistent: actually the model has a number of nodes, each represents a particular sulcus. Stats are provided for each model node (and possibly for each relation), so the sulci on which stats are provided are builtin in the model. The nomenclature is only used to translate some labels, in case the graph labeling is not exactly at the model level but has been done at a finer level (it is the case for our manual database labelings: sulci are subdivided into smaller entities).

You can actually rename a sulcus with a name known in the model to get figures on it, but as there are some stats in the model which may be used to extract the figures (for now mainly to give consistent orientations to the sulcus of all subjects), you'd better use the name of a sulcus which, at least, has globally the same orientation.
These stats are the main reason why you still need to use a model to get figures for a sulcus. I had started (years ago) a brainvisa process to get figures without such a model, but it had this limitation so was not reliable.
Knowing this, you can actually change the graph labels as you suggest.
You can load the model graph in anatomist to see which sulci it contains. But the selector in the morphometry process does it also if I remember well.

In Anatomist, yes, the nomenclature's first goal was to help selecting graph nodes according to names/labels. When the nomenclature is in a browser window, you can click on a nomenclature element, and all (hierarchically) corresponding nodes in any graph displayed in a 3D view will show up and be selected.
In the control window, you can choose in the menu "Settings/graph parameters" which attribute ('name' or 'label') is used for such a selection. In addition, graph nodes (once unselected) should be colored according to the nomenclature labels.

The morphometric measurements are quite basic measurements. Volumes are not CSF, but just the volume of the voxels forming the sulcus skeleton (1 voxel wide), # of voxels x vol of a voxel as you said. This volume is highly variable depending on the voxel size and orientation, that's why it has been completed (and will be replaced) with the surface area: this is the area of the mesh representing the skeleton (what anatomist displays) and is far more robust to voxel size and orientation variations.
We will provide better measurements in the future...

Denis
Post Reply