XTensions for Matlab
The following XTensions are developed with Matlab® 7.0.1, and they require Imaris 4.1.3 or higher. Right-Click the links below and select "Save Target As..." (Internet Explorer) to download and save the files.
Do you need to migrate Matlab code from Imaris 6.0 to Imaris 6.1? Please see the following migration instructions.
Stitcher XTension
 |
BpStitchDataSets.m
SticherXTensionHelp
|
This XTension lets users stitch together datasets acquired as separate tiles. |
DataSet Functions
 |
BP3Dto2DProjection.m |
Resize
the dataset to 2 dimensions. 2 dialog boxes ask the projection plane
XY, XZ or YZ) and the projection mode (MIP or Mean) if their values are
not specified as input parameters. |
 |
BPAttenuationCorrection.m |
The
layers to the top of the data set (close to objective lens) show often
much higher intensities than layers deep into the tissue. This XTension
can correct this attenuation effect. The correction is performed along
the Z-axis. |
 |
BPAutoCrop.m |
This
XTension computes the bounding box of voxels with intensity higher than
the specified threshold, and cuts away the "useless" voxels at the
borders. This helps to minimize the size of the dataset without loosing
significant data. |
 |
BPHistogramEqualizeLayers.m |
Equalizes the histogram of voxel intensity layer by layer. |
 |
BPNormalizeLayers.m |
Normalizes the voxel intensities layer by layer (same mean and StdDev). |
 |
BPNormalizeTimePoints.m |
Normalizes the voxel intensities for each time point of a 4D dataset (same mean and StdDev). |
 |
BPRGB2Gray.m |
Add
a gray channel to the dataset. Its intensity is given by a weighted sum
of the intensity of the other channels. The coefficients of the sum are
given by the user. |
 |
BPSmoothTime.m |
Smooth the intensity of each voxel along the time dimension using a gaussian filter. |
 |
BPTimeProjection.m |
Project
all channels of a time dataset to a single time point. For each voxel
the intensity is computed using a MIP or mean projection of all time
points. The projection mode is asked to the user. |
 |
BPTimeSubtractAverage.m |
For
each voxel, subtract the temporal average intensity. This function is
used to eliminate motionless objects. For 2D time series try to use
'Image processing - Swap Time and Z' before and after starting the
XTension to speed up processing. |
Spots Functions
 |
BPSpotsCloseToFilament.m |
The
user has to create a Spots and a Filament component. This XTension
segments the spots into two groups: Spots that are close to the
filamentous structure will be colored red, the others blue. This might
help to count spines. |
 |
BPSpotsMerge.m |
Merge all the spots objects that are in the same folder in a single spots object. |
 |
BPSpotsOnEndsOfLines.m |
Segment
the dataset and subdivide the spots in groups of spots that lie inside
(or around) the same line. For each spots group discard all but the two
most distant spots, leaving more or less those on the line ends. The
image is read from channel 1 and the segmentation is returned in
channel 2; All other channels are removed. |
 |
BPSpotsSplit.m |
Split
one spots object in sub groups of disconnected spots. Two spots groups
are disconnected if the minimal distance between their elements is
greater than the user-defined threshold. |
 |
BPSpotsSplitIntoSurfaceObjects.m |
For
each surface object in the same folder of the spots, create a new spots
object containing the spots that lies inside the surface. Works on
surface objects: To obtain them, Split Isosurface or Create Surface
Object from Contour Surface. |
 |
BPSpotsCloseToSurface.m |
Find
the spots that are closer to a surface than a threshold, and create two
new spots objects: One collects the spots close to the surface, the
other the farer. If multiple spots or surfaces are selected, each pair
[spots, surface] is analyzed: The number of spots objects created is 2
times 'number of spots' times 'number of surfaces'. |
Filament Functions
 |
BPFilamentAnglesStatistics.m |
Plot
two histograms that display the statistic of the angles of a filament.
The angles are divided in two types: Angles between the segments and
angles between the branches. |
 |
BPFilamentSpinesStatistics.m |
Plot
three histograms that display the distribution of the length, the
average width and the volume (log scale) of the spines of a filament
object. In addition, a plot shows the distribution of the average width
to respect to the length of the spine. For "average width" is intended
the mean diameter of a single spine. |
 |
BPFilamentSplitBranchLevels.m |
Split
one filament object in different filaments. The branches directly
connected to the root are first-level branches; The branches directly
connected to the first-level branches are second-level branches; and so
on. For each level, a new filament object, which collects the branches
of the level, is created. The number of filaments created is equal to
the maximal level of the branches of the original filament. |
 |
BPFilamentSplitIntoBranches.m |
Split
one filament object in different filaments. The new filaments go from
the root to a terminal of the original filament and they do not have
branches. The number of filaments created is equal to the number of
terminals of the original filament. |
Tracks Functions
 |
BPTrackPlotAngles.m |
Plot the angles of the track. |
 |
BPTrackPlotDistanceBetweenTracks.m |
Plot the distance between the selected track and the other visible tracks that are in the same group. |
 |
BPTrackPlotLength.m |
Plot the length of the track steps. |
 |
BPTrackTranslate.m |
Copy
the tracks that are in the same group of the selected track. The copies
are then translated so that they have the same starting point. |
Surface Functions
 |
BPSurfaceMerge.m |
Merge all the surface objects that are in the same folder in a single surface object. |
 |
BPDistanceTransform.m
ddist.m, ddist.dll |
Create and compute a new channel, where the voxel intensity indicates the shortest distance to a surface object. Require ddist.m and ddist.dll. |
 |
BPSpotsAndSurfacesDistance.m |
Compute
the distance between all the pairs of visible and valid objects that
are in the same group. Valid objects are surfaces and spots. The center
of a spots object is equal to the mean of the coordinates of all the
single spots that belong to the object. The center of a surface object
is an approximation of the center of mass of the object represented. |
Camera Functions
 |
BPCameraFitToSelectedObject.m |
Move
the camera so that the selected object is centered in the window. The
camera orientation is not modified. Apply to Spots, Surface, Track and
Filament. |
 |
BPCameraManager.m |
Save/load/clear camera settings in .mat files. Settings are: Position, orientation, perspective, orthographic, focus and height. |
 |
BPCameraSetAngle.m |
The
angle of the camera is defined using the [Azimuth, Elevation, Angle]
coordinates. The camera is rotated around axis Y by Angle, then around
axis X by Elevation, then around axis Y by Azimuth. Coordinates can be
ambiguous: Different Azimuth, Elevation, Angle can determine the same
camera orientation. The user can specify the coordinates through 3
sliders. |
Stereology Functions
 |
BPStereologyBox.m |
Create a surface object with the shape of a cube. The edge length is defined by the user. |
 |
BPStereologySpaceBall.m |
Create a surface object with the shape of a half sphere. The radius size is defined by the user. |
Other Functions
 |
BPObjectManager.m |
Save/load/clear
single Imaris objects in .mat files. Apply to Spots, Surface, Track,
Filament and Groups. Groups are saved with all their content. Only
first-level objects (mSurpassScene direct childs) can be saved. |
 |
BPGetImarisImage.m |
Get
and returns the Imaris DataSet. This function can be used as utility
for other functions; It is not called directly by Imaris. |
 |
BPSetImarisImage.m |
Change the Imaris DataSet. This function can be used as utility for other functions; It is not called directly by Imaris. |
- Setup with Imaris 5.7.0 and higher:
A base set of XTensions is already installed with Imaris. Additional
XTensions can be installed like before (copy them into the "XTensions"
folder).
- Setup with Imaris 4.2.0 and higher:
Copy the m-Files into a subfolder named "XTensions" of Imaris (e.g.
C:\Program Files\Bitplane\Imaris 5\XTensions\). You may download ImarisXTensions1_4_2w.zip which contains all above files.
- Setup with Imaris 4.1.3: Download and run the ImarisXTensions 1.1.0.
The installation program copies all the m-Files, adds the Matlab path
and adjusts the Imaris menus. Make sure to install Matlab and Imaris
first. The files can also be installed manually. Each of the above
Imaris XTensions contains a description in it's header how it has to be
installed for Imaris. In general they must be copied into a working
directory of Matlab. Then start Imaris and open the tools preferences
(edit / preferences / tools). Import this file to configure all custom menus, toolbars, and tabs at once.