OOF2: The Manual
The Microstructure
is the fundamental object in OOF2, just like a
document is the fundamental object in a word processor. A
Microstructure
(with a capital M) is the
computer's representation of a physical microstructure (with a
small m). Before doing anything else in
OOF2 you must create a Microstructure
. Because OOF2 is designed to
work on images, and images are usually rectangular, Microstructures
must be rectangular.[3]
Just as photographs, when digitized, are divided into pixels, a
Microstructure
is also divided into pixels. A pixel is the smallest
component of a Microstructure
that can be manipulated by OOF2. The
Microstructure
contains arrays of data describing each pixel, such as
what Material
has been assigned to it, and what Pixel
Groups it belongs to.
Commands for creating and manipulating Microstructures
are in OOF.Microstructure. The corresponding GUI
is described in Section 3.2.
Every Microstructure
has two sizes: a physical size and a pixel size.
The physical size is the size of the real
microstructure that the Microstructure
represents,
100μ×100μ, for example. (See Section 2.1.1.) The pixel
size of a Microstructure
is the number of pixels along its
x and y dimensions. Note that pixels need not be square: a
100μ×100μ Microstructure
might be divided into
100×160 pixels.
The fact that Microstructures
have two sizes means that they have two
coordinate systems. We can talk about a physical point (x,y)
in the Microstructure
, where x and y are given in physical units,
(that is, in whatever units were used to specify the physical
size) and the origin is at the lower left corner of the
Microstructure
. We can also talk about the position (i,j) of a
pixel, where i and j are integers specifying the column and
row of the pixel. Row 0 is the bottom row, and column 0 is
the leftmost column.
![]() |
Note |
---|---|
Most image processing programs label the pixels as if they were matrix elements -- pixel (i,j) is in the ith row from the top and the jth column from the left. OOF2 does not do this, choosing instead to use the same origin and axes for both the physical and pixel coordinate systems. |
A third coordinate system, one that is rarely relevant in
OOF2, is the screen pixel coordinate system. Microstructures
and
Images
can be displayed on the computer screen at different
resolutions. This doesn't change the number of pixels in the
Microstructure
, it only changes the number of screen pixels used to
draw one Microstructure
pixel. A few parameters to some of the display methods
are in units of the screen pixel size, though.
Many operations on Microstructures
work on sets of pixels. Each
Microstructure
keeps track of a set of currently
selected pixels. There are tools to
select pixels and to modify the selected set. Each Microstructure
has its own set of selected pixels.
Commands for selecting pixels are in OOF.PixelSelection. The GUI tools for the same operations are described in Section 3.4 and Section 4.7.3.
The set of selected pixels is used in many other commands.
For example, it is possible to assign a Material
to the
currently selected pixels, or to put the pixels into a pixel
group.
Pixel Groups are a way of storing and retrieving named sets of
pixels. The Microstructure
maintains a list of Pixel Groups and
keeps track of which pixels belong to which groups. Many
operations that apply to the Pixel
Selection also apply to Pixel Groups. Pixel Groups can
also be used to distinguish pixels from one another when
creating Skeletons
, if the group is marked meshable
.
Commands for manipulating Pixel Groups are discussed in OOF.PixelGroup.
Microstructures
are usually created from Images
. An Image
in
OOF2 is a digitized micrograph or other digital image.
Images
live inside their Microstructures
-- that is, each Image
is associated with one and only one Microstructure
, and the size of
the Image
, in pixels, must be exactly the same as the size
of its Microstructure
[4].
One Microstructure
, however, may contain more than one Image
or
more than one version of the same image. This can be useful
when different processing techniques are needed to bring out
different features of a micrograph.
When pixels are selected
in an Image
, they are actually being selected in the Microstructure
containing the image. This means that all of the Images
in
a Microstructure
share the same pixel selection.
Commands for manipulating Images
are in OOF.Image. The corresponding GUI is
described in Section 3.3. Creating
a Microstructure
directly from an image file is discussed in Section 3.2 and OOF.Microstructure.Create_From_ImageFile.
It is often convenient to restrict the scope of OOF2
operations to a portion of a Microstructure
, called the
Active Area. Pixel selections, pixel
group operations, and Skeleton
modifications are all restricted
to the current Active Area. Image
and Mesh
operations,
however, are not.
By default, the Active Area is the whole Microstructure
. Commands to
manipulate the Active Area are described in Section 3.5 and OOF.ActiveArea.
Orientation Maps
assign an Orientation
to every pixel in a Microstructure
. They are usually obtained via
electron backscatter diffraction (EBSD). A Microstructure
can contain at most
one Orientation Map
, which must have a
pixel size and physical size that match the Microstructure
's size.
(The easiest way to ensure this is to create the Microstructure
from
the Orientation Map
, using the OOF.Microstructure.Create_From_OrientationMap_File
command.)
Commands for manipulating Orientation
Maps
are found in the OOF.OrientationMap menu in the main
OOF2 menu bar.
The crystal orientations in an Orientation
Map
are not automatically
used by Materials
. They are only used if the Material
contains an explicit OrientationMap
Property
.
[3] Non-rectangular microstructures
can be represented within a rectangular Microstructure
by using
elements without any Material
. See the "Nonrectangular Domain"
Tutorial.
[4] This restriction may be lifted in future versions.