Visualization and Analysis
To view a surface rendered cut of an image, you need to cut off a piece of the image. This can be done with the Object Analyzer, where you can cut off any piece out of your image.
If you do not have the Object Analyzer, you can use the
See also:
- You can create an ROI of the region you want to remove. Either by selecting a region with the selection tool or by using objects and anchors from the menu ROI -> Set.
- When an ROI is created, go to ROI -> Dataset cropping -> Remove intensties inside ROI and then export the image using the first button in the Data section at the left. Choose any setting, e.g. Overwrite All
- Visualize the new image with the Surface Renderer.
- When you have chosen Append to original, you can do some nice transitions in the Movie Maker, by increasing the transparency of one channel and decreasing the other the cut-off will be slowly displayed. Just play with it and explore all its possibilities.
If you do not have the Object Analyzer, you can use the
cp
command to copy a part of an image in Huygens Professional. Replicate the image with the repl
command and clear the new image, such that it only contains zero values. Then copy any arbitrary block of your image to this new image with the cp
command. For example, if you want the cut of a 100x100x100 image in the x-direction, with the left part deleted:a cp -> b -dest {50 0 0 0 0} -src {50 0 0 0 0} -span {50 100 100 0 0}
See also:
cp
and repl
Yes, this can be done in Huygens Professional and Huygens Scripting. Suppose your image has intensity values from 5 to 100. You can stretch these values from 0 to 255 by using the
In the Operations window of Huygens Professional, go to Manipulation->Copy&Stretch. The Tcl command
cs
command.In the Operations window of Huygens Professional, go to Manipulation->Copy&Stretch. The Tcl command
cs
is used as follows:a cs -> b -fromzero
When labelling an image, there are some limits to be taken into account. When these limits are reached, the software will give an error and report which limit is reached. These limits can be reached in case of a very noisy image, in which case filtering or deconvolution is necessary first.
There are two limits:
There are two limits:
- The labels are saved in a 16 bits signed integer format. So 215 - 1 = 32767 is the maximum number of labels (objects). That seems to be very much, but is not enough in the case of a very noisy image where a large amount of objects will be detected. Filtering or deconvolution is the solution here.
- The size of objects is limited to 105 pixels. In case this limit is reached, try to use a higher threshold to make the object smaller.
Yes. You can enlarge the Operations window and slide the sash (moveable border between the image on the left and the tabs on the right) to the right. The extra space is then filled up by the image, which gets larger.
Yes, there are basically three ways, in order of simplicity, depending on whether you want to use the gui or scripting.
Using a GUI
You can directly crop an image using the crop tool, which can be found in the buttonbar, and under Edit -> Crop. Or with the shortcut Alt-B. At startup the Intelligent Cropper estimates the region you will need for deconvolution. Read more at Intelligent Cropper. In Essential the cropper is found under Tools -> Crop...
Using scripting - crop symmetrically
In case you want to crop using the Tcl Shell or within a script you can do that by removing a symmetrical border. Use the add/remove border command,
Using scripting - crop any part
In case you want an arbitrary part of an image you should first create a destination image which has the exact same size as that part. There are two methods to do this:
See also:
Using a GUI
You can directly crop an image using the crop tool, which can be found in the buttonbar, and under Edit -> Crop. Or with the shortcut Alt-B. At startup the Intelligent Cropper estimates the region you will need for deconvolution. Read more at Intelligent Cropper. In Essential the cropper is found under Tools -> Crop...
Using scripting - crop symmetrically
In case you want to crop using the Tcl Shell or within a script you can do that by removing a symmetrical border. Use the add/remove border command,
border
. The size of the border to be removed can be specified as an option of this command, for instance '-100 -120 -40' to cut away 50 pixels in X on each side, 60 in Y and 20 in Z. Type border ?
to see how the command is used.Using scripting - crop any part
In case you want an arbitrary part of an image you should first create a destination image which has the exact same size as that part. There are two methods to do this:
- One way is to use the
repl
command to create a copy and use add/removeborder
to trim it down to the desired size. In this way the microscopic and other parameters of the destination are surely correct. - The other way is to create a new image with the desired size and then call for the
adopt
command to copy the microscopic parameters from the original to the cropped image.
cp
command (see Operations windows under Arithmetic->Copy image part) on the original and specify source, destination and span as follows:- source: the coordinates of the origin of the region you want to take out.
- destination: leave at 0 0 0 0 0(default)
- span: set to a size as large or larger than the sizes of the destination image. For instance if the destination has size {100 100 40} span could be {100 100 100 1 1}. The last '1' (ones) are for the (not used) time and channel dimensions.
See also:
cp
and replSee the answer to the question: Is it possible to crop a stack with Huygens Professional?
Due to the band limited character of the image small negative values might show in the sphere. The spheres are stretched so the originally black "0-values" are stretched to some small non-zero value. When viewing the image in false colors, the background is not the lowest color and will thus appear in purple.
The Colocalization Analyzer is an interactive colocalization tool present in Huygens Essential and Huygens Professional, allowing you to obtain not only global image information, but also to quickly determine the properties of the different colocalization regions in your data.
CoLocalization analysis gives information about the amount of spatial overlap between structures in different data channels, for 3D images and time series.
In the Operations Window of Huygens Professional, click on Analysis > Co-localization Statistics. Refer to the program manuals for further details, or see http://support.svi.nl/wiki/ColocalizationTheory. The correspondent Scripting command is
CoLocalization analysis gives information about the amount of spatial overlap between structures in different data channels, for 3D images and time series.
In the Operations Window of Huygens Professional, click on Analysis > Co-localization Statistics. Refer to the program manuals for further details, or see http://support.svi.nl/wiki/ColocalizationTheory. The correspondent Scripting command is
coloc
.Typically you need to execute the following steps:
See also:
- map your 3D or 4D multichannel image to a 2D multichannel 2D image, for instance with the
slice
orminiMIP
commands. - use
chan2rgba
to map that image to a 2D packed 4channel (RGBA) image of bytes. Thechan2rgba
command has a lot of options to manipulate contrast, colour and gamma. Syntax:source chan2rgba -> dest - use the
-type tiffrgb
option to thesave
command, for example:foo save foo.tif -type tiffrgb
See also:
slice
, miniMIP
and chan2rgba
How to use the 'Analyze labeled image' tool that can be found in Huygens Professional?
Deconvolve first:
Thresholding noisy images is tricky since voxels from noise can be seen as objects. It's a good idea first to deconvolve your image and then find a threshold which excludes all background.
Proceed with the analysis:
Deconvolve first:
Thresholding noisy images is tricky since voxels from noise can be seen as objects. It's a good idea first to deconvolve your image and then find a threshold which excludes all background.
Proceed with the analysis:
- Directly label a source image using labelDirect. Syntax:source labelDirect -> <destination> <threshold> <seedThreshold> ?-frame <frame>? ?-chan <channel>? ?-garb <volume>?
- Do the actual analyzing: Select the ORIGINAL image and use 'Analyze labeled image' to get information about the numbered objects.
It calculates the total volume (number of voxels in the objects, the minimum and maximum value in the objects, the sum of all voxels in the objects and the location of their Center of Mass).yourImage labelDirect -> b 100 150 yourImage analyze b
The threshold value is automatically determined based on the Otsu's method. This algorithm is described by N. Otsu, A threshold selection method from gray-level histograms, IEEE Trans. Systems, Man and Cybernetics 9(1), pp. 62–66, 1979.
In short, this algorithm minimizes the intra-class (between classes) variance of the classes object and background. This algorithm is equal to maximizing the inter-class (within class) variances. For more information, check e.g. Wikipedia
The "seed" value is not calculated by Otsu, but can dependent on its calculated value. This is dependent on whether checkbox at the right of the seed parameter is checked or not.
Unchecked: the relative seed refers to the image maximum, with the "threshold" as the minimum value.
Checked: relative seed refers to the range between the threshold and the image maximum. More precisely: the "seed" value is the sum of threshold value (from Otsu) and the percentage that is set of the difference between the maximum intensity value in the image (see e.g. Statistics tab in main window for the value) and the Otsu-determined "threshold" value.
In short, this algorithm minimizes the intra-class (between classes) variance of the classes object and background. This algorithm is equal to maximizing the inter-class (within class) variances. For more information, check e.g. Wikipedia
The "seed" value is not calculated by Otsu, but can dependent on its calculated value. This is dependent on whether checkbox at the right of the seed parameter is checked or not.
Unchecked: the relative seed refers to the image maximum, with the "threshold" as the minimum value.
Checked: relative seed refers to the range between the threshold and the image maximum. More precisely: the "seed" value is the sum of threshold value (from Otsu) and the percentage that is set of the difference between the maximum intensity value in the image (see e.g. Statistics tab in main window for the value) and the Otsu-determined "threshold" value.