The following defined types are used in the subsequent sections. Implementors should treat these sizes as minimium requirements.
Note
Roger Leigh Depending upon how we wish to persue interoperability between implementations, these may be required to be exact. Using plain text would mitigate this to an extent.
Name | BinType | Description |
---|---|---|
scijava.roi.types.AffineTransform1D | double[4] | An affine transform in 1D described by a transformation matrix and 1D shape to transform |
scijava.roi.types.AffineTransform2D | double[9] | An affine transform in 2D described by a transformation matrix and 2D shape to transform |
scijava.roi.types.AffineTransform3D | double[16] | An affine transform in 3D described by a transformation matrix and 3D shape to transform |
scijava.roi.types.AffineTransformnD | TODO | An affine transform in nD described by a transformation matrix and nD shape to transform |
scijava.roi.types.Color | double[4] | Color in RGBA (0,1) range |
scijava.roi.types.Count | uint32_t | Number of objects |
scijava.roi.types.Index | uint32_t | Index into an array |
scijava.roi.types.Int16 | int16_t | Signed 16-bit integer |
scijava.roi.types.Int32 | int32_t | Signed 32-bit integer |
scijava.roi.types.Int64 | int64_t | Signed 64-bit integer |
scijava.roi.types.Int8 | int8_t | Signed 8-bit integer |
scijava.roi.types.TypeID | uint16_t | Numeric shape identifier |
scijava.roi.types.UInt16 | uint16_t | Unsigned 16-bit integer |
scijava.roi.types.UInt32 | uint32_t | Unsigned 32-bit integer |
scijava.roi.types.UInt64 | uint64_t | Unsigned 64-bit integer |
scijava.roi.types.UInt8 | uint8_t | Unsigned 8-bit integer |
scijava.roi.types.Value | double | Numerical value |
scijava.roi.types.Vector1D | double[1] | Vector in 1D |
scijava.roi.types.Vector2D | double[2] | Vector in 2D |
scijava.roi.types.Vector3D | double[3] | Vector in 3D |
scijava.roi.types.VectornD | TODO | Vector in nD |
scijava.roi.types.Vertex1D | double[1] | Vertex in 1D |
scijava.roi.types.Vertex2D | double[2] | Vertex in 2D |
scijava.roi.types.Vertex3D | double[3] | Vertex in 3D |
scijava.roi.types.VertexnD | TODO | Vertex in nD |
Name | Java Type |
---|---|
scijava.roi.types.Color | double[4] |
scijava.roi.types.Count | int |
scijava.roi.types.Float32 | float |
scijava.roi.types.Float64 | double |
scijava.roi.types.Index | int |
scijava.roi.types.Int16 | short |
scijava.roi.types.Int32 | int |
scijava.roi.types.Int64 | long |
scijava.roi.types.Int8 | byte |
scijava.roi.types.String | String |
scijava.roi.types.TypeID | short |
scijava.roi.types.UInt16 | int |
scijava.roi.types.UInt32 | long |
scijava.roi.types.UInt64 | java.math.BigInteger |
scijava.roi.types.UInt8 | short |
scijava.roi.types.Value | double |
Property | Type | Description |
---|---|---|
DIMORDER | scijava.roi.types.Array<Index> | Dimension order |
TRANSFORM | Affine3D | Affine transformation |
BOUNDS | RAlignedCuboid1 | Bounding cuboid |
LINECOL | Colour | Line (and surface) colour |
FILLCOL | Colour | Fill colour |
TEXTCOL | Colour | Text colour |
DRAWWIDTH | double | Width for drawing |
DRAWPLACEMENT | double | Line width is centred (0), fully inside (-1) or fully outside (1) or in between |
DRAWSTYLE | enum | |
FILLSTYLE | enum | Style to use for filling shapes (could be impemented internally in the form of a Grid Shape+transform) |
POINTSTYLE | enum | Style to use for drawing points (could be implemented internally in the form of a Shape) |
LINESTYLE | enum | Line style (alternating fill/clear pattern) (could be impemented internally in the form of RVectors1D) |
LINESTARTMARKER | enum | Line end marker (arrowhead, etc.) (could be implemented internally in the form of a Shape) |
LINEENDMARKER | enum | Line end marker (arrowhead, etc.) (could be implemented internally in the form of a Shape) |
MARKERSIZE | double | Size of points and line start/end markers; scales marker |
TEXTFONT | scijava.roi.types.String | Font description (format? freetype-style fontdesc?) |
TEXTPLACEMENT | double[2] | Text placement in bounding box (-1,+1) for x and y limits, (0,0) being centred |
TEXTSIZE | double | Font size |
Note
Barry DeZonia Support different coordinate spaces as needed (int, long, double). Should be possible to iterate some regions.