import "Imaris.idl";
Public Member Functions | |
| HRESULT | AnisotropicDiffusionFilterChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aSigma) |
| HRESULT | AnisotropicDiffusionFilterDataSet ([in] IDataSet *aDataSetIn,[in] FLOAT aSigma,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | BaselineSubtractChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aBaseline) |
| HRESULT | BaselineSubtractDataSet ([in] IDataSet *aDataSetIn,[in] FLOAT aBaseline,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | CalculateTracks ([in] VARIANT aPositionsXYZ,[in] VARIANT aIndicesT,[in] VARIANT aRadii,[in] ULONG aAlgorithm,[in] FLOAT aMaximalDistance,[out] VARIANT *aEdges,[out] VARIANT *aRanges) |
| HRESULT | ContrastStretchChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aSourceA,[in] FLOAT aSourceB,[in] FLOAT aDestA,[in] FLOAT aDestB) |
| HRESULT | ContrastStretchDataSet ([in] IDataSet *aDataSetIn,[in] FLOAT aSourceA,[in] FLOAT aSourceB,[in] FLOAT aDestA,[in] FLOAT aDestB,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | DetectFilament ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aFilamentDiameter,[in] BOOL aPreprocess,[in] BOOL aPreserveEdges,[in] FLOAT aThresholdLow,[in] FLOAT aThresholdHigh,[in] BOOL aConnectiveBaseline,[in] BOOL aFillCavities,[in] FLOAT aMinimalBranchLengthRatio,[in] BOOL aDetectRootPoint,[out] VARIANT *aPositionsXYZ,[out] VARIANT *aRadii,[out] VARIANT *aEdges) |
| HRESULT | DetectIsoSurface ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] ULONG aTimeIndex,[in] FLOAT aThreshold,[in] FLOAT aUpperThreshold,[in] BOOL aApplyUpperThreshold,[in] ULONG aSizeX,[in] ULONG aSizeY,[in] ULONG aSizeZ,[in] FLOAT aGaussianFilterWidth,[in] BOOL aApplyGaussianFilter,[in] BOOL aCloseObjects,[out] VARIANT *aVertices,[out] VARIANT *aTriangles,[out] VARIANT *aNormals) |
| HRESULT | DetectSpots ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aSpotDiameter,[in] BOOL aBackgroundSubtraction,[in] BOOL aMultiScale,[in] FLOAT aMaximumDiameter,[in] FLOAT aThreshold,[out] VARIANT *aPositionsXYZ,[out] VARIANT *aIndicesT,[out] VARIANT *aRadii) |
| HRESULT | DetectSpots2 ([in] IDataSet *aDataSet,[in] VARIANT aRegionsOfInterest,[in] ULONG aChannelIndex,[in] FLOAT aEstimateDiameter,[in] BOOL aSubtractBackground,[in] BSTR aSpotFiltersString,[out, retval] ISpots **aSpots) |
| HRESULT | DetectSpotsRegionGrowing ([in] IDataSet *aDataSet,[in] VARIANT aRegionsOfInterest,[in] ULONG aChannelIndex,[in] FLOAT aEstimateDiameter,[in] BOOL aSubtractBackground,[in] BSTR aSpotFiltersString,[in] BOOL aRegionsFromLocalContrast,[in] BOOL aRegionsThresholdAutomatic,[in] FLOAT aRegionsThresholdManual,[in] BOOL aRegionsSpotsDiameterFromVolume,[in] BOOL aRegionsCreateChannel,[out, retval] ISpots **aSpots) |
| HRESULT | DetectSpotsWithRegions ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aSpotDiameter,[in] BOOL aBackgroundSubtraction,[in] FLOAT aSpotsThreshold,[in] BOOL aInterpolatePositions,[in] ULONG aRegionMethod,[in] FLOAT aRegionsThreshold,[in] BOOL aRemoveOverlappingSpots,[in] ULONG aRadiusFrom,[out] VARIANT *aPositionsXYZ,[out] VARIANT *aIndicesT,[out] VARIANT *aRadii) |
| HRESULT | DetectSurfaces ([in] IDataSet *aDataSet,[in] VARIANT aRegionsOfInterest,[in] ULONG aChannelIndex,[in] FLOAT aSmoothFilterWidth,[in] FLOAT aLocalContrastFilterWidth,[in] BOOL aIntensityThresholdAutomatic,[in] FLOAT aIntensityThresholdManual,[in] BSTR aSurfaceFiltersString,[out, retval] ISurfaces **aSurfaces) |
| HRESULT | DetectSurfacesRegionGrowing ([in] IDataSet *aDataSet,[in] VARIANT aRegionsOfInterest,[in] ULONG aChannelIndex,[in] FLOAT aSmoothFilterWidth,[in] FLOAT aLocalContrastFilterWidth,[in] BOOL aIntensityThresholdAutomatic,[in] FLOAT aIntensityThresholdManual,[in] FLOAT aSeedsEstimateDiameter,[in] BOOL aSeedsSubtractBackground,[in] BSTR aSeedsFiltersString,[in] BSTR aSurfaceFiltersString,[out, retval] ISurfaces **aSurfaces) |
| HRESULT | DistanceTransformChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aBaseline,[in] BOOL aInside) |
| HRESULT | DistanceTransformDataSet ([in] IDataSet *aDataSetIn,[in] FLOAT aBaseline,[in] BOOL aInside,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | EqualizeHistogramChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aOldValueLow,[in] FLOAT aOldValueHigh,[in] FLOAT aNewValueLow,[in] FLOAT aNewValueHigh) |
| HRESULT | EqualizeHistogramDataSet ([in] IDataSet *aDataSetIn,[in] FLOAT aOldValueLow,[in] FLOAT aOldValueHigh,[in] FLOAT aNewValueLow,[in] FLOAT aNewValueHigh,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | FastMarchingArrivalTimeChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] VARIANT aStartPositions) |
| HRESULT | FastMarchingArrivalTimeDataSet ([in] IDataSet *aDataSetIn,[in] VARIANT aStartPositions,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | Flip3DChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] ULONG aDimension) |
| HRESULT | Flip3DDataSet ([in] IDataSet *aDataSetIn,[in] ULONG aDimension,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | GammaCorrectChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aGammaValue,[in] FLOAT aMaxValue) |
| HRESULT | GammaCorrectDataSet ([in] IDataSet *aDataSetIn,[in] FLOAT aGammaValue,[in] FLOAT aMaxValue,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | GaussFilterChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aSigma) |
| HRESULT | GaussFilterDataSet ([in] IDataSet *aDataSetIn,[in] FLOAT aSigma,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | GaussianDerivativeChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aSigma,[in] VARIANT aDerivativeOrder) |
| HRESULT | GaussianDerivativeDataSet ([in] IDataSet *aDataSetIn,[in] FLOAT aSigma,[in] VARIANT aDerivativeOrder,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | InvertChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex) |
| HRESULT | InvertDataSet ([in] IDataSet *aDataSetIn,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | MedianFilterChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] VARIANT aSize) |
| HRESULT | MedianFilterDataSet ([in] IDataSet *aDataSetIn,[in] VARIANT aSize,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | NormalizeLayersChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex) |
| HRESULT | NormalizeLayersDataSet ([in] IDataSet *aDataSetIn,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | Shift3DChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] LONG aShiftX,[in] LONG aShiftY,[in] LONG aShiftZ) |
| HRESULT | Shift3DDataSet ([in] IDataSet *aDataSetIn,[in] LONG aShiftX,[in] LONG aShiftY,[in] LONG aShiftZ,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | ShortestPath ([in] IDataSet *aDataSet,[in] ULONG aTimeIndex,[in] ULONG aChannelIndex,[in] VARIANT aStartPositions,[out, retval] VARIANT *aPositionsXYZ) |
| HRESULT | SubtractBackgroundChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aSigma) |
| HRESULT | SubtractBackgroundDataSet ([in] IDataSet *aDataSetIn,[in] FLOAT aSigma,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | ThresholdBothChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aThreshold,[in] FLOAT aNewValueLow,[in] FLOAT aNewValueHigh) |
| HRESULT | ThresholdBothDataSet ([in] IDataSet *aDataSetIn,[in] FLOAT aThreshold,[in] FLOAT aNewValueLow,[in] FLOAT aNewValueHigh,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | ThresholdChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aThreshold,[in] FLOAT aNewValue) |
| HRESULT | ThresholdDataSet ([in] IDataSet *aDataSetIn,[in] FLOAT aThreshold,[in] FLOAT aNewValue,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | ThresholdUpperChannel ([in] IDataSet *aDataSet,[in] ULONG aChannelIndex,[in] FLOAT aThreshold,[in] FLOAT aNewValue) |
| HRESULT | ThresholdUpperDataSet ([in] IDataSet *aDataSetIn,[in] FLOAT aThreshold,[in] FLOAT aNewValue,[out, retval] IDataSet **aDataSetOut) |
| HRESULT | TrackSpotsAutoregressiveMotion ([in] ISpots *aSpots,[in] FLOAT aMaximalDistance,[in] INT aGapSize,[in] BSTR aTrackFiltersString,[out, retval] ISpots **aTrackedSpots) |
| HRESULT | TrackSpotsAutoregressiveMotionExpert ([in] ISpots *aSpots,[in] FLOAT aMaximalDistance,[in] INT aGapSize,[in] FLOAT aIntensityWeight,[in] BSTR aTrackFiltersString,[out, retval] ISpots **aTrackedSpots) |
| HRESULT | TrackSpotsBrownianMotion ([in] ISpots *aSpots,[in] FLOAT aMaximalDistance,[in] INT aGapSize,[in] BSTR aTrackFiltersString,[out, retval] ISpots **aTrackedSpots) |
| HRESULT | TrackSpotsConnectedComponents ([in] ISpots *aSpots,[in] BSTR aTrackFiltersString,[out, retval] ISpots **aTrackedSpots) |
| HRESULT | TrackSurfacesAutoregressiveMotion ([in] ISurfaces *aSurfaces,[in] FLOAT aMaximalDistance,[in] INT aGapSize,[in] BSTR aTrackFiltersString,[out, retval] ISurfaces **aTrackedSurfaces) |
| HRESULT | TrackSurfacesAutoregressiveMotionExpert ([in] ISurfaces *aSurfaces,[in] FLOAT aMaximalDistance,[in] INT aGapSize,[in] FLOAT aIntensityWeight,[in] BSTR aTrackFiltersString,[out, retval] ISurfaces **aTrackedSurfaces) |
| HRESULT | TrackSurfacesBrownianMotion ([in] ISurfaces *aSurfaces,[in] FLOAT aMaximalDistance,[in] INT aGapSize,[in] BSTR aTrackFiltersString,[out, retval] ISurfaces **aTrackedSurfaces) |
| HRESULT | TrackSurfacesConnectedComponents ([in] ISurfaces *aSurfaces,[in] BSTR aTrackFiltersString,[out, retval] ISurfaces **aTrackedSurfaces) |
This class exports the Imaris image processing algorithms to be used through the ImarisXT interface.
| HRESULT IImageProcessing::AnisotropicDiffusionFilterChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aSigma | |||
| ) |
Apply an anisotropic diffusion filter to the selected channel.
| aDataSet | [in], [out] The dataset | |
| aChannelIndex | [in] Index of channel to be processed | |
| aSigma | [in] The width of the filter (float) |
%% The following MATLAB code applies an anisotropic diffusion filter to the selected channel. %% Caution: this will directly replace the current dataset with the filtered one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aSigma=2.5; vImarisApplication.mImageProcessing.AnisotropicDiffusionFilterChannel(aDataSetIn,aChannelIndex,aSigma);
| HRESULT IImageProcessing::AnisotropicDiffusionFilterDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] FLOAT | aSigma, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Apply an anisotropic diffusion filter to the whole dataset.
| aDataSetIn | [in] The source dataset | |
| aSigma | [in] The width of the filter (float) | |
| aDataSetOut | [out] The destination dataset |
%% The following MATLAB code applies an anisotropic diffusion filter to the whole dataset. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aSigma=2.5; aDataSetOut=vImarisApplication.mImageProcessing.AnisotropicDiffusionFilterDataSet(aDataSetIn,aSigma); %% To replace current dataset with the filtered one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::BaselineSubtractChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aBaseline | |||
| ) |
Baseline subtraction. A constant value is subtracted from the selected channel.
| aDataSet | [in], [out] The dataset | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aBaseline | [in] The baseline value for each channel. |
%% The following MATLAB code applies in-place baseline subtraction to the selected channel. %% Caution: this will directly replace the current dataset with the baseline-subtracted one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aBaseline=100; vImarisApplication.mImageProcessing.BaselineSubtractChannel(aDataSetIn,aChannelIndex,aBaseline);
| HRESULT IImageProcessing::BaselineSubtractDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] FLOAT | aBaseline, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Baseline subtraction. A constant value is subtracted from the dataset.
| aDataSetIn | The source dataset | |
| aBaseline | The baseline value for each channel. | |
| aDataSetOut | The destination dataset |
%% The following MATLAB code applies baseline subtraction to the whole dataset aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aBaseline=100; aDataSetOut=vImarisApplication.mImageProcessing.BaselineSubtractDataSet(aDataSetIn,aBaseline); %% To replace current dataset with the baseline-subtracted one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::CalculateTracks | ( | [in] VARIANT | aPositionsXYZ, | |
| [in] VARIANT | aIndicesT, | |||
| [in] VARIANT | aRadii, | |||
| [in] ULONG | aAlgorithm, | |||
| [in] FLOAT | aMaximalDistance, | |||
| [out] VARIANT * | aEdges, | |||
| [out] VARIANT * | aRanges | |||
| ) |
Calculate Tracks. OBSOLETE: Use TrackSpots instead.
| aPositionsXYZ | [in] 2D array of positions [x y z]N | |
| aIndicesT | [in] 1D array of time points | |
| aRadii | [in] 1D array of radii | |
| aAlgorithm | [in] Algorithm index | |
| aMaximalDistance | [in] Algorithm parameter | |
| aEdges | [out] 2D array of positions (N x 2) | |
| aRanges | [out] 2D array of delimiters (N x 2) = N x (number of spots; number of edges)
%% The following MATLAB code calculates tracks for the selected spots... --> see CreateTracks.m!! %% ... and adds the tracks to the imaris surpass scene. --> see CreateTracks.m!! |
| HRESULT IImageProcessing::ContrastStretchChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aSourceA, | |||
| [in] FLOAT | aSourceB, | |||
| [in] FLOAT | aDestA, | |||
| [in] FLOAT | aDestB | |||
| ) |
Contrast stretch in the selected channel.
| aDataSet | [in], [out] The dataset (IN/OUT) | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aSourceA | [in] Intensity, will be mapped to aDestA (float) | |
| aSourceB | [in] Intensity, will be mapped to aDestB (float) | |
| aDestA | [in] Intensity, mapped by aSourceA (float) | |
| aDestB | [in] Intensity, mapped by aSourceB (float) |
%% The following MATLAB code stretches the intensities in the selected channel. %% Caution: this will directly replace the current dataset with the filtered one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aSourceA=100; aSourceB=175; aDestA=0; aDestB=255; vImarisApplication.mImageProcessing.ContrastStretchChannel(aDataSetIn,aChannelIndex,aSourceA,aSourceB,aDestA,aDestB);
| HRESULT IImageProcessing::ContrastStretchDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] FLOAT | aSourceA, | |||
| [in] FLOAT | aSourceB, | |||
| [in] FLOAT | aDestA, | |||
| [in] FLOAT | aDestB, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Contrast stretch in the whole dataset.
| aDataSetIn | [in] The source dataset | |
| aSourceA | [in] Intensity, will be mapped to aDestA (float) | |
| aSourceB | [in] Intensity, will be mapped to aDestB (float) | |
| aDestA | [in] Intensity, mapped by aSourceA (float) | |
| aDestB | [in] Intensity, mapped by aSourceB (float) | |
| aDataSetOut | [out] The destination dataset |
%% The following MATLAB code stretches the intensities in the whole dataset. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aSourceA=100; aSourceB=175; aDestA=0; aDestB=255; aDataSetOut=vImarisApplication.mImageProcessing.ContrastStretchDataSet(aDataSetIn,aSourceA,aSourceB,aDestA,aDestB); %% To replace current dataset with the stretched one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::DetectFilament | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aFilamentDiameter, | |||
| [in] BOOL | aPreprocess, | |||
| [in] BOOL | aPreserveEdges, | |||
| [in] FLOAT | aThresholdLow, | |||
| [in] FLOAT | aThresholdHigh, | |||
| [in] BOOL | aConnectiveBaseline, | |||
| [in] BOOL | aFillCavities, | |||
| [in] FLOAT | aMinimalBranchLengthRatio, | |||
| [in] BOOL | aDetectRootPoint, | |||
| [out] VARIANT * | aPositionsXYZ, | |||
| [out] VARIANT * | aRadii, | |||
| [out] VARIANT * | aEdges | |||
| ) |
Detect filament: Not yet implemented!
| aDataSet | [in] Not yet implemented! | |
| aChannelIndex | [in] Not yet implemented! | |
| aFilamentDiameter | [in] Not yet implemented! | |
| aPreprocess | [in] Not yet implemented! | |
| aPreserveEdges | [in] Not yet implemented! | |
| aThresholdLow | [in] Not yet implemented! | |
| aThresholdHigh | [in] Not yet implemented! | |
| aConnectiveBaseline | [in] Not yet implemented! | |
| aFillCavities | [in] Not yet implemented! | |
| aMinimalBranchLengthRatio | [in] Not yet implemented! | |
| aDetectRootPoint | [in] Not yet implemented! | |
| aPositionsXYZ | [out] Not yet implemented! | |
| aRadii | [out] Not yet implemented! | |
| aEdges | [out] Not yet implemented! |
| HRESULT IImageProcessing::DetectIsoSurface | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] ULONG | aTimeIndex, | |||
| [in] FLOAT | aThreshold, | |||
| [in] FLOAT | aUpperThreshold, | |||
| [in] BOOL | aApplyUpperThreshold, | |||
| [in] ULONG | aSizeX, | |||
| [in] ULONG | aSizeY, | |||
| [in] ULONG | aSizeZ, | |||
| [in] FLOAT | aGaussianFilterWidth, | |||
| [in] BOOL | aApplyGaussianFilter, | |||
| [in] BOOL | aCloseObjects, | |||
| [out] VARIANT * | aVertices, | |||
| [out] VARIANT * | aTriangles, | |||
| [out] VARIANT * | aNormals | |||
| ) |
Computes an Iso Surface. OBSOLETE: Use DetectSurfaces instead.
| aDataSet | [in] The source dataset | |
| aChannelIndex | [in] Index of channel to be processed | |
| aTimeIndex | [in] Time index to be processed | |
| aThreshold | [in] Intensity threshold (float) | |
| aUpperThreshold | [in] Upper intensity threshold (float) | |
| aApplyUpperThreshold | [in] Toggles upper thresholding (boolean) | |
| aSizeX | [in] Size (X) | |
| aSizeY | [in] Size (Y) | |
| aSizeZ | [in] Size (Z) | |
| aGaussianFilterWidth | [in] Width of the Gaussian filter (float) | |
| aApplyGaussianFilter | [in] Toggles Gaussian filtering (boolean) | |
| aCloseObjects | [in] Toggles objects closure boolean) | |
| aVertices | [out] 2D-array [x y z]N containing positions of vertices | |
| aTriangles | [out] 2D-array (N x 3) containing indices to the vertices array | |
| aNormals | [out] 2D-array [x y z]N containing orientations of normals |
%% The following MATLAB code computes an isosurface for the selected channel. aDataSet=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aTimeIndex=0; aThreshold=200; aUpperThreshold=240; aApplyUpperThreshold=1; aSizeX=255; aSizeY=255; aSizeZ=100; aGaussianFilterWidth=1.5; aApplyGaussianFilter=1; aCloseObjects=1; [aPositionsXYZ,aIndicesT,aRadii]=vImarisApplication.mImageProcessing.DetectIsoSurface(aDataSet,aChannelIndex,aTimeIndex,aThreshold,aUpperThreshold,aApplyUpperThreshold,aSizeX,aSizeY,aSizeZ,aGaussianFilterWidth,aApplyGaussianFilter,aCloseObjects);
| HRESULT IImageProcessing::DetectSpots | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aSpotDiameter, | |||
| [in] BOOL | aBackgroundSubtraction, | |||
| [in] BOOL | aMultiScale, | |||
| [in] FLOAT | aMaximumDiameter, | |||
| [in] FLOAT | aThreshold, | |||
| [out] VARIANT * | aPositionsXYZ, | |||
| [out] VARIANT * | aIndicesT, | |||
| [out] VARIANT * | aRadii | |||
| ) |
Computes spots (local intensity maxima). OBSOLETE: Use DetectSpots2 instead.
| aDataSet | [in] The source dataset | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aSpotDiameter | [in] Expected spot diameter (float) | |
| aBackgroundSubtraction | [in] Toggles background substraction (boolean) | |
| aMultiScale | [in] Toggles multiscale filtering (boolean) | |
| aMaximumDiameter | [in] Maximum allowed spot diameter (float) | |
| aThreshold | [in] Intensity threshold (float) | |
| aPositionsXYZ | [out] 2D array of positions [x y z]N | |
| aIndicesT | [out] 1D array of time points | |
| aRadii | [out] 1D array of spot radii |
%% The following MATLAB code detects spots for the selected channel. aDataSet=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aSpotDiameter=0.500; aBackgroundSubtraction=1; aMultiScale=1; aMaximumDiameter=1.500; aThreshold=100; [aPositionsXYZ,aIndicesT,aRadii]=vImarisApplication.mImageProcessing.DetectSpots(aDataSet,aChannelIndex,aSpotDiameter,aBackgroundSubtraction,aMultiScale,aMaximumDiameter,aThreshold);
| HRESULT IImageProcessing::DetectSpots2 | ( | [in] IDataSet * | aDataSet, | |
| [in] VARIANT | aRegionsOfInterest, | |||
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aEstimateDiameter, | |||
| [in] BOOL | aSubtractBackground, | |||
| [in] BSTR | aSpotFiltersString, | |||
| [out, retval] ISpots ** | aSpots | |||
| ) |
Replaces DetectSpots, implemented for bpPointsViewer.
aRegionsOfInterest is a Nx8 matrix with the Rois extends [vMinX, vMinY, vMinZ, vMinT, vMaxX, vMaxY, vMaxZ, vMaxT]. Process entire image if aRegionsOfInterest is empty. Example of aSpotFiltersString: '"Position X" above 30.000 um "Intensity Center Ch=1" above automatic threshold'
| HRESULT IImageProcessing::DetectSpotsRegionGrowing | ( | [in] IDataSet * | aDataSet, | |
| [in] VARIANT | aRegionsOfInterest, | |||
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aEstimateDiameter, | |||
| [in] BOOL | aSubtractBackground, | |||
| [in] BSTR | aSpotFiltersString, | |||
| [in] BOOL | aRegionsFromLocalContrast, | |||
| [in] BOOL | aRegionsThresholdAutomatic, | |||
| [in] FLOAT | aRegionsThresholdManual, | |||
| [in] BOOL | aRegionsSpotsDiameterFromVolume, | |||
| [in] BOOL | aRegionsCreateChannel, | |||
| [out, retval] ISpots ** | aSpots | |||
| ) |
Replaces DetectSpotsWithRegions, implemented for bpPointsViewer.
aRegionsOfInterest is a Nx8 matrix with the Rois extends. [vMinX, vMinY, vMinZ, vMinT, vMaxX, vMaxY, vMaxZ, vMaxT]. Process entire image if aRegionsOfInterest is empty. Example of aSpotFiltersString: '"Position X" above 30.000 um "Intensity Center Ch=1" above automatic threshold'
If aRegionsFromLocalContrast is false, regions are computed from channel intensity. If aRegionsThresholdAutomatic is true, aRegionsThresholdManual is ignored. If aRegionsSpotsDiameterFromVolume is false, spots diameter is equal to region border distance.
| HRESULT IImageProcessing::DetectSpotsWithRegions | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aSpotDiameter, | |||
| [in] BOOL | aBackgroundSubtraction, | |||
| [in] FLOAT | aSpotsThreshold, | |||
| [in] BOOL | aInterpolatePositions, | |||
| [in] ULONG | aRegionMethod, | |||
| [in] FLOAT | aRegionsThreshold, | |||
| [in] BOOL | aRemoveOverlappingSpots, | |||
| [in] ULONG | aRadiusFrom, | |||
| [out] VARIANT * | aPositionsXYZ, | |||
| [out] VARIANT * | aIndicesT, | |||
| [out] VARIANT * | aRadii | |||
| ) |
Computes spots (local intensity maxima).
| aDataSet | [in] The source dataset | |
| aChannelIndex | [in] Index of channel to be processed | |
| aSpotDiameter | [in] Expected spot diameter (float) | |
| aBackgroundSubtraction | [in] Toggles background substraction (boolean) | |
| aSpotsThreshold | [in] Intensity spots threshold (float) | |
| aInterpolatePositions | [in] Interpolate spots positions (bool) | |
| aRegionMethod | [in] Region detection method index (int) | |
| aRegionsThreshold | [in] Intensity regions threshold (float) | |
| aRemoveOverlappingSpots | [in] Toggles Remove Overlapping Spots | |
| aRadiusFrom | [in] Spots radii computation method (int) | |
| aPositionsXYZ | [out] 2D array of positions [x y z]N | |
| aIndicesT | [out] 1D array of time points | |
| aRadii | [out] 1D array of spot radii |
%% The following MATLAB code detects spots for the selected channel...
aDataSet = vImarisApplication.mDataSet; %% Current dataset
aChannelIndex = 0;
aSpotDiameter = 2;
aBackgroundSubtraction = 1;
aSpotsThreshold = 0.5;
aInterpolatePositions = 1;
aRegionMethod = 0;
aRegionsThreshold = 30;
aRemoveOverlappingSpots = 1;
aSpotsModel = 1;
[aPositionsXYZ,aIndicesT,aRadii] = vImarisApplication.mImageProcessing.DetectSpotsWithRegions( ...
aDataSet,aChannelIndex,aSpotDiameter,aBackgroundSubtraction,aSpotsThreshold, ...
aInterpolatePositions,aRegionMethod,aRegionsThreshold,aRemoveOverlappingSpots,aSpotsModel);
%% ... and adds the detected spots to the imaris surpass scene.
vSpots = vImarisApplication.mFactory.CreateSpots;
vSpots.Set(aPositionsXYZ,aIndicesT,aRadii);
vImarisApplication.mSurpassScene.AddChild(vSpots);
| HRESULT IImageProcessing::DetectSurfaces | ( | [in] IDataSet * | aDataSet, | |
| [in] VARIANT | aRegionsOfInterest, | |||
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aSmoothFilterWidth, | |||
| [in] FLOAT | aLocalContrastFilterWidth, | |||
| [in] BOOL | aIntensityThresholdAutomatic, | |||
| [in] FLOAT | aIntensityThresholdManual, | |||
| [in] BSTR | aSurfaceFiltersString, | |||
| [out, retval] ISurfaces ** | aSurfaces | |||
| ) |
Replaces DetectIsoSurface, implemented for bpSurfacesViewer.
aRegionsOfInterest is a Nx8 matrix with the Rois extends [vMinX, vMinY, vMinZ, vMinT, vMaxX, vMaxY, vMaxZ, vMaxT]. Process entire image if aRegionsOfInterest is empty. Example of aSurfaceFiltersString: '"Volume" above automatic threshold' If aSmoothFilterWidth is equal to zero, smoothing is disabled. If aLocalContrastFilterWidth is equal to zero, local contrast is disabled. If aIntensityThresholdAutomatic is true, aIntensityThresholdManual is ignored.
| HRESULT IImageProcessing::DetectSurfacesRegionGrowing | ( | [in] IDataSet * | aDataSet, | |
| [in] VARIANT | aRegionsOfInterest, | |||
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aSmoothFilterWidth, | |||
| [in] FLOAT | aLocalContrastFilterWidth, | |||
| [in] BOOL | aIntensityThresholdAutomatic, | |||
| [in] FLOAT | aIntensityThresholdManual, | |||
| [in] FLOAT | aSeedsEstimateDiameter, | |||
| [in] BOOL | aSeedsSubtractBackground, | |||
| [in] BSTR | aSeedsFiltersString, | |||
| [in] BSTR | aSurfaceFiltersString, | |||
| [out, retval] ISurfaces ** | aSurfaces | |||
| ) |
Implemented for bpSurfacesViewer.
aRegionsOfInterest is a Nx8 matrix with the Rois extends. [vMinX, vMinY, vMinZ, vMinT, vMaxX, vMaxY, vMaxZ, vMaxT]. Process entire image if aRegionsOfInterest is empty. Example of aSurfaceFiltersString: '"Volume" above automatic threshold' If aSmoothFilterWidth is equal to zero, smoothing is disabled. If aLocalContrastFilterWidth is equal to zero, local contrast is disabled. If aIntensityThresholdAutomatic is true, aIntensityThresholdManual is ignored.
Example of aSeedsFiltersString: '"Quality" above 7.000'
| HRESULT IImageProcessing::DistanceTransformChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aBaseline, | |||
| [in] BOOL | aInside | |||
| ) |
Distance transform.
Within the regions with intensity greater than threshold, the distance of each voxel to the border of the region is computed. The distance is computed using a Chamfer metric (termed "quasi-euclidean" in Matlab). All voxels where original intensity is less than threshold are set to zero.
| aDataSet | The data set (IN/OUT) | |
| aChannelIndex | The channels to which the baseline subtraction is applied. | |
| aBaseline | The baseline value for each channel. | |
| aInside | true for inside, false for outside. |
%% The following MATLAB code applies in-place baseline subtraction to the selected channel. %% Caution: this will directly replace the current dataset with the baseline-subtracted one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aBaseline=100; vImarisApplication.mImageProcessing.DistanceTransformChannel(aDataSetIn,aChannelIndex,aBaseline);
| HRESULT IImageProcessing::DistanceTransformDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] FLOAT | aBaseline, | |||
| [in] BOOL | aInside, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Distance transform.
Within the regions with intensity greater than threshold, the distance of each voxel to the border of the region is computed. The distance is computed using a Chamfer metric (termed "quasi-euclidean" in Matlab). All voxels where original intensity is less than threshold are set to zero.
| aDataSetIn | The data set (IN) | |
| aBaseline | The baseline value for each channel. | |
| aInside | true for inside, false for outside. | |
| aDataSetOut | The data set (OUT) |
%% The following MATLAB code applies baseline subtraction to the whole dataset aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aBaseline=100; aDataSetOut=vImarisApplication.mImageProcessing.DistanceTransformDataSet(aDataSetIn,aBaseline); %% To replace current dataset with the baseline-subtracted one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::EqualizeHistogramChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aOldValueLow, | |||
| [in] FLOAT | aOldValueHigh, | |||
| [in] FLOAT | aNewValueLow, | |||
| [in] FLOAT | aNewValueHigh | |||
| ) |
Apply histogram equalization to the selected channel.
| aDataSet | [in], [out] The dataset | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aOldValueLow | [in] Lower bound of intensity window. Intensites below this value will be set to aNewValueLow. | |
| aOldValueHigh | [in] Upper bound of itensity window. Intensites above this value will be set to aNewValueHigh. | |
| aNewValueLow | [in] Minimum intensity of output data set. | |
| aNewValueHigh | [in] Maximum intensity of output data set. |
%% The following MATLAB code applies a user-defined histogram equalization to the selected channel. %% Caution: this will directly replace the current dataset with the equalized one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aOldValueLow=0; aOldValueHigh=194.921005 aNewValueLow=0; aNewValueHigh=255; vImarisApplication.mImageProcessing.EqualizeHistogramChannel(aDataSetIn,aChannelIndex,aOldValueLow,aOldValueHigh,aNewValueLow,aNewValueHigh);
| HRESULT IImageProcessing::EqualizeHistogramDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] FLOAT | aOldValueLow, | |||
| [in] FLOAT | aOldValueHigh, | |||
| [in] FLOAT | aNewValueLow, | |||
| [in] FLOAT | aNewValueHigh, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Apply a histogram equalization to the whole dataset.
| aDataSetIn | [in] The source dataset | |
| aOldValueLow | [in] Lower bound of intensity window. Intensites below this value will be set to aNewValueLow. | |
| aOldValueHigh | [in] Upper bound of itensity window. Intensites above this value will be set to aNewValueHigh. | |
| aNewValueLow | [in] Minimum intensity of output data set. | |
| aNewValueHigh | [in] Maximum intensity of output data set. | |
| aDataSetOut | [out] The equalized dataset |
%% The following MATLAB code applies user-defined histogram equalization to the selected channel. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aOldValueLow=0; aOldValueHigh=194.921005; aNewValueLow=0; aNewValueHigh=255; aDataSetOut=vImarisApplication.mImageProcessing.EqualizeHistogramDataSet(aDataSetIn,aOldValueLow,aOldValueHigh,aNewValueLow,aNewValueHigh); %% To replace current dataset with the equalized one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::FastMarchingArrivalTimeChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] VARIANT | aStartPositions | |||
| ) |
FastMarchingArrivalTime algorithm
| aDataSet | [in], [out] The dataset (IN/OUT) | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aStartPositions | [in] Vector of 3D start positions for expansion of front |
%% The following MATLAB code runs the FastMarchingArrivalTime algorithm for the selected channel. %% Caution: this will directly replace the current dataset with the gamma-corrected one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aStartPositions=[100 100 100]; vImarisApplication.mImageProcessing.FastMarchingArrivalTimeChannel(aDataSetIn,aChannelIndex,aStartPositions);
| HRESULT IImageProcessing::FastMarchingArrivalTimeDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] VARIANT | aStartPositions, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
FastMarchingArrivalTime algorithm
| aDataSetIn | [in] The source dataset | |
| aStartPositions | [in] Vector of 3D start positions for expansion of front | |
| aDataSetOut | [out] The destination dataset |
%% The following MATLAB code runs the FastMarchingArrivalTime algorithm for the whole dataset. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aStartPositions=[100 100 100]; aDataSetOut=vImarisApplication.mImageProcessing.FastMarchingArrivalTimeDataSet(aDataSetIn,aStartPositions); %% To replace current dataset with the output one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::Flip3DChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] ULONG | aDimension | |||
| ) |
Flip the selected channel set. The values are swapped along one dimension.
| aDataSet | [in], [out] The dataset (IN/OUT) | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aDimension | [out] The dimension in which to flip the channel. |
%% The following MATLAB code flips the selected channel along one dimension. %% Caution: this will directly replace the current dataset with the flipped one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aDimension=1; vImarisApplication.mImageProcessing.Flip3DChannel(aDataSetIn,aChannelIndex,aDimension);
| HRESULT IImageProcessing::Flip3DDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] ULONG | aDimension, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Flip the dataset. The values are swapped in one dimension.
| aDataSetIn | The source dataset | |
| aDimension | The dimension in which to flip the channels. | |
| aDataSetOut | The destination dataset |
%% The following MATLAB code flips the whole dataset along one dimension aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aDimension=1; aDataSetOut=vImarisApplication.mImageProcessing.Flip3DDataSet(aDataSetIn,aDimension); %% To replace current dataset with the flipped one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::GammaCorrectChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aGammaValue, | |||
| [in] FLOAT | aMaxValue | |||
| ) |
Gamma correction. I_new = (I_old ^ gamma) / (max ^ (gamma - 1)
| aDataSet | [in], [out] The dataset | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aGammaValue | [in] The gamma value for each channel. | |
| aMaxValue | [in] The maximum value (for normalization) for each channel. |
%% The following MATLAB code applies gamma correction to the selected channel. %% Caution: this will directly replace the current dataset with the gamma-corrected one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aGammaValue=0.75; aMaxValue=200; vImarisApplication.mImageProcessing.GammaCorrectChannel(aDataSetIn,aChannelIndex,aGammaValue,aMaxValue);
| HRESULT IImageProcessing::GammaCorrectDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] FLOAT | aGammaValue, | |||
| [in] FLOAT | aMaxValue, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Apply gamma correction for the whole dataset. I_new = (I_old ^ gamma) / (max ^ (gamma - 1)
| aDataSetIn | [in] The source dataset | |
| aGammaValue | [in] The gamma value for each channel (float) | |
| aMaxValue | [in] The maximum value (for normalization) for each channel (float) | |
| aDataSetOut | [out] The destination dataset |
%% The following MATLAB code applies gamma correction to the whole dataset. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aGammaValue=0.75; aMaxValue=200; aDataSetOut=vImarisApplication.mImageProcessing.GammaCorrectDataSet(aDataSetIn,aGammaValue,aMaxValue); %% To replace current dataset with the gamma-corrected one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::GaussFilterChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aSigma | |||
| ) |
Apply a Gaussian filter to the selected channel set. The filter is isotropic and given in dataset coordinates. The width of the filter is given in float. Note that in voxel coordinates the filter may be anisotropic, depending on the voxelsize.
| aDataSet | [in], [out] The dataset | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aSigma | [in] The width of the filter. |
%% The following MATLAB code applies a Gaussian filter to the selected channel. %% Caution: this will directly replace the current dataset with the filtered one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aSigma=2.5; vImarisApplication.mImageProcessing.GaussFilterChannel(aDataSetIn,aChannelIndex,aSigma);
| HRESULT IImageProcessing::GaussFilterDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] FLOAT | aSigma, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Apply a Gaussian filter to the dataset. The filter is isotropic and given in dataset coordinates. The width of the filter is given in float. Note that in voxel coordinates the filter may be anisotropic, depending on the voxelsize.
| aDataSetIn | [in] The source dataset | |
| aSigma | [in] The width of the filter (float)) | |
| aDataSetOut | [out] The destination dataset |
%% The following MATLAB code applies a Gaussian filter to the whole dataset. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aSigma=2.5; aDataSetOut=vImarisApplication.mImageProcessing.GaussFilterDataSet(aDataSetIn,aSigma); %% To replace current dataset with the filtered one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::GaussianDerivativeChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aSigma, | |||
| [in] VARIANT | aDerivativeOrder | |||
| ) |
Apply a GaussianDerivative filter to the selected channnel. The width of the filter is given in float.
| aDataSet | [in], [out] The dataset | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aSigma | [in] The width of the filter. | |
| aDerivativeOrder | [in] Vector containing order of derivative for each data dimension. |
%% The following MATLAB code applies a GaussianDerivative filter to the selected channel. %% Caution: this will directly replace the current dataset with the filtered one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aSigma=2.5; aDerivativeOrder=[2 2 2]; vImarisApplication.mImageProcessing.GaussianDerivativeChannel(aDataSetIn,aChannelIndex,aSigma,aDerivativeOrder);
| HRESULT IImageProcessing::GaussianDerivativeDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] FLOAT | aSigma, | |||
| [in] VARIANT | aDerivativeOrder, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Apply a GaussianDerivative filter to the whole dataset. The width of the filter is given in float.
| aDataSetIn | [in] The source dataset | |
| aSigma | [in] The width of the filter. | |
| aDerivativeOrder | [in] Vector containing order of derivative for each data dimension. | |
| aDataSetOut | [out] The destination dataset |
%% The following MATLAB code applies a GaussianDerivative filter to the whole dataset. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aSigma=2.5; aDerivativeOrder=[2 2 2]; aDataSetOut=vImarisApplication.mImageProcessing.GaussianDerivativeDataSet(aDataSetIn,aSigma,aDerivativeOrder); %% To replace current dataset with the filtered one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::InvertChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex | |||
| ) |
Invert all values in the selected channel.
| aDataSet | [in], [out] The dataset | |
| aChannelIndex | [in] Index of channel to be processed |
%% The following MATLAB code inverts all values in the selected channel. %% Caution: this will directly replace the current dataset with the filtered one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; vImarisApplication.mImageProcessing.InvertChannel(aDataSetIn,aChannelIndex);
| HRESULT IImageProcessing::InvertDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Invert all values in the whole dataset.
| aDataSetIn | [in] The source dataset | |
| aDataSetOut | [out] The destination dataset |
%% The following MATLAB code inverts all values in the whole dataset. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aDataSetOut=vImarisApplication.mImageProcessing.InvertDataSet(aDataSetIn); %% To replace current dataset with the inverted one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::MedianFilterChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] VARIANT | aSize | |||
| ) |
Apply a median filter to the selected channel.
| aDataSet | [in], [out] The dataset | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aSize | [in] The size in x, y and z |
%% The following MATLAB code applies a median to the selected channel. %% Caution: this will directly replace the current dataset with the filtered one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aSize=[5 5 5]; vImarisApplication.mImageProcessing.MedianFilterChannel(aDataSetIn,aChannelIndex,aSize);
| HRESULT IImageProcessing::MedianFilterDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] VARIANT | aSize, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Apply a median filter to the whole dataset.
| aDataSetIn | [in] The source dataset | |
| aSize | [in] The size in x, y and z | |
| aDataSetOut | [out] The destination dataset |
%% The following MATLAB code applies a median filter to the whole dataset. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aSize=[5 5 5]; aDataSetOut=vImarisApplication.mImageProcessing.MedianFilterDataSet(aDataSetIn,aSize); %% To replace current dataset with the filtered one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::NormalizeLayersChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex | |||
| ) |
Normalize layers for the selected channel.
| aDataSet | [in], [out] The dataset | |
| aChannelIndex | [in] Index of channel to be processed |
%% The following MATLAB code normalizes layers for the selected channel. %% Caution: this will directly replace the current dataset with the normalized one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; vImarisApplication.mImageProcessing.NormalizeLayersChannel(aDataSetIn,aChannelIndex);
| HRESULT IImageProcessing::NormalizeLayersDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Normalize layers for the whole dataset.
| aDataSetIn | [in] The source dataset | |
| aDataSetOut | [out] The destination dataset |
%% The following MATLAB code normalizes layers for the whole dataset. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aDataSetOut=vImarisApplication.mImageProcessing.NormalizeLayersDataSet(aDataSetIn); %% To replace current dataset with the normalized one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::Shift3DChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] LONG | aShiftX, | |||
| [in] LONG | aShiftY, | |||
| [in] LONG | aShiftZ | |||
| ) |
Shift selected channel along a Shift Vector.
| aDataSet | [in], [out] The dataset (IN/OUT) | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aShiftX | [in] Shift the shift in pixel in +/- X direction | |
| aShiftY | [in] Shift the shift in pixel in +/- Y direction | |
| aShiftZ | [in] Shift the shift in pixel in +/- Z direction |
%% The following MATLAB code shifts the selected channel along a Shift vector %% Caution: this will directly replace the current dataset with the shifted one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=1; aShiftX=1; aShiftY=2; aShiftZ=-1; vImarisApplication.mImageProcessing.Shift3DChannel(aDataSetIn,aChannelIndex,aShiftX,aShiftY,aShiftZ);
| HRESULT IImageProcessing::Shift3DDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] LONG | aShiftX, | |||
| [in] LONG | aShiftY, | |||
| [in] LONG | aShiftZ, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Shift the whole dataset along a Shift Vector.
| aDataSetIn | The source dataset | |
| aShiftX | [in] Shift the shift in pixel in +/- X direction | |
| aShiftY | [in] Shift the shift in pixel in +/- Y direction | |
| aShiftZ | [in] Shift the shift in pixel in +/- Z direction | |
| aDataSetOut | [out] The destination dataset |
%% The following MATLAB code shifts the whole dataset along a Shift vector aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aShiftX=1; aShiftY=2; aShiftZ=-1; aDataSetOut=vImarisApplication.mImageProcessing.Shift3DDataSet(aDataSetIn,aShiftX,aShiftY,aShiftZ); %% To replace current dataset with the shifted one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::ShortestPath | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aTimeIndex, | |||
| [in] ULONG | aChannelIndex, | |||
| [in] VARIANT | aStartPositions, | |||
| [out, retval] VARIANT * | aPositionsXYZ | |||
| ) |
Compute a gradient descent path from the starting positions "aStartPositions" until a local minimum or an intensity value of zero is reached. The result "aPositionsXYZ" contains a path (list of vertices) for each starting position.
| aDataSet | [in] The source dataset | |
| aTimeIndex | [in] Time index to be processed. | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aStartPositions | [in] Vector of 3D start positions | |
| aPositionsXYZ | [out] |
%% The following MATLAB code computes a gradient descent path for the selected channel and time point. aDataSet=vImarisApplication.mDataSet; %% Current dataset aTimeIndex=0; aChannelIndex=0; aStartPositions=[100 100 100]; aPositionsXYZ=vImarisApplication.mImageProcessing.ShortestPath(aDataSet,aTimePosition,aChannelIndex,aStartPositions);
| HRESULT IImageProcessing::SubtractBackgroundChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aSigma | |||
| ) |
Filter the selected channel with a Gaussian of width sigma and subtract that from the original
| aDataSet | [in], [out] The dataset | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aSigma | [in] The width of the filter. |
%% The following MATLAB code subtracts a filtered version of the selected channel from the selected channel itself. %% Caution: this will directly replace the current dataset with the filtered one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aSigma=2.5; vImarisApplication.mImageProcessing.SubtractBackgroundChannel(aDataSetIn,aChannelIndex,aSigma);
| HRESULT IImageProcessing::SubtractBackgroundDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] FLOAT | aSigma, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Filter the whole dataset with a Gaussian of width sigma and subtract the filtered image from the original
| aDataSetIn | [in] The source dataset | |
| aSigma | [in] The width of the filter (float) | |
| aDataSetOut | [out] The destination dataset |
%% The following MATLAB code subtracts a filtered version of the dataset from the dataset itself aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aSigma=2.5; aDataSetOut=vImarisApplication.mImageProcessing.SubtractBackgroundDataSet(aDataSetIn,aSigma); %% To replace current dataset with the subtracted one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::ThresholdBothChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aThreshold, | |||
| [in] FLOAT | aNewValueLow, | |||
| [in] FLOAT | aNewValueHigh | |||
| ) |
Apply a threshold to the selected channel. Values below the threshold are set to newValueLow, values abover or equal to the threshold are set to newValueHigh.
| aDataSet | [in], [out] The dataset | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aThreshold | [in] The threshold value for each channel. | |
| aNewValueLow | [in] All values below or equal the threshold are set to this value. | |
| aNewValueHigh | [in] All values above the threshold are set to this value. |
%% The following MATLAB code applies a user-defined lower and upper threshold to the selected channel. %% Caution: this will directly replace the current dataset with the thresholded one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aNewValueLow=0; aNewValueHigh=1; vImarisApplication.mImageProcessing.ThresholdBothChannel(aDataSetIn,aChannelIndex,aThreshold,aNewValueLow,aNewValueHigh);
| HRESULT IImageProcessing::ThresholdBothDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] FLOAT | aThreshold, | |||
| [in] FLOAT | aNewValueLow, | |||
| [in] FLOAT | aNewValueHigh, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Apply a threshold to the whole dataset: values below the threshold are set to newValueLow, values above or equal to the threshold are set to newValueHigh.
| aDataSetIn | [in] The source dataset | |
| aThreshold | [in] The threshold value for each channel. | |
| aNewValueLow | [in] All values below or equal the threshold are set to this value. | |
| aNewValueHigh | [in] All values above the threshold are set to this value. | |
| aDataSetOut | [out] The thresholded dataset |
%% The following MATLAB code applies user-defined threshold to the selected channel. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aThreshold=128; aNewValueLow=0; aNewValueHigh=1; aDataSetOut=vImarisApplication.mImageProcessing.ThresholdBothDataSet(aDataSetIn,aThreshold,aNewValueLow,aNewValueHigh); %% To replace current dataset with the thresholded one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::ThresholdChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aThreshold, | |||
| [in] FLOAT | aNewValue | |||
| ) |
Apply a lower threshold to the selected channel. Values below the threshold are set to aNewValue.
| aDataSet | [In], [out] The dataset (is modified in place) | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aThreshold | [in] The threshold value. | |
| aNewValue | [in] All values below the threshold are set to this value. |
%% The following MATLAB code applies a user-defined lower threshold to the selected channel. %% Caution: this will directly replace the current dataset with the thresholded one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aThreshold=128; vImarisApplication.mImageProcessing.ThresholdChannel(aDataSetIn,aChannelIndex,aThreshold,aNewValue);
| HRESULT IImageProcessing::ThresholdDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] FLOAT | aThreshold, | |||
| [in] FLOAT | aNewValue, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Apply a lower threshold to the whole dataset. Values below the threshold are set to aNewValue.
| aDataSetIn | [In] The source dataset | |
| aThreshold | [In] The threshold value. | |
| aNewValue | [In] All values below the threshold are set to this value. | |
| aDataSetOut | [out] The thresholded dataset |
%% The following MATLAB code applies a user-defined lower threshold to the whole dataset. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aThreshold=128; aNewValue=0; aDataSetOut=vImarisApplication.mImageProcessing.ThresholdDataSet(aDataSetIn,aThreshold,aNewValue); %% To replace current dataset with the thresholded one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::ThresholdUpperChannel | ( | [in] IDataSet * | aDataSet, | |
| [in] ULONG | aChannelIndex, | |||
| [in] FLOAT | aThreshold, | |||
| [in] FLOAT | aNewValue | |||
| ) |
Apply a upper threshold to the selected channel. Values above or equal the threshold are set to newValue.
| aDataSet | [in], [out] The dataset (IN/OUT) | |
| aChannelIndex | [in] Index of channel to be processed. | |
| aThreshold | [in] The threshold value. | |
| aNewValue | [in] All values above or equal the threshold are set to this value. |
%% The following MATLAB code applies a user-defined upper threshold to the selected channel. %% Caution: this will directly replace the current dataset with the thresholded one in vImarisApplication.mDataSet. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aChannelIndex=0; aThreshold=128; vImarisApplication.mImageProcessing.ThresholdUpperChannel(aDataSetIn,aChannelIndex,aThreshold,aNewValue);
| HRESULT IImageProcessing::ThresholdUpperDataSet | ( | [in] IDataSet * | aDataSetIn, | |
| [in] FLOAT | aThreshold, | |||
| [in] FLOAT | aNewValue, | |||
| [out, retval] IDataSet ** | aDataSetOut | |||
| ) |
Apply a upper threshold to the whole dataset. Values above or equal to the threshold are set to newValue.
| aDataSetIn | [in] The dource dataset | |
| aThreshold | [in] The threshold value. | |
| aNewValue | [in] All values above or equal the threshold are set to this value. | |
| aDataSetOut | [out] The thresholded dataset |
%% The following MATLAB code applies a user-defined upper threshold to the whole dataset. aDataSetIn=vImarisApplication.mDataSet; %% Current dataset aThreshold=128; aNewValue=0; aDataSetOut=vImarisApplication.mImageProcessing.ThresholdUpperDataSet(aDataSetIn,aThreshold,aNewValue); %% To replace current dataset with the thresholded one, use the following: vImarisApplication.mDataSet=aDataSetOut;
| HRESULT IImageProcessing::TrackSpotsAutoregressiveMotion | ( | [in] ISpots * | aSpots, | |
| [in] FLOAT | aMaximalDistance, | |||
| [in] INT | aGapSize, | |||
| [in] BSTR | aTrackFiltersString, | |||
| [out, retval] ISpots ** | aTrackedSpots | |||
| ) |
TrackSpotsBrownianMotion, TrackSpotsAutoregressiveMotion, TrackSpotsAutoregressiveMotionExpert, TrackSpotsConnectedComponents replaces CalculateTracks, implemented for bpPointsViewer.
Example of aTrackFiltersString: '"Track Duration" above 6.799 s'
| HRESULT IImageProcessing::TrackSpotsAutoregressiveMotionExpert | ( | [in] ISpots * | aSpots, | |
| [in] FLOAT | aMaximalDistance, | |||
| [in] INT | aGapSize, | |||
| [in] FLOAT | aIntensityWeight, | |||
| [in] BSTR | aTrackFiltersString, | |||
| [out, retval] ISpots ** | aTrackedSpots | |||
| ) |
TrackSpotsBrownianMotion, TrackSpotsAutoregressiveMotion, TrackSpotsAutoregressiveMotionExpert, TrackSpotsConnectedComponents replaces CalculateTracks, implemented for bpPointsViewer.
Example of aTrackFiltersString: '"Track Duration" above 6.799 s'
| HRESULT IImageProcessing::TrackSpotsBrownianMotion | ( | [in] ISpots * | aSpots, | |
| [in] FLOAT | aMaximalDistance, | |||
| [in] INT | aGapSize, | |||
| [in] BSTR | aTrackFiltersString, | |||
| [out, retval] ISpots ** | aTrackedSpots | |||
| ) |
TrackSpotsBrownianMotion, TrackSpotsAutoregressiveMotion, TrackSpotsAutoregressiveMotionExpert, TrackSpotsConnectedComponents replaces CalculateTracks, implemented for bpPointsViewer.
Example of aTrackFiltersString: '"Track Duration" above 6.799 s'
| HRESULT IImageProcessing::TrackSpotsConnectedComponents | ( | [in] ISpots * | aSpots, | |
| [in] BSTR | aTrackFiltersString, | |||
| [out, retval] ISpots ** | aTrackedSpots | |||
| ) |
TrackSpotsBrownianMotion, TrackSpotsAutoregressiveMotion, TrackSpotsAutoregressiveMotionExpert, TrackSpotsConnectedComponents replaces CalculateTracks, implemented for bpPointsViewer.
Example of aTrackFiltersString: '"Track Duration" above 6.799 s'
| HRESULT IImageProcessing::TrackSurfacesAutoregressiveMotion | ( | [in] ISurfaces * | aSurfaces, | |
| [in] FLOAT | aMaximalDistance, | |||
| [in] INT | aGapSize, | |||
| [in] BSTR | aTrackFiltersString, | |||
| [out, retval] ISurfaces ** | aTrackedSurfaces | |||
| ) |
TrackSurfacesBrownianMotion, TrackSurfacesAutoregressiveMotion, TrackSurfacesAutoregressiveMotionExpert, TrackSurfacesConnectedComponents replaces CalculateTracks, implemented for bpPointsViewer.
Example of aTrackFiltersString: '"Track Duration" above 6.799 s'
| HRESULT IImageProcessing::TrackSurfacesAutoregressiveMotionExpert | ( | [in] ISurfaces * | aSurfaces, | |
| [in] FLOAT | aMaximalDistance, | |||
| [in] INT | aGapSize, | |||
| [in] FLOAT | aIntensityWeight, | |||
| [in] BSTR | aTrackFiltersString, | |||
| [out, retval] ISurfaces ** | aTrackedSurfaces | |||
| ) |
TrackSurfacesBrownianMotion, TrackSurfacesAutoregressiveMotion, TrackSurfacesAutoregressiveMotionExpert, TrackSurfacesConnectedComponents replaces CalculateTracks, implemented for bpPointsViewer.
Example of aTrackFiltersString: '"Track Duration" above 6.799 s'
| HRESULT IImageProcessing::TrackSurfacesBrownianMotion | ( | [in] ISurfaces * | aSurfaces, | |
| [in] FLOAT | aMaximalDistance, | |||
| [in] INT | aGapSize, | |||
| [in] BSTR | aTrackFiltersString, | |||
| [out, retval] ISurfaces ** | aTrackedSurfaces | |||
| ) |
TrackSurfacesBrownianMotion, TrackSurfacesAutoregressiveMotion, TrackSurfacesAutoregressiveMotionExpert, TrackSurfacesConnectedComponents replaces CalculateTracks, implemented for bpSurfacesViewer.
Example of aTrackFiltersString: '"Track Duration" above 6.799 s'
| HRESULT IImageProcessing::TrackSurfacesConnectedComponents | ( | [in] ISurfaces * | aSurfaces, | |
| [in] BSTR | aTrackFiltersString, | |||
| [out, retval] ISurfaces ** | aTrackedSurfaces | |||
| ) |
TrackSurfacesBrownianMotion, TrackSurfacesAutoregressiveMotion, TrackSurfacesAutoregressiveMotionExpert, TrackSurfacesConnectedComponents replaces CalculateTracks, implemented for bpPointsViewer.
Example of aTrackFiltersString: '"Track Duration" above 6.799 s'
1.6.1