Other brush shapes for paint effect

I am trying to measure trabecular bone properties from different regions of mouse proximal and distal femur epiphyses. Paint brush, with sphere brush enabled, works really well to draw a region of specific diameter. Then on, I can potnetially use the bone texture extension to calculate what we need.

For various reasons, we also need to do this as cubes. Would it be possible to implement other brush effects (particularly square and cube in 3D), that works like the current round brush? Right now I am using CreateModel from SlicerIGT to generate a cube of arbitrary dimensions, and then put it under transform to move it to specific region of the volume that I want to measure, and then convert to a segmentation. It gets a bit tedious.

It wouldn’t be too hard to add a cube brush option to the code, but I’m not sure how generally useful it would be and whether it’s worth exposing it in the interface. If this is a one-off use case it might be easier to do a little script that paints a cube based on a hot key?

That will be fine, but the cube edges needs to be of variable size too…

You could add a “Fill ROI” effect, which could fill or clear the an area in a segment specified by an ROI node.

Yes, that’s what I was thinking too - @muratmaga would that be easier than what you are doing now?

What about something where a hot key fills in an ROI?

If we are talking about the regular annotation ROI boxes, that wouldn’t work for me very well, as it is not trivial to specify where to create them (or set a fix dimension).
CreateModels work nice, expect it just randomly places the cube somewhere in the scene (as far as I can tell).

You would add all controls that you need to the effect’s GUI (position, size, etc.).

Annotation ROI will be replaced by Markups ROI, so it might make sense to wait a few months for this to happen (or work on Markups ROI implementation to make it happen sooner).

CreateModels puts models in the RAS coordinate system origin, so that you can set their position and orientation using a transform.

It think fillROI with the new markupsROI would be good to have. I will continue using the CreateModels, till then.

CreateModels probably just puts it at the origin, but it could be trivial to make it show up where your mouse is.

@muratmaga : Hi, how you were implementing cube model instead of sphere brush ? Can you please share the python scripts if available ? Did you make a change in code of paint effect.py ?

Please feel free to write.

Thanks

I didn’t implement anything. Ended up using cube primitive from CreateModels of converting them to segmentation. but if someone implements the FillROI as a segment editor effect, I think it would be useful in general.