Last modified: Tue Sep 28 14:25:54 2004.
NAME: fMDIO_BlockVolumes PURPOSE: Multiple acquisitions of a MDI-Object are blocked to form a "shorter" series CATEGORY: Image processing CALLING SEQUENCE: Y = fMDIO_BlockVolumes(MDIO, BlockingFactor, Status = Status) INPUTS: MDIO : A structure containing the image data. It must be created by the function fBMT_CreateMDIObject(). BlockingFactor : The number if volumes, which should be grouped (blocked) OPTIONAL INPUT PARAMETERS: None KEYWORD PARAMETERS: Status : on exit, -1 is returned if an error has occurred, 1 on success OUTPUTS: MDI-Object containing the blocked data COMMON BLOCKS: None. SIDE EFFECTS: None. RESTRICTIONS: None. PROCEDURE: The data of volumes from 0,..,BlockingFactor-1; BlockingFactor,..., 2*BlockingFactor-1 is averaged. MODIFICATION HISTORY: 09.01.2001 Function created and tested REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_blockvolumes.pro)
NAME: fMDIO_CombineInterleaved PURPOSE: Combine two scans, which were acquired with an interleaved geometry. Scan 1 Slice n ------------------- Scan 2 Slice n ------------------- | | | Scan 1 Slice 1 ------------------- Scan 2 Slice 1 ------------------- Which scan is assigned to MDIO1 and MDIO2 is irrelevant. The slices are sorted according to the geomtery parameters. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_CombineInterleaved(MDIO1, MDIO2) INPUTS: MDIO1/2: Two scans containing the same number of slices. OUTPUTS: MDIO, containing twice the number of slices as MDIO1 or MDIO2 MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_combineinterleaved.pro)
NAME: fMDIO_Create PURPOSE: Create a Multi-Dimensional-Image-Object, which is refered as a scan in the BioMAP philosophy. This function replaces fBMT_CreateMDIO!!! CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_Create() KEYWORD PARAMETERS: Vox: Voxelsize in mm N: Number of MDIOs to be created. Skeleton: MDIO, from which parameters of the header are taken. Dimension: Dimension of the scan. If Dimension is provided, the array to hold the image data will be created. Type: Type (according the the ANALYZE definition). In the current version, type can only be 4 or 16. Otherwise, the array must be initialized manually. OUTPUTS: The MDIO-structure. MODIFICATION HISTORY: Last modification: 18.10.2002 2000/02/14 The Affine transformation matrix is now initialized to the identity-matrix. 2003/01/22 Parameter1 is initialized as ramp. REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_create.pro)
NAME: fMDIO_Detrend PURPOSE: Remove the linear drift of individual voxels. The slope of the drift is calculated from a series of baseline images either for each voxel individually or from the global mean. CATEGORY: MDIO CALLING SEQUENCE: Y =fMDIO_Detrend(MDIO, BaslineRange,Threshold) INPUTS: MDIO: MDI-object BeslineRange: Array of two elements, which contains the index of the first and last baseline image. Threshold: Voxels with values below Threshold, will be removed from analysis. KEYWORD PARAMETERS: Overwrite: Overwrite the MDIO, which was passed as the first argument. This keyword can be used if this MDIO is not used anymore. Global: Derive the drift from the global mean of the intensity of the scan. Display: Display the global mean of the scan together with the regression line. OUTPUTS: MDIO containing the result of the operation.
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_detrend.pro)
NAME: fMDIO_Divide PURPOSE: Divide one scan by another: Result = MDIO1 / MDIO2. MDIO1 can contain any number of volumes. MDIO2 is allowed to contain one volume or the same number as MDIO1. The calculations are carried out according to the array handling rules of IDL. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_Divide(MDIO1, MDIO2) INPUTS: MDIO1/2: Scans to be used. KEYWORD PARAMETERS: Min1: Minimum of the numerator. Values below Min1 will be disregarded. Min2: Minimum of the denominator. Values below Min2 will be disregarded. Log: Calculate the natural logarithm of the result. This option can be used if an attanuation value should be calculated. OUTPUTS: A MDIO containing the result of the calculation. MODIFICATION HISTORY: 2003/01/10: Keyword min1 implemented REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_divide.pro)
NAME: fMDIO_EditHeader PURPOSE: Edit or view the parameters, which are contained in the header of a MDIO. This procedure can also write the modiefied header to disk, if the scan was already stored in the database. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_EditHeader(MDIO) INPUTS: MDIO to be edited. OUTPUTS: If the function will be exited by "Done" and not by "Cancel", the modified header will be returned. Otherwise the header will remain unchanged. MODIFICATION HISTORY: Last Modification: 17.10.2002 REQUIREMENTS & BUGS SRK Remove common blocks and rewrite to a procedure.
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_editheader.pro)
NAME: fMDIO_ExtractClusters PURPOSE: Extract clusters of pixels, which exceed a minimum value and a minimum size. First, a threshold is applied to the data and all remaining voxels are labeled and grouped to clusters. Secondly, a spatial threshold is applied. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_ExtractClusters(MDIO, MinValue, MinSize) INPUTS: MDIO: The scan to be processes. MinValue: Threshold for voxel values. MinSize: Threshold for cluster size. KEYWORD PARAMETERS: TwoSided: Extract all regions, for which the absolute value exceeds the given threshold. OUTPUTS: Array containing two MDIOs MDIO, where values of all voxels, which do not belong to the desired class are set to zero. ClusterIndex: MDIO with the same dimension as Y, which contains the index of each cluster, will be returned. It can be used as a ROI-object. MODIFICATION HISTORY: Last Modification: 2003/01/21 Keyword ClusterIndex implemented REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_extractclusters.pro)
NAME: fMDIO_ExtractVolumes PURPOSE: Extract a subset of volumes from a scan CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_ExtractVolumes(MDIO) INPUTS: MDIO: A scan, which the operations should be carried out. KEYWORD PARAMETERS: Min: First volume to be used. If not specified, all volumes before max will be returned. Max: Last volume to be used. If not specified, all volumes larger than min will be returned. Odd: Take only volumes with an odd index (0, 2, 4, ...) representing the first, third, .... volumes. Even: Take only volumes with an even index (1, 3, 5, ...) representing the second, fourth, .... volumes. Index: Extract volumes according to the index list. Verbose: Print information on the operations. OUTPUTS: MDIO, which contains the result of the operation.
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_extractvolumes.pro)
NAME: fMDIO_GlobalMean PURPOSE: Calculate the global mean of a data set. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_GlobalMean(MDIO) INPUTS: MDIO: MDI-Object kspace : Calculation is based on calculating the power in the center of the Fourier space. This approach avoids using a threshold to eliminate pixels outside of the organ. Width: Diameter around the center of Fourier space, from which the mean should be calculated. OUTPUTS: Array, which contains the global mean of the MDIO
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_globalmean.pro)
NAME: fMDIO_HighPass PURPOSE: Remove global intensity differences by subtracting the strongly smoothed version from the data. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_HighPass(MDIO1,S) INPUTS: MDIO: Scans to be used. KEYWORD PARAMETERS: Sf: Smoothing factor (i.e the width of the boxcar filter) Global: On exit, the result will contain the smoothed scan instead of the filtered scan. OUTPUTS: A MDIO containing the result of the operation. MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_highpass.pro)
NAME: fMDIO_Integrate PURPOSE: Numerical integration of a 4-dimensional data set. CATEGORY: Image processing CALLING SEQUENCE: Y = fBMT_Integrate(MDIO) INPUTS: MDIO: Scan data OPTIONAL INPUT PARAMETERS: None. KEYWORD PARAMETERS: X: N-element vector containing the values of the x-axis, e.g. time. Range: 2-element array containing the boundaries for integration BlCorr: Structure containing the parameters for baseline correction. RemoveOffset: Subtract the area defined by the interval of integration and the values at the boundaries from the result. Status: Exit status of the function OUTPUTS: MDIO containing the result of integration PROCEDURE: Numerical integration over the fourth dimension of a MDIO. The boundaried should be provided by the range - keyword. If no boundaries are given all data is considered MODIFICATION HISTORY: 2000/01/16 Input checks added. 2002/10/24 Keyword RemoveOffset implemented. REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_integrate.pro)
NAME: fMDIO_Mean PURPOSE: Average data from a slice, a volume or from multiple volumes CATEGORY: Image processing CALLING SEQUENCE: Y = fBMT_Mean(MDIO, [N1, N2], Status=Status) INPUTS: MDIO : Data to be averaged. OPTIONAL INPUT PARAMETERS: N1 : The first volume considered for volume averaging N2 : The last volume considered for multiple volume averaging KEYWORD PARAMETERS: RemoveOffset : Subtract the area defined by the interval of integration and the values at the boundaries from the result. Status: Exit status of the function OUTPUTS: Averaged data PROCEDURE: Data from the first argument is averaged, according to the other parameters and keywords passed to the function. Three modes of operation are implemented: Y = fBMT_Mean(X, n1, n2) Average the volumes contained in X starting at n1 and ending at n2. Hence, the function will return a volume with the same spatial resolution as the input data but with the 4th dimension set to one. MODIFICATION HISTORY: 2002/01/09 Error handling implemented 2002/10/25 Keyword RemoveOffset implemented REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_mean.pro)
NAME: fMDIO_Multiply PURPOSE: Multiply voxel values of two scans or multiply the voxel values of the first scan with a scalar provided in the second argument. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_Multiply(MDIO1, MDIO2) INPUTS: MDIO1: Two scans of the same matrix size. MDIO2: Secons scan of the same size or scalar or array of same dimension as number of volumes contained in the first scan. OUTPUTS: MDIO, containing the resilt of the operation MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_multiply.pro)
NAME: fMDIO_Realign PURPOSE: Realign volumes of a scan. This function uses AIR-functions for realignment. Temporary data will be stored in the /tmp directory. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_Realign(MDIO) INPUTS: MDIO: Scan to be realigned KEYWORD PARAMETERS: Mode: Index of the model to be used for realignment. 3-D models: 6. rigid body 6 parameter model 7. global rescale 7 parameter model 9. traditional 9 parameter model (std must be on AC-PC line) 12. affine 12 parameter model 15. perspective 15 parameter model 2-D models (constrained to in-plane, no interpolation): 23. 2-D rigid body 3 parameter model 24. 2-D global rescale 4 parameter model 25. 2-D affine/fixed determinant 5 parameter model 26. 2-D affine 6 parameter model 28. 2-D perspective 8 parameter model Model 6 will be used as default. CostFunction: Cost function. Can be 1, 2 or 3. See AIR documentation for details. Target: A MDIO, which contains one volume to be used as target. If this keyword is not supplied, the first volume of the scan will be used as reference. Threshold: Voxels haven a value below threshold will be disregared during realign. OUTPUTS: MDIO containing the result of the operation. RESTRICTIONS: BioMAP must have been started before using this function. MODIFICATION HISTORY: __________________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_realign.pro)
NAME: fMDIO_Reciproce PURPOSE: Calculate 1/VoxelValue of a scan. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_Reciproce(MDIO1) KEYWORD PARAMETERS: Min: Minimum value to be considered. Max: Minimum value to be considered. INPUTS: MDIO1/2: Two scans of the same matrix size. OUTPUTS: MDIO, containing the resilt of the operation MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_reciproce.pro)
NAME: fMDIO_Regrid PURPOSE: Compose the data matrix of a scan at a different spatial resolution. The geometry parameters of the header will be changed accordingly. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_Regrid(MDIO, Resolution) INPUTS: MDIO: Scan to be processed. Resolution: Array containing three elements defining the new matrix size. KEYWORD PARAMETERS: Interp: Interpolate between voxels. OUTPUTS: Regridded MDIO MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS SRK1 Clarify interpolation scheme (Interp)
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_regrid.pro)
NAME: fMDIO_Reorder PURPOSE: Create multiple volumes from a stack of slices. Background: Scans, which were imported from another source, are not structured in a logical sense. E.g. in a multi-slice-multi-echo experiment all images could be arranged in a single volume. With fMDIO_Reorder one can rearange them to a multi-slice-multi-volume scan. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_Reorder(MDIO, Repetitions, Order) INPUTS: MDIO: Scan to be reordered Repetitions: Number of repetitions (number of values for the parameter) Order: 0: Blocked (All slices belonging to the same parameter-value were stored consecutively) 1: Interleaved (All parameter-values for the n'th slice are stored conscutively) OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: Slice2Ev: Exchange the slice/evolution index (3th<->4th index) prior to reordering. OUTPUTS: The reordered MDIO. MODIFICATION HISTORY: Last Modification: 2002/11/29 REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_reorder.pro)
NAME: fMDIO_Reslice PURPOSE: Reslice a object scan according to its geomtrical parameters to the geomtrical space defined by the target scan. This function can be used after coregistration of two scans. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_Reslice(Object, Target) INPUTS: Object: MDIO containing the object, which has to be resliced to match the geometry of the target. MDIO: MDIO defining the space. KEYWORD PARAMETERS: Cubic: Use Cubic interpolation. OUTPUTS: Resliced MDIO COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: The geometry parameters are taken from the two MDIO. They are used to transfer each voxel of the ROI to the correct position in world space. MODIFICATION HISTORY: 2000/02/14 If Roi has only one slice, then translation in third direction is inhibited. Additionally, the ceil(.)-function is applied to the volume indices. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_reslice.pro)
NAME: fMDIO_ReverseVolumeOrder PURPOSE: Reverse the order by which volumes are aranged in a scan. CATEGORY: MDIO CALLING SEQUENCE: Y = fMDIO_ReverseVolumeOrder(MDIO) INPUTS: MDIO: A scan to be reordered OUTPUTS: MDIO containing the reordered volumes. MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_reversevolumeorder.pro)
NAME: fMDIO_ScanMean PURPOSE: Averaging of scans. Two modes of input are implemented: You can provide scans of same size as multiple arguments. Up to 16 scans are allowed. Or scans can be passed to the function as an array containing multiple MDIO. However, the data-field must have the same size for all elements. This function is comparable to fMDIO_Mean but provides the option to pass several scans as argument. CALLING SEQUENCE: Y = fMDIO_Mean(MDIO) or Y = fMDIO_Mean(MDIO1, MDIO2, ...) INPUTS: MDI-objects OUTPUTS: The mean value is returned and if the second input mode was used, the standard-deviation is returned by the keyword s. COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_scanmean.pro)
NAME: fMDIO_Stdev PURPOSE: Calculate the standard deviation along the 4th dimension of a scan. CATEGORY: Image processing CALLING SEQUENCE: Y = fMDIO_Stdev(MDIO, [N1, N2], Status=Status) INPUTS: MDIO : Scan, for which the standard deviation should be calculated. OPTIONAL INPUT PARAMETERS: N1 : The first volume considered. N1 can also be an array of indices for volumes to be used for calculation. N2 : The last volume considered OUTPUTS: Averaged data PROCEDURE: Y = fMDIO_Stdev(X, n1, n2) Average the volumes contained in X starting at n1 and ending at n2. Hence, the function will return a volume with the same spatial resolution as the input data but with the 4th dimension set to one. MODIFICATION HISTORY: 09.01.2001 Error handling implemented REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_stdev.pro)
NAME: fMDIO_Subtract PURPOSE: Subtract two scans. If the 4th dimensions of both scans are not equal, the first volume of MDIO2 is used for subtraction. CATEGORY: __________________________________ CALLING SEQUENCE: Y = fMDIO_Subtract(MDIO1, MDIO2, min2=min2) INPUTS: MDIO1 and MDIO2 are two scan objects, which should have the same spatial dimensions. OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: Min2: Threshold applied to MDIO2. Only those voxel, which have a larger value are considered. OUTPUTS: Scan object, containing the result of the subtraction COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_subtract.pro)
NAME: fMDIO_SVD PURPOSE: Single value decomposition for 3D+Time image data CATEGORY: Image analysis CALLING SEQUENCE: Y = fMDIO_SVD(MDIO, Eigenimage, TempProfile, Singular, Thres = x , SeriesRange = [x,y] INPUTS: MDIO: Scan to be decomposed OPTIONAL INPUT PARAMETERS: Profile: Named variable that will hold the temporal profile with which the eigenimage contributes to the time series. The first index of the matrix contains the index of the eigenimage. Singular: Named variable that will hold the singular values (eigenvalues) on exit. The singular values are a monotonically decreasing array. KEYWORD PARAMETERS: Thres: Threshold parameter that gives the minimum value in the data which should be considered OUTPUTS: See optional input parameters MODIFICATION HISTORY: Created on 05.05.2000 REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_svd.pro)
NAME: fMDIO_TensorAnalysis PURPOSE: Calculate Eigenvalues, Direction, Trace and Anisotropy of a data set. Volumes of the scan should comprise direction (diffusion) sensitization for the following six directions: xx, yy, zz, xy, xz, yz. CATEGORY: MDIO (WIP) CALLING SEQUENCE: Y = fMDIO_TensorAnalysis(MDIO) INPUTS: MDIO containing 6 volumes representing the 6 encoding directions. KEYWORD PARAMETERS: Min: Minimum signal value considered. OUTPUTS: An array of 4 MDIOs will be returned (not one scan containing 4 volumes). This array contains the following parameter maps: 1) Eigenvalues 2) Direction of the principal axis of the 3-dimensional elipsoid. 3) Trace 4) Anisotropy ; MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_tensoranalysis.pro)
NAME: fMDIO_Total PURPOSE: Average data from a slice, a volume or from multiple volumes CATEGORY: Image processing CALLING SEQUENCE: Y = fBMT_Total(MDIO, [N1, N2], Status=Status) INPUTS: MDIO : Data to be processed. OPTIONAL INPUT PARAMETERS: N1 : The first volume considered for volume averaging N2 : The last volume considered for multiple volume averaging KEYWORD PARAMETERS: Status: Exit status of the function OUTPUTS: total of data PROCEDURE: Data from the first argument is averaged, according to the other parameters and keywords passed to the function. Three modes of operation are implemented: Y = fBMT_Total(X, n1, n2) Average the volumes contained in X starting at n1 and ending at n2. Hence, the function will return a volume with the same spatial resolution as the input data but with the 4th dimension set to one. MODIFICATION HISTORY: 2002/01/09 Error handling implemented 2002/10/25 Keyword RemoveOffset implemented REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fmdio_total.pro)
NAME: pMDIO_Destroy PURPOSE: Release memory allocated for data of the MDIO. CATEGORY: MDIO CALLING SEQUENCE: pMDIO_Destroy, MDIO1, MDIO2, .... INPUTS: MDIO1,...,MDIO8 MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/pmdio_destroy.pro)
NAME: pMDIO_EditEvents PURPOSE: Interface to create, delete and edit event entries for a given MDIO. Events consist of a name and a time. The time must be specified in units of Parameter1.Events will be shown if their name is not "". CATEGORY: MDIO CALLING SEQUENCE: pMDIO_EditEvents, MDIO INPUTS: MDIO to be processed MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/pmdio_editevents.pro)
NAME: pMDIO_SetGeo PURPOSE: Set the affine transformation matrix, which defines the transformation from index- to world- (physical-) space. The matrix is generated from the three direction cosines and the center-parameter. These are taken from the header of the MDIO. MDIO.row, MDIO.col, MDIO.normal and MDIO.center are stored in the associated dat-file, while MDIO.Geo is just as a variable in memory. Note that this function generates the transformation matrix by the standard scheme. If one of the vectors MDIO.row, MDIO.col or MDIO.normal is not complient to the standard coordinate system, pMDIO_Geo might not lead to the correct result. CATEGORY: MDIO CALLING SEQUENCE: pMDIO_SetGeo, MDIO INPUTS: MDIO: Scan to be processed. MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/pmdio_setgeo.pro)
NAME: pMDIO_SetMinMax PURPOSE: Set the minimum and maximum parameter in a MDIO. Thsi procedure must be used if a scan was modified by a calculation. The min and max parameter are used in displaying routines and must be set correctly. CATEGORY: MDIO CALLING SEQUENCE: pMDIO_SetMinMax, MDIO INPUTS: MDIO: Scan to be processed. MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/pmdio_setminmax.pro)
NAME: pMDIO_SpikeCrop PURPOSE: Set voxel values that exceed a given range to the given minimum or maximum value. In addition, infinite elements will be set to zero. CATEGORY: MDIO CALLING SEQUENCE: pro pMDIO_SpikeCrop, MDIO, min, max INPUTS: MDIO: Scan to be processed Min: Allowed minimum. Max: Allowed maximum. MODIFICATION HISTORY: Last Modification: 18.10.2002 18.10.2002: Infinite elements will be removed from the scan REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/pmdio_spikecrop.pro)
NAME: pMDIO_TypeConvert PURPOSE: Convert the data type of an MDIO. This types are related to the possible storage formats of ANALYZE. Posible types are: 2: byte (1 byte) 4: signed integer (2 byte) 8: signed long (4 byte) 16: float (4 byte) Type conversion is carried out irespective of the values contained in the data set. E.g. a -1 is converted to 255 if type 2 was selected. However, scaling is applied using the maximum of the MDIO. Problems will occur, if the absolute of the minimum is larger than the maximum. Voxels, with these values will be projected outside the range of the variable. CATEGORY: MDIO CALLING SEQUENCE: pMDIO_TypeConvert, MDIO, Type INPUTS: MDIO: The dataset stored as a MDIO, which should be converted Type: The type to which the dataset should be converted. MODIFICATION HISTORY: 2002/10/02 First implementation REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/pmdio_typeconvert.pro)
NAME: fWIN_CoordConv PURPOSE: Convert the pixel position of an image, which is displayed in one of the Biomap-windows, to the 3-dimensional index within the volume. CATEGORY: BMT CALLING SEQUENCE: Y=fWIN_CoordConv(Winx,Winy) INPUTS: x: Position in x-direction. Can be an array or a scalar. y: Position in x-direction. Can be an array or a scalar. Mode: Optional parameter, which defines the Mode of conversion. If Mode is one, interpolation is performed, otherwise an image coordinate is directly selected from the Index-array. OUTPUTS: __________________________________ MODIFICATION HISTORY: 2001/02/22 If the index is out of range, it will be set to 0 2001/07/19 If the index is out of range, it will be set to the boundaries
(See /usr/people/ivm/rauscma1/programs/biomap/source/fwin_coordconv.pro)
NAME: fWIN_GetMDIO PURPOSE: Retrieve the scan, which is stored in a BioMAP-window CATEGORY: WIN CALLING SEQUENCE: Y = fWIN_GetMDIO([WinIndex], /copy, Status=Status) OPTIONAL INPUT PARAMETERS: WinIndex: Index of BioMAP-window (0,...) KEYWORD PARAMETERS: Copy: Return a copy of the scan. Otherwise the MDIO itself is returned, which means that the pointers are the same. As a consequence, destroying Y, would also erase the data of the window. OUTPUTS: MDIO COMMON BLOCKS: None. SIDE EFFECTS: Window data can be erased. MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fwin_getmdio.pro)
NAME: fWIN_ImageCreate PURPOSE: Uses the paramters defined in structure win(.) and creates a true color image, which can be displayed. It passes all parameters of the currently active window to fBMT_PrepareImage. It just requires the output size as input parameter. Optionally, the slice to be shown can be passed as a keyword parameter. This can be helpful, if all slices of a volume should be displayed with the same overlay, roi, etc.. CATEGORY: Image display CALLING SEQUENCE: Image = fBMT_ImageCreate(OutputSize) INPUTS: Outputsize: Basic size of image in pixel OPTIONAL INPUT PARAMETERS: KEYWORD PARAMETERS: Slice: Slice orientation, otherwise Win(.).slice is used. OvlEv: Index to volume in overlay associated with the window. No_Overlay: Do not calculate the overlays (like Roi or overlays) Restore: Use the image, which was calculated in the last run of the the function. OUTPUTS: True color image COMMON BLOCKS: Uses inf. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: 2001/03/15 Keyword No_Overlay implemented. 2003/01/20 Keyword OvlEv implemented. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fwin_imagecreate.pro)
NAME: pWIN_Clear PURPOSE: Remove data from a BioMap window CATEGORY: WIN CALLING SEQUENCE: pWIN_Clear, Index INPUTS: Index: Index of the window ranging from 0 to NumberOfWindows KEYWORD PARAMETERS: All: Erase all windows OUTPUTS: None COMMON BLOCKS: Inf RESTRICTIONS: BioMAP must have been started
(See /usr/people/ivm/rauscma1/programs/biomap/source/pwin_clear.pro)
NAME: pBMT_Cell_ui PURPOSE: Automatically segment a T2-weighted brain CATEGORY: BMT CALLING SEQUENCE: pBMT_Cell_ui OUTPUTS: The result is stored in the selected window. COMMON BLOCKS: Inf MODIFICATION HISTORY: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_cell_ui.pro)
NAME: fBMT_ClusterAnalysis PURPOSE: Read a set of parameter files and perform a cluster analysis on the data. The routine is at the moment designed for the analysis of Gamma-Variate data but could be generalized for the analysis of other parameter sets. CATEGORY: Data analysis CALLING SEQUENCE: Result = fBMT_ClusterAnalysis(MDIO) INPUTS: The directory from which the Gpdf-files should be used is given by the scan filename defined by the MDIO. OPTIONAL INPUT PARAMETERS: None KEYWORD PARAMETERS: NClusters: Number of clusters, which will be created ParRange: Parameter range used for inclusion of pixels. It is a 3 by 2 matrix Chi2Max: Maximal chi^2 allowed for a pixel to be included into CA. This will exclude all pixels for which the fit was not very well. VarWeights: Parameter passed to CA. It is a 3-element vector, which describes The importance of a parameter. Slice: Consider only one slice given by its slice number. Verbose: Plot some information about the analysis. OUTPUTS: An array of same dimensionality as the source volume is returned which contains the index of cluster a pixel was assigned to. COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK1 Function should be moved to MDIO-library
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_clusteranalysis.pro)
NAME: fBMT_CompScans PURPOSE: Verify if to scans have equal properties. CATEGORY: Matrix operation CALLING SEQUENCE: Result = fBMT_CompScans(MDIO11, MDIO2) INPUTS: MDIO1/2 are two MDI-Objects KEYWORD PARAMETERS: DIMENSION: Compare spatial dimensions REPETITIONS: Compare number of repetitions GEOMETRY: Compare orientation OUTPUTS: 1 if equal, -1 else COMMON BLOCKS: None. SIDE EFFECTS: None. RESTRICTIONS: None. PROCEDURE: Perform comparisons and return the result MODIFICATION HISTORY: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_compscans.pro)
NAME: fBMT_CoordConv PURPOSE: Convert from the index to the worl coordinate system or backwords. CATEGORY: __________________________________ CALLING SEQUENCE: __________________________________ INPUTS: Header: MDIO-Header Coord: Array of the form [N, 3] providing the coordinates. OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: Affine: Affine is used as a second affine transformation, which can modify the physical orientation of the volume. OUTPUTS: __________________________________ COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_coordconv.pro)
NAME: fBMT_CreateView2D PURPOSE: Create a structure, which contains the parameter to extract a 2D slice from a MDIO CATEGORY: Brainmap basic functions CALLING SEQUENCE: Y = fBMT_CreateView2D(Origin, ax, ay, az, ev) INPUTS: Origin: Array of three elements containing the origin of the slice AX, AY, AZ: Angle of the slice EV: Volume from which the slice should be extracted OPTIONAL INPUT PARAMETERS: None. KEYWORD PARAMETERS: Zoom: Zoom factor OUTPUTS: Structure, which contains the above mentioned parameters. COMMON BLOCKS: None. SIDE EFFECTS: None. RESTRICTIONS: None. MODIFICATION HISTORY: 2000/02/13 Keyword Zoom added.
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_createview2d.pro)
NAME: fBMT_ExtractSlice PURPOSE: Extracting a slice from a three dimensional volume. Indices are stored in VolInd(NP,4). CATEGORY: BMT CALLING SEQUENCE: Image = fBMT_ExtractSlice(Header, Volume, x_size, y_size, x_center, y_center, z_center, x_rot, y_rot, z_rot) INPUTS: Header: Structure containing the header information Volume: three dimensional matrix containing the data OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: Spacing : Resolution used for interpolation. It can be used to create a larger output image, e.g. to fit the image to the window. Voxel : If keyword is set, congrid(.) is used for interpolation. Moreover, just the center point is used for extractration and all angles are ignored. OUTPUTS: Image EXAMPLE: tvscl, (fBMT_ExtractSlice(Header(0),reform((*scan_ptr(0))(*,*,*,0)),128,128,64,64,0,0,0,0)).image MODIFICATION HISTORY: 2001/02/14 Ceil(.)-function applied to indices, which where calculated in BaseImage-mode 2001/02/14 Procedure "Voxel display mode" was changed. Now applying ceil(.)-function to volume indices. 2001/02/15 Ceil(.) -> Round(.) 2001/02/16 If slices are parallel, Z is used directly from BaseImage. 2001/03/19 Keyword "Missing" removed from interpolate(.) if all rotation parameters = 0 REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_extractslice.pro)
NAME: fBMT_FitForFun PURPOSE: Least square fit of gamma variate function to a 1D perfusion curve CATEGORY: brain imaging anlysis CALLING SEQUENCE: Y = fBMT_FitForFun(X, Y, FunctionName) INPUTS: X: Independent variable Y: Dependent variable FunctionName: Model function, which should be fitted to the data. It can be: "fit_exp": f = a[0] * exp(a[1] * x) "fit_exp3": F = A[0] * bx + A[2]; bx = EXP(A[1] * X) "fit_gausstb": Gauss with tilted baseline. The difference between the two models is, that fit_exp3 can also account for an offset. OPTIONAL INPUT PARAMETERS: NONE KEYWORD PARAMETERS: Init: Starting values for the fit can be provided by this keyword. CHISQ: The CHI^2 value of the fit is hold by this parameter STATUS: A "1" indicates convergence, a "-1" failure of the least square fit Weights: Array of weights used for the leasr square fit. It must have the same number of elements as the data array VERBOSE: Some comments during the run of the function are displayed in teh IDL window DISPLAY : Graphical display of the data and the fit OUTPUTS: The parameters of the fit are returned if the fit was successful Otherwise [0,0,0] is returned. COMMON BLOCKS: None. SIDE EFFECTS: If DISPLAY is set, window DISPLAY is used for output RESTRICTIONS: NONE PROCEDURE: Least square fit of a gamma probability density function to a concentration time curve of contrast agent. MODIFICATION HISTORY: 15/09/99 Version 1.0 shows stable results for the fit in a case of cerebral infarction 21/09/99 /TSEARCH is doing now 10 iterations 23/09/99 The option /TWCUT was introduced 24/09/99 The complex search procedure was removed from wcut; the temporal cut-off is now defined by twcut. Search of maximum for definition of start values is now restricted to weights>0 22/09/99 Cleaning up some badly arranged functions. 2001/02/16 Model function fit_exp3 added, which uses three parameters.
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_fitforfun.pro)
NAME: fBMT_FunctionFit PURPOSE: Fit a model curve to each pixel of a MDIO. CATEGORY: __________________________________ CALLING SEQUENCE: Y = fBMT_FunctionFit(MDIO, X, Func) INPUTS: MDIO: MDIO, for which the fit should be performed. The 4th dimension should be large than 2. X: An independent variable, which matches the 4th dimension of the MDIO. Func: The model function. Currently 3 models have been implemented: "T2": Calculation of the Proton- and T2-map of a multi echo sequence. "ADC": Calculation of the apparent diffusion coefficient. "Exp-": Calculation of the S0 and exponential decay map of a multi echo or diffusion sequence "Epx3P": Fit of the function: Y = P1 * exp(P2 * V) + P3 to the data. This model can be used to model exponential signal increase. "Epx4P": Fit of the function: Y = P1 * exp(P2 * (V-P4)) + P3 to the data. This model can be used to model exponential signal increase in case of leakage. The data should contain reletive concentrations (i.e. scaled from 0.0 to 1.0) Thres: Intensity-threshold. Voxels, whos value exceeds this threshold in at least one volume are considered for analysis. OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: Thres: The smallest pixel value to be considered. Weights: Array containing the individual weighting for each point along the 4th dimension. ChiSq: Maximimum Chi² to be considered as useful fit. OUTPUTS: MDIO containing a volume for each parameter of the model function. COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: None. PROCEDURE: __________________________________ MODIFICATION HISTORY: 2001/02/19 Keyword ChiSq added. 2001/02/20 Model "fit_exp4" added. 2001/03/22 Infinite elements set to 0.0 REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_functionfit.pro)
NAME: fBMT_GetVoxelSize PURPOSE: Calculate the size of one window-pixel. The size will be returned in mm or in voxel-dimensions. CATEGORY: BMT CALLING SEQUENCE: Y = fBMT_GetVoxelSize() INPUTS: __________________________________ OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: __________________________________ OUTPUTS: __________________________________ COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_getvoxelsize.pro)
NAME: fBMT_ImageCombine PURPOSE: Create an image of a MDIO using the parameters passed to this function. Usually a true color image is generated, which can be displayed by tv, Y, true = 3. Overlays and Rois can be passed by keyword parameters optionally. CATEGORY: Image processing CALLING SEQUENCE: Y INPUTS: MDIO: The MDI-Object Orientation: A structure (generated by fBMT_CreateView2D()) containing the information about the slice which should be displayed. ImageRange: Array of 2 elements, containing the minimum and maximum values used for scaling. OutputSize: Scalar giving the size of the final image. OPTIONAL INPUT PARAMETERS: None. KEYWORD PARAMETERS: Native8Bit: The slice of the MDIO is returned as a scaled image. No overlays or rois are added. DisplayMethod: If this keyword is set, the specified display method is used: 0: Interpolation giving smooth images 1: Regridding giving images that allow to identify individual voxels. TransparentRoi: The ROI-Object passed with this keyword is added to the image as transparent overlay. OUTPUTS: __________________________________ COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: 2000/02/14 NoSpatialTransformation is not used anymore for overlaying. It is only used for ROIs, because they have been already transformed during loading. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_imagecombine.pro)
NAME: fBMT_ImageProcess PURPOSE: This function is used to extract a slice from a 3D or 4D volume. CATEGORY: BrainMap CALLING SEQUENCE: Y = fBMT_ImageProcess(MDIO, Orientation, WindowSize) INPUTS: MDIO : MDIO-structure, containing the scan data orientation : Structure containing the information about the slice orientation and the volume from a N-Volume scan WindowSize : The size of a window with equal length in x and y direction KEYWORDS: VERBOSE : Displays information about input parameters BaseImage : Header of the scan on which Volume will be overlayed DisplayMethod : How the image is resized. Possible values are 'bilinear' (0) and 'cubic' (1) OUTPUTS: The image extracted from the volume MODIFICATION HISTORY: Written by: MR, February 1999. 2001/03/15 Keyword Affine removed. 2001/03/22 Function derived from bm_image_process.
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_imageprocess.pro)
NAME: fBMT_ImportPixMap_ui PURPOSE: Import any pixmap (image) as a MDIO. CATEGORY: BMT CALLING SEQUENCE: __________________________________ INPUTS: None. OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: __________________________________ OUTPUTS: __________________________________ COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: 2001/03/13 Calibration function implemented. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_loadpixmap_ui.pro)
NAME: fBMT_Mean PURPOSE: Average data from a slice, a volume or from multiple volumes CATEGORY: Image processing CALLING SEQUENCE: Y = fBMT_Mean(Scan, [N1, N2], MeanOfScan = MeanOfScan, MeanOfVolume = MeanofVolume) INPUTS: Scan : Data to be averaged. Currently, this is not a MDI-Object OPTIONAL INPUT PARAMETERS: N1 : The first volume considered at multiple volume averaging N2 : The last volume considered at multiple volume averaging KEYWORD PARAMETERS: MeanOfScan : Return the average of all data as a scalar MeanOfVolume : Return the average of the volume denoted by number passed by the keyword. Status : On exit, -1 is returned if an error has occurred, 1 on success OUTPUTS: Averaged data COMMON BLOCKS: None. SIDE EFFECTS: None. RESTRICTIONS: None. PROCEDURE: Data from the first argument is averaged, according to the other parameters and keywords passed to the function. Three modes od operation are implemented: (1) Y = fBMT_Mean(X, n1, n2) Average the volumes contained in X starting at n1 and ending at n2. Hence, the function will return a volume with the same spatial resolution as the input data but with the 4th dimension set to one. (2) Y = fBMT(X, /MeanOfScan) Simply return the mean of the whole data as a scalar value. (3) Y = fBMT(X, MeanOfVolume = N) Return the mean of volume N as a scalar value. MODIFICATION HISTORY: 09.01.2001 Error handling implemented REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_mean.pro)
NAME: fBMT_RoiStat PURPOSE: Calculate statistics of Rois defined for a scan CATEGORY: Analysis CALLING SEQUENCE: Y = fBMT_RoiStat(MDIO, Roi)) INPUTS: MDIO: Scan-object ROI: Roi-Object OPTIONAL INPUT PARAMETERS: None. KEYWORD PARAMETERS: Histogram: Histograms of the values of each Roi. Range: Range of values considered for calculation. ExcludeZero: Exclude all points whos values are zero from analysis. OUTPUTS: Array of structure, which containe the calculated values: It is defined as {Region:"", Population:0, Mean:0.0, Median: 0.0, Stdev:0.0, Min:0.0, Max:0.0} COMMON BLOCKS: None. SIDE EFFECTS: None. RESTRICTIONS: None. PROCEDURE: Calculations are performed using standard functions. MODIFICATION HISTORY: 2001/01/23 Function derived from bm_roi_stat-function. 2001/02/13 Keyword SaveData added in order to store the generated tables on disc. REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_roistat.pro)
NAME: fBMT_ROITrace PURPOSE: Extract the longitudinal ROI-data from a scan. The scan should contain more than one volume. CATEGORY: BMT CALLING SEQUENCE: Y = fBMT_RoiTrace(MDIO, ROI, Id) INPUTS: MDIO: Image data ROI : ROI data (must have the same dimension as the image data but may contain not more than one volume) Id : Id of the region. It can be the number (e.g. 1, 2, ...) or the name (e.g. "R1", which is defined by the variable ROI.parameter1). KEYWORD PARAMETERS: Error: Contains the stdev of each data point if the region contains more than two voxels. Status: Exit status (1: ok, -1: error) Exclude: value, which should be exluded from calculation of the average. OUTPUTS: Array (length is number of volumes contained in MDIO) containing the mean image data values of the region. MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_roitrace.pro)
NAME: fBMT_RoiTransfer PURPOSE: Transform a ROI, which was set for a scan to another. Scans can have different geometries and orientations. CATEGORY: __________________________________ CALLING SEQUENCE: __________________________________ INPUTS: ROI: MDIO containing the ROI, which was loaded from disk or taken from a different window. MDIO: MDIO, to which the ROI should be transferred. OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: Affine: Multiply a affine transformation matrix with the Geo-Matrix of the MDIO Range: Truncate all ROIS, where pixel values of the scan, to which it is transferred are not in the disered range. RegridFactor: A factor, which allows to increase the resolution of the scan. Values should be below 1. OUTPUTS: Volume containing the rois COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: The geometry parameters are taken from the two MDIO. They are used to transfer each voxel of the ROI to the correct position in world space. MODIFICATION HISTORY: 2000/02/13 Keyword "Range" added 2000/02/14 If Roi has only one slice, then translation in third direction is inhibited. Additionally, the ceil(.)-function is applied to the volume indices. REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_roitransfer.pro)
NAME: fBMT_ScanAlgebra PURPOSE: Perform basic calculations on a MDI-Object CATEGORY: Scan processing CALLING SEQUENCE: Y = fBMT_ScanAlgebra(MDIO, [Parameter1]) INPUTS: MDIO: The scan object, on which calculations should be performed OPTIONAL INPUT PARAMETERS: Parameter1: An optional parameter, which is required for some operations KEYWORD PARAMETERS: LinearScaling: Every volume of the scan is devided by its mean and therefore the global mean becomes 1. SubractVolume: A volume (defined by Parameter1) is subracted from every other volume. SubtractSpecific: Subtract a specific volume from any of the others. Parameter1 should contain an array of indices of same length as the scan contains volumes. If an entry of Parameter1 is -1, then no subtraction is performed. Magnitude: The magnitude of every volume is calculated. Baseline: Subtract a global baseline value from each volume. Invert: Invert the values of a scan. Status: The exit status of the function. OUTPUTS: MDI-Object COMMON BLOCKS: None. SIDE EFFECTS: None. RESTRICTIONS: None. PROCEDURE: Calculations are performed according to the keyword passed to the function. MODIFICATION HISTORY: 2001/01/23 Parameters are not passed by the keyword; instead Parameter1 is used. Imprint added. REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_scanalgebra.pro)
NAME: fBMT_SolidOvl PURPOSE: Create an overlay image of Image1 and Image2. Pixels that are visible from Image2 completely hide the underlying pixels of Image1. Scaling of Image2 can be defined by using the keyword "Range". Image1 and 2 must be of same size. CATEGORY: Image display CALLING SEQUENCE: Y = fBMT_SolidOvl(Image1, Image2) INPUTS: __________________________________ OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: __________________________________ OUTPUTS: __________________________________ COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: 2000/02/15 Keyword "Thres" replaced by "Range". Scaling of Image1 was replaced, since it should already be scaled. Scaling of Image2 is performed only once. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_solidovl.pro)
NAME: fBMT_SvdCompose PURPOSE: Use the spatial modes, temporal profiles and the singular vector to restore the original time series data. The singular vector can be modified by the keyword SMod in order to remove confounding contributions to the data such as noise or other spectral components. CATEGORY: Image processing CALLING SEQUENCE: Y = fBMT_SvdCompose(MDIO, [SMod = ....]) INPUTS: WinIndex: Index to BRAINMAP window OPTIONAL INPUT PARAMETERS: None KEYWORD PARAMETERS: SMod: Array, with number of entries equal to the number of spatial modes calculated. OUTPUTS: The restored (and modiefied) time series data. COMMON BLOCKS: None SIDE EFFECTS: None RESTRICTIONS: Can only be used if Brainmap was started. No parameter consistency checks are performed. PROCEDURE: __________________________________ MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_svdcompose.pro)
NAME: fBMT_TransparentOvl PURPOSE: Use two indexed images an combine them as an rgb image CATEGORY: Imaging CALLING SEQUENCE: __________________________________ INPUTS: Image1/2: Two images which have to scaled from 0 to 256 OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: __________________________________ OUTPUTS: __________________________________ COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fbmt_transparentovl.pro)
NAME: pBMT_CopyScanToWindow PURPOSE: Copy data from source window or file to a target window. CATEGORY: BMT CALLING SEQUENCE: pBMT_CopyScanToWindow, MyMDIO, Source, WinIndex INPUTS: Scan : MDIO, which contains the source data Source : Index of window, from where the scan is copied (-1=no source) WinIndex: Index of window, to which the scan should be copied (-1=copy to file). The filename must be defined in MDIO.ScanFilename. If the keyword LABEL is specified, it is used as the filename, while the path is taken from MDIO.ScanFilename. KEYWORD PARAMETERS: __________________________________ COMMON BLOCKS: inf MODIFICATION HISTORY: 2001/03/26 Keyword "OverwritePointer" implemented REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/pbmt_copyscantowindow.pro)
NAME: PBMT_CREATEHELP PURPOSE: Given a list of IDL procedure files (.PRO), VMS text library files (.TLB), or directories that contain such files, this procedure generates a file in the HTML format that contains the documentation for those routines that contain a DOC_LIBRARY style documentation template. The output file is compatible with World Wide Web browsers. CATEGORY: Help, documentation. CALLING SEQUENCE: PLIB_CREATEHELP, Sources, Outfile INPUTS: Sources: A string or string array containing the name(s) of the .pro or .tlb files (or the names of directories containing such files) for which help is desired. If a source file is a VMS text library, it must include the .TLB file extension. If a source file is an IDL procedure, it must include the .PRO file extension. All other source files are assumed to be directories. Outfile: The name of the output file which will be generated. KEYWORDS: TITLE: If present, a string which supplies the name that should appear as the Document Title for the help. VERBOSE: Normally, PLIB_CREATEHELP does its work silently. Setting this keyword to a non-zero value causes the procedure to issue informational messages that indicate what it is currently doing. !QUIET must be 0 for these messages to appear. STRICT: If this keyword is set to a non-zero value, PLIB_CREATEHELP will adhere strictly to the HTML format by scanning the the document headers for characters that are reserved in HTML (<,>,&,"). These are then converted to the appropriate HTML syntax in the output file. By default, this keyword is set to zero (to allow for faster processing). COMMON BLOCKS: None. SIDE EFFECTS: A help file with the name given by the Outfile argument is created. RESTRICTIONS: The following rules must be followed in formatting the .pro files that are to be searched. (a) The first line of the documentation block contains only the characters ";+", starting in column 1. (b) There must be a line which contains the string "NAME:", which is immediately followed by a line containing the name of the procedure or function being described in that documentation block. If this NAME field is not present, the name of the source file will be used. (c) The last line of the documentation block contains only the characters ";-", starting in column 1. (d) Every other line in the documentation block contains a ";" in column 1. Note that a single .pro file can contain multiple procedures and/or functions, each with their own documentation blocks. If it is desired to have "invisible" routines in a file, i.e. routines which are only for internal use and should not appear in the help file, simply leave out the ";+" and ";-" lines in the documentation block for those routines. No reformatting of the documentation is done. MODIFICATION HISTORY: July 5, 1995, DD, RSI. Original version. July 13, 1995, Mark Rivers, University of Chicago. Added support for multiple source directories and multiple documentation headers per .pro file. July 17, 1995, DD, RSI. Added code to alphabetize the subjects; At the end of each description block in the HTML file, added a reference to the source .pro file. July 18, 1995, DD, RSI. Added STRICT keyword to handle angle brackets. July 19, 1995, DD, RSI. Updated STRICT to handle & and ". Changed calling sequence to accept .pro filenames, .tlb text librarie names, and/or directory names. Added code to set default subject to name of file if NAME field is not present in the doc header.
(See /usr/people/ivm/rauscma1/programs/biomap/source/pbmt_createhelp.pro)
NAME: pBMT_MTR_ui PURPOSE: Calculate the magnetization transfer ratio from a scan with an scan without MTS-preperation. Input data is selected from the common BioMAP data pool. CATEGORY: BMT CALLING SEQUENCE: pBMT_MTR_ui OUTPUTS: The result is stored in the selected window. COMMON BLOCKS: Inf MODIFICATION HISTORY: 2002/12/11 Values lower than 0 will be removed. REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/pbmt_mtr_ui.pro)
NAME: pBMT_Plot_ui PURPOSE: Plot profiles, spects, ACFs, etc. of a point or ROI and provide a graphical interface. CATEGORY: BMT CALLING SEQUENCE: pBMT_Plot_ui, Data INPUTS: Data: Structure of the form {x:fltarr(n), y: fltarr(n,m), err:fltarr(n,m)} MODIFICATION HISTORY: 2001/02/16 Psym-Keyword removed from pBMT_Plotxy. Symbols are now generated within the function. XY coordinates will be displayed. 2001/02/19 wDraw is directly used for printing. Before it was event.top+1 2001/02/26 An option is provided, that allows to select the evolution by a click with the left mouse button. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/pbmt_plot_ui.pro)
NAME: pBMT_ReadParameter PURPOSE: Read values of a given structure from a file. The file has a name that is derived from the name of the structure or the filame supplied as a keyword. CATEGORY: BMT CALLING SEQUENCE: pBMT_ReadParameter, StructName INPUTS: StructName: Name of the structure KEYWORD PARAMETERS: File: Name of file to be read. MODIFICATION HISTORY: 2003/01/07 Function fBMT_ProcessTracing() replaced by keyword "Verbose". The procedure can now be called independently from BioMAP. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/pbmt_readparameter.pro)
NAME: pBMT_RoiLoad PURPOSE: Provide a file dialog box and load a ROI-Volume from disk. CATEGORY: ROI Analysis CALLING SEQUENCE: pBMT_RoiLoad INPUTS: None. OPTIONAL INPUT PARAMETERS: None. KEYWORD PARAMETERS: None. OUTPUTS: None COMMON BLOCKS: Inf SIDE EFFECTS: None. RESTRICTIONS: Brainmap must be initialized. PROCEDURE: A ROI-volume is loaded from disk and stored in the current window. If the geomtery of the stored ROI and the scan in the current window is different, spatial transformations are applied. MODIFICATION HISTORY: 2001/02/16 The DIM-field of the ROI is modiefied to have the same dimensions as the scan. 2001/03/02 Geometry parameters will be copied from the scan to the Roi. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/pbmt_roiload.pro)
NAME: pBMT_WriteParameter PURPOSE: Write values from a given structure to a file. The file has a name that is derived from the name of the structure, which is STRUCTURENAMErc. The procedure writes the file to the directory of the scan. Note that only arrys with a length of less than 512 elements will be written to the file. CATEGORY: BMT CALLING SEQUENCE: pBMT_WriteParameter, StructName INPUTS: StructName: Structure containing the data. OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: File: Write data to file with the name "file". Stdout: Write to the console (for debugging purposes) NoPointer: Do not write contents of pointer variables. OUTPUTS: __________________________________ SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/pbmt_writeparameter.pro)
NAME: fLIB_ColorTranslate PURPOSE: Create a true color image from an indexed image and a color table; the third index is corresponding to one of the RGB-channels. CATEGORY: __________________________________ CALLING SEQUENCE: __________________________________ INPUTS: IMAGE: Image data scaled from 0 to 255 OPTIONAL INPUT PARAMETERS: CT : Index of a colortable KEYWORD PARAMETERS: __________________________________ OUTPUTS: True color image COMMON BLOCKS: SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/flib_colortranslate.pro)
NAME: CURVEFIT PURPOSE: Non-linear least squares fit to a function of an arbitrary number of parameters. The function may be any non-linear function. If available, partial derivatives can be calculated by the user function, else this routine will estimate partial derivatives with a forward difference approximation. CATEGORY: E2 - Curve and Surface Fitting. CALLING SEQUENCE: Result = CURVEFIT(X, Y, Weights, A, SIGMA, FUNCTION_NAME = name, $ ITMAX=ITMAX, ITER=ITER, TOL=TOL, /NODERIVATIVE) INPUTS: X: A row vector of independent variables. This routine does not manipulate or use values in X, it simply passes X to the user-written function. Y: A row vector containing the dependent variable. Weights: A row vector of weights, the same length as Y. For no weighting, Weights(i) = 1.0. For instrumental (Gaussian) weighting, Weights(i)=1.0/sigma(i)^2 For statistical (Poisson) weighting, Weights(i) = 1.0/y(i), etc. A: A vector, with as many elements as the number of terms, that contains the initial estimate for each parameter. IF A is double- precision, calculations are performed in double precision, otherwise they are performed in single precision. Fitted parameters are returned in A. KEYWORDS: FUNCTION_NAME: The name of the function (actually, a procedure) to fit. IF omitted, "FUNCT" is used. The procedure must be written as described under RESTRICTIONS, below. ITMAX: Maximum number of iterations. Default = 20. ITER: The actual number of iterations which were performed TOL: The convergence tolerance. The routine returns when the relative decrease in chi-squared is less than TOL in an interation. Default = 1.e-3. CHI2: The value of chi-squared on exit (obselete) CHISQ: The value of reduced chi-squared on exit NODERIVATIVE: IF this keyword is set THEN the user procedure will not be requested to provide partial derivatives. The partial derivatives will be estimated in CURVEFIT using forward differences. IF analytical derivatives are available they should always be used. STATUS: Is 1 if estimation converged and -1 else SILENT: Do not send messages OUTPUTS: Returns a vector of calculated values. A: A vector of parameters containing fit. OPTIONAL OUTPUT PARAMETERS: Sigma: A vector of standard deviations for the parameters in A. COMMON BLOCKS: NONE. SIDE EFFECTS: None. RESTRICTIONS: The function to be fit must be defined and called FUNCT, unless the FUNCTION_NAME keyword is supplied. This function, (actually written as a procedure) must accept values of X (the independent variable), and A (the fitted function's parameter values), and return F (the function's value at X), and PDER (a 2D array of partial derivatives). For an example, see FUNCT in the IDL User's Libaray. A call to FUNCT is entered as: FUNCT, X, A, F, PDER where: X = Variable passed into CURVEFIT. It is the job of the user-written function to interpret this variable. A = Vector of NTERMS function parameters, input. F = Vector of NPOINT values of function, y(i) = funct(x), output. PDER = Array, (NPOINT, NTERMS), of partial derivatives of funct. PDER(I,J) = DErivative of function at ith point with respect to jth parameter. Optional output parameter. PDER should not be calculated IF the parameter is not supplied in call. IF the /NODERIVATIVE keyword is set in the call to CURVEFIT THEN the user routine will never need to calculate PDER. PROCEDURE: Copied from "CURFIT", least squares fit to a non-linear function, pages 237-239, Bevington, Data Reduction and Error Analysis for the Physical Sciences. This is adapted from: Marquardt, "An Algorithm for Least-Squares Estimation of Nonlinear Parameters", J. Soc. Ind. Appl. Math., Vol 11, no. 2, pp. 431-441, June, 1963. "This method is the Gradient-expansion algorithm which combines the best features of the gradient search with the method of linearizing the fitting function." Iterations are performed until the chi square changes by only TOL or until ITMAX iterations have been performed. The initial guess of the parameter values should be as close to the actual values as possible or the solution may not converge. EXAMPLE: Fit a function of the form f(x) = a * exp(b*x) + c to sample pairs contained in x and y. In this example, a=a(0), b=a(1) and c=a(2). The partials are easily computed symbolicaly: df/da = exp(b*x), df/db = a * x * exp(b*x), and df/dc = 1.0 Here is the user-written procedure to return F(x) and the partials, given x: pro gfunct, x, a, f, pder ; Function + partials bx = exp(a(1) * x) f= a(0) * bx + a(2) ;Evaluate the function IF N_PARAMS() ge 4 THEN $ ;Return partials? pder= [[bx], [a(0) * x * bx], [replicate(1.0, N_ELEMENTS(f))]] end x=findgen(10) ;Define indep & dep variables. y=[12.0, 11.0,10.2,9.4,8.7,8.1,7.5,6.9,6.5,6.1] Weights=1.0/y ;Weights a=[10.0,-0.1,2.0] ;Initial guess yfit=curvefit(x,y,Weights,a,sigma,function_name='gfunct') print, 'Function parameters: ', a print, yfit end MODIFICATION HISTORY: Written, DMS, RSI, September, 1982. Does not iterate IF the first guess is good. DMS, Oct, 1990. Added CALL_PROCEDURE to make the function's name a parameter. (Nov 1990) 12/14/92 - modified to reflect the changes in the 1991 edition of Bevington (eq. II-27) (jiy-suggested by CreaSo) Mark Rivers, U of Chicago, Feb. 12, 1995 - Added following keywords: ITMAX, ITER, TOL, CHI2, NODERIVATIVE These make the routine much more generally useful. - Removed Oct. 1990 modification so the routine does one iteration even IF first guess is good. Required to get meaningful output for errors. - Added forward difference derivative calculations required for NODERIVATIVE keyword. - Fixed a bug: PDER was passed to user's procedure on first call, but was not defined. Thus, user's procedure might not calculate it, but the result was THEN used. Steve Penton, RSI, June 1996. - Changed SIGMAA to SIGMA to be consistant with other fitting routines. - Changed CHI2 to CHISQ to be consistant with other fitting routines. - Changed W to Weights to be consistant with other fitting routines. _ Updated docs regarding weighing. Martin Rausch, 1999 - status keyword added - silent keyword added
(See /usr/people/ivm/rauscma1/programs/biomap/source/flib_curvefit.pro)
NAME: fLIB_Gauss PURPOSE: Calculate a values of gauss-function. CATEGORY: LIB CALLING SEQUENCE: Y=fLIB_Gauss(x, Center, FWHM) INPUTS: x : Scalar or array containing the x-values. Center: Center of the curve FWHM : Full width half maximum REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/flib_gauss.pro)
NAME: fLIB_ReadAffineTrans PURPOSE: Read an affine transformation matrix from disk. If opening fails an unit matrix is returned. CATEGORY: File I/O CALLING SEQUENCE: Affine = fLIB_ReadAffine(filename) INPUTS: Filename: The name of the scan. This is used to generate the name of the output file. OUTPUTS: Affine : A 12-parameter set from which an affine transformation matrix can be created: [tx,ty,tz, ax,ay,az, sx,sy,sy, a1,a2,a3] COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: 2001/03/22 Length of input vector corrected to 9 elements. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/flib_readaffinetrans.pro)
NAME: SEARCH3D PURPOSE: This function finds "objects" or regions of similar data values within a 3-D array of data. Given a starting location and a range of values to search for, SEARCH3D will find all the cells within the volume that are within the specified range of values, and have some path of connectivity through these cells to the starting location. In addition to searching for cells within a global range of data values, SEARCH3D can also search for adjacent cells whose values deviate from their neighbors within specified tolerances. See the procedure "SEARCH2D" for the two dimensional case. This function returns a list of the array subscripts that define the selected object or region. CATEGORY: Data subsetting. Volume manipulation. CALLING SEQUENCE: Region = SEARCH3D(Array, Xpos, Ypos, Zpos, Min_val, Max_val) INPUTS: Array: The 3-D volume of data to search. Data type : Any 3-D array except string or structure. Xpos: The X coordinate (first subscript into the 3-D Array) of the starting cell for the search. Data type : Long. Ypos: The Y coordinate (second subscript into the 3-D Array) of the starting cell for the search. Data type : Long. Zpos: The Z coordinate (third subscript into the 3-D Array) of the starting cell for the search. Data type : Long. Min_val: The minimum data value to search for. All cells that are connected to the starting cell, and have a value greater than or equal to Min_val and less that or equal to Max_val, will be considered part of the "object". Max_val: The maximum data value to search for. KEYWORD PARAMETERS: DECREASE: If the DECREASE or INCREASE keywords are specified, then SEARCH3D creates an internal copy of Array. This internal copy is then processed to enhance the object edges by using an algorithm similar to the "SOBEL" edge enhancement process (in 3-D). Any adjacent cells will be found if their corresponding data value in the edge enhanced array is greater than DECREASE and less than INCREASE. In any case, the adjacent cells will NEVER be selected if their data value is not between Min_val and Max_val. The default is 0.0 if INCREASE is specified. Otherwise, the default is no edge checking. Data type : Int or Float (usually less than zero). INCREASE: The maximum value in the edge enhanced array for a cell to be considered part of the selected object. Some savings in execution time and memory usage result when DECREASE and INCREASE are omitted. See DECREASE above. The default is 0.0 if DECREASE is specified. Otherwise, the default is no edge checking. Data type : Int or Float (usually greater than zero). LPF_BAND: This keyword indicates what (if any) Low Pass Filtering is performed on the edge enhanced array before the search begins. If LPF_BAND is set to 3 or higher then the edge enhanced array will be smoothed using LPF_BAND as the width of the smoothing window. If LPF_BAND is less than 3 then no smoothing is performed. This keyword only has effect when the DECREASE or INCREASE keywords are supplied. See DECREASE above. The default is zero (no smoothing). Data type : Int. DIAGONAL: Normally, cells are considered adjacent only when cubes surrounding the cells share a common face. If a non-zero value is passed to DIAGONAL then SEARCH3D will also locate cells meeting the search criteria whose surrounding cubes share a common edge or corner. Specifying diagonal search mode requires more memory and execution time. The default is no diagonal searching. Data type : int OUTPUTS: This function returns a list of the indices into the 3-D array that are part of the located object or region. This list is returned as a LONARR(n) where n is the number of cells found. If the returned array of indices is called Region, and the size of the 3-D volume of data is size_x by size_y by size_z, then the actual X, Y, and Z indices can be obtained by using the following algorithm : index_z = Region / (size_x * size_y) index_y = (Region - (index_z * size_x * size_y)) / size_x index_x = (Region - (index_z * size_x * size_y)) - (index_y * size_x) The object within the 3-D Array could then be subscripted as : Array(Region) OR Array(index_x, index_y, index_z) EXAMPLE: Find all the indices corresponding to an object contained in a 3-D volume of data. ; Create some data. vol = RANDOMU(s, 40, 40, 40) vol(3:13, 1:15, 17:33) = 1.3 vol(15:25, 5:25, 15:25) = 0.2 vol(5:30,17:38,7:28) = 1.3 vol(9:23, 16:27, 7:33) = 1.5 ; Search for an object starting at (6, 22, 16) whose data values ; are between (1.2) and (1.4).. Region = SEARCH3D(vol, 6, 22, 16, 1.2, 1.4, /DIAGONAL) ; Scale the background cells into the range 0 to 127. vol = BYTSCL(vol, TOP=127B) ; Highlight the object region by setting it to 255. vol(Region) = 255B ; Set up a 3-D view. Window, 0, Xsize=640, Ysize=512, Retain=2 Create_View, Xmax=39, Ymax=39, Zmax=39, ax=(-30), az=30, zoom=0.8 ; Display the volume with the highlighted object in it. TVSCL, PROJECT_VOL(vol, 64, 64, 40, Depth_Q=0.4) MODIFICATION HISTORY: Written by: Daniel Carr. Thu Sep 3 17:36:04 MDT 1992
(See /usr/people/ivm/rauscma1/programs/biomap/source/flib_search3d.pro)
NAME: PLIB_IMAGECONT PURPOSE: Overlay an image and a contour plot. CATEGORY: General graphics. CALLING SEQUENCE: PLIB_IMAGECONT, A, B INPUTS: A: The two-dimensional array to display as a contour B: The two-dimensional array to display as a image KEYWORD PARAMETERS: WINDOW_SCALE: Set this keyword to scale the window size to the image size. Otherwise, the image size is scaled to the window size. This keyword is ignored when outputting to devices with scalable pixels (e.g., PostScript). ASPECT: Set this keyword to retain the image's aspect ratio. Square pixels are assumed. If WINDOW_SCALE is set, the aspect ratio is automatically retained. INTERP: If this keyword is set, bilinear interpolation is used if the image is resized. OUTPUTS: No explicit outputs. COMMON BLOCKS: None. SIDE EFFECTS: The currently selected display is affected. RESTRICTIONS: None. PROCEDURE: If the device has scalable pixels, then the image is written over the plot window. MODIFICATION HISTORY: DMS, May, 1988.
(See /usr/people/ivm/rauscma1/programs/biomap/source/plib_imagecont.pro)
NAME: pLIB_ImagePlot PURPOSE: Overlay an image and a contour plot. CATEGORY: General graphics. CALLING SEQUENCE: IMAGE_CONT, A INPUTS: A: The two-dimensional array to display. KEYWORD PARAMETERS: WINDOW_SCALE: Set this keyword to scale the window size to the image size. Otherwise, the image size is scaled to the window size. This keyword is ignored when outputting to devices with scalable pixels (e.g., PostScript). ASPECT: Set this keyword to retain the image's aspect ratio. Square pixels are assumed. If WINDOW_SCALE is set, the aspect ratio is automatically retained. INTERPolate: If this keyword is set, bilinear interpolation is used if the image is resized. BACKGROUND: Background color Color: Color of text XRANGE: A two-element-vector, which defines the _Annotation_ on the x-axis. It does not affect the output of the image. POSITION: [x0, y0, x1, y1] OUTPUTS: No explicit outputs. COMMON BLOCKS: None. SIDE EFFECTS: The currently selected display is affected. RESTRICTIONS: None. PROCEDURE: If the device has scalable pixels, then the image is written over the plot window. MODIFICATION HISTORY: DMS, May, 1988.
(See /usr/people/ivm/rauscma1/programs/biomap/source/plib_imageplot.pro)
NAME: pLIB_MatrixSize PURPOSE: Obtain size, dimension and type from an array with maximum of 4 dimensions CATEGORY: Standard Library CALLING SEQUENCE: pLIB_MatrixSize, M, xs, ys, zs, n, dim = dim, type = type INPUTS: M: Matrix OPTIONAL INPUT PARAMETERS: xs, ys, zs, n KEYWORD PARAMETERS: Dim: Dimensionality of the scan Type: Type of the scan 0 Undefined 1 Byte 2 Integer 3 Longword integer 4 Floating point 5 Double-precision floating 6 Complex floating 7 String 8 Structure 9 Double-precision complex 10 Pointer 11 Object reference 12 Unsigned Integer 13 Unsigned Longword Integer 14 64-bit Integer 15 Unsigned 64-bit Integer OUTPUTS: None. COMMON BLOCKS: None. SIDE EFFECTS: None RESTRICTIONS: Dimensions larger then 4 are not considered PROCEDURE: MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/plib_matrixsize.pro)
NAME: PLIB_OPLOTERR PURPOSE: Overplot data points with accompanying error bars. CATEGORY: Plotting, 2-dimensional. CALLING SEQUENCE: PLIB_OPLOTERR, [ X ,] Y , Err [, Psym ], Color = Color INPUTS: Y: The array of Y values. Err: The array of error bar values. OPTIONAL INPUT PARAMETERS: X: An optional array of X values. The procedure checks whether or not the third parameter passed is a vector to decide if X was passed. If X is not passed, then INDGEN(N_ELEMENTS(Y)) is assumed for the X values. PSYM: The plotting symbol to use (default = +7). COMMON BLOCKS: None. SIDE EFFECTS: None. RESTRICTIONS: Arrays cannot be of type string. There must be enough points to plot. PROCEDURE: A plot of X versus Y with error bars drawn from Y - ERR to Y + ERR is written to the output device over any plot already there. MODIFICATION HISTORY: William Thompson Applied Research Corporation July, 1986 8201 Corporate Drive Landover, MD 20785 kdb, March, 1997 - Fixed a problem if 1 element arrays where used.
(See /usr/people/ivm/rauscma1/programs/biomap/source/plib_oploterr.pro)
NAME: pLIB_WriteAffine PURPOSE: Write a affine transformation matrix to disk CATEGORY: File I/O CALLING SEQUENCE: pLIB_WriteAffine, filename INPUTS: Filename: The name of the scan. This is used to generate the name of the output file. Affine : 4x4 affine transformation matrix, which can be created with fLIB_CreateAffine() OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: __________________________________ OUTPUTS: A file with the name.afn COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/plib_writeaffine.pro)
NAME: pLIB_WriteAffineTrans PURPOSE: Write a affine transformation matrix to disk CATEGORY: File I/O CALLING SEQUENCE: pLIB_WriteAffine, filename INPUTS: Filename: The name of the scan. This is used to generate the name of the output file. Affine : 12-parameter set to create an affine transformation OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: __________________________________ OUTPUTS: A file with the name.aft COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: 2000/02/13 Dialog for overwriting added, if keyword is selected. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/plib_writeaffinetrans.pro)
NAME: pLIB_WriteList.StructArray, Filename PURPOSE: Write data from a structure to a file. CATEGORY: LIB CALLING SEQUENCE: __________________________________ INPUTS: Array of structures KEYWORD PARAMETERS: __________________________________ COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/plib_writelist.pro)
NAME: fFTB_BaselineCorrection PURPOSE: Perform a baseline correction on a given vector of non-complex numbers. CATEGORY: Filter Tool Box CALLING SEQUENCE: Y = fFTB_BaselineCorrection(Y, BlCorr) INPUTS: Y : Vector of real numbers. BlCorr : Structure providing the parameters to be used. OUTPUTS: Array of baseline corrected values PROCEDURE: The baseline will be determined by a procedure (selected by the mode tag of the structure BlCorr, which can be created by the function fFTB_CreateBlCorrCls() Mode 1: The 1st derivative of Y is calculated. Each point, where the derivative is less then BlCorr.DerivThres is used as basepoint for interpolation. Mode11: This method uses the same approach as mode 1. Additionally, a potential basepoint is removed if the derivative exceeds BlCorr.DerivThres within an intervall given by BlCorr.MinFlatPoints. Mode12: Linear ramp going from the value at BlCorr.DisplayMin to the value at BlCorr.DisplayMax Mode13: Exactly as 1, but points are considered, for which the 1st derivative is larger than BlCorr.DerivThres, This mode can detect ramps. Mode 2: The 2nd derivative of Y is calculated. Each point, where the 2nd derivative is less then BlCorr.Deriv2Thres is used as basepoint for interpolation. Mode 3: This mode is a combination of Mode 1 and Mode 2. The second derivative of a valid point must be larger than a given threshold (maximums of peaks have to be excluded) and the absolute value of the first derivative must be less than a given threshold. Additionally, the minimum distance of two basepoints is BlCorr.MinRasterDistance $ and points which are too near will be removed. Finally, points will be inserted for interpolation if the distance between two points is too large, as defined by BlCorr.MaxRasterDistance (if MaxRasterDistance not equal 0). Below an example is for a typical parameter setting is shown: MODE = 3 ACTIVE = 0 LOWPASS = 0.00200000 DERIVTHRES = 0.0200000 DERIV2THRES = 0.00200000 MINFLATPOINTS = 5 MAXRASTERDISTANCE = 0 DISPLAYFLAG = 0 DISPLAYMIN = 0 DISPLAYMAX = 9517 OFFSET = 0 The baseline detection creates a vector of pairs of (x1, y1). The baseline will be interpolated at these points. MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fftb_baselinecorrection.pro)
NAME: fFTB_Close PURPOSE: Performs a morphological closing operation on a set of images. Morphological closing is performed on each slice seperately. CATEGORY: FTB CALLING SEQUENCE: Y = fFTB_Close(Image, [/Gray]) INPUTS: An image data with up to 4 dimensions. The first two dimensions are expected to encode the slice. KEYWORD PARAMETERS: Gray: Perform closing on a gray scale image SrtuctSize: Size of the area, which will "closed". The default is three. Status: Set this keyword to a named variable that will contain -1 or 1 dependent on the success of the operation. OUTPUTS: Array of the same dimension as the input data. COMMON BLOCKS: None. MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fftb_close.pro)
NAME: fFTB_Convol PURPOSE: Apply a digital filter to a 1-dimensional array. The filter is a structure defined by fFTB_CreateFilter(). The input array and the filter kernel are convolved using the built in function. If the filter is not defined, then the signal is returned. CATEGORY: Filter Tool Box CALLING SEQUENCE: Y = fFTB_Convol(X, Filter, Status) INPUTS: X : A 1-dimensional array Filter : structure containing the information about the filter defined by fFTB_CreateFilter() OPTIONAL INPUT PARAMETERS: Status : Exit status of the function (1 = success, -1 = error) KEYWORD PARAMETERS: None OUTPUTS: Filtered arry COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fftb_convol.pro)
NAME: fFTB_CreateFilter PURPOSE: Create a structur, which defines a digital filter CATEGORY: Signal processing CALLING SEQUENCE: sFilter = fFTB_CreateFilter() INPUTS: None. OPTIONAL INPUT PARAMETERS: None. KEYWORD PARAMETERS: Type: Defines the method used for filtering; 1 means fft-type, 0 means convol-type fLOW: Lowest frequency, which will pass the filter fHigh: Highest frequency, which will pass the filter active: The filter can be made active by setting this keyword to 1 fSize: The size of the filter kernel. Only applicable to filters of convol-type. Res: Relative resolution of the image to be filtered. Res is an array containing three elements. For 2D-inplane isotropic filtering it is [1,1,0] For 2D-inplane anisotropic filtering it is [res_x,res_y,0] / max ([res_x,res_y,0]) For 3D-filtering it is [res_x,res_y,res_z] / max([res_x,res_y,res_z]) OUTPUTS: Structure, containing the filter parameters. COMMON BLOCKS: None. SIDE EFFECTS: None RESTRICTIONS: None. MODIFICATION HISTORY: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fftb_createfilter.pro)
NAME: fASL_AddSuffix PURPOSE: Add a suffix the the filename of a scan. CATEGORY: ASL CALLING SEQUENCE: Y = fASL_AddSuffix(Filename, Suffix) INPUTS: Filename: Filename of the scan (e.g. MDIO.ScanFilename) Suffix: The Suffix to be added (e.g. _dtr.img). The extension ".img" will be added if not supplied. OUTPUTS: The new filename
(See /usr/people/ivm/rauscma1/programs/biomap/source/fasl_addsuffix.pro)
NAME: fASL_CheckResultSubject PURPOSE: Check if a folder with the name "Result" exists for a data set, which was stored under the name "Filename". The filename must be conform to the folder structure of BioMAP's ANALYZE+-database. The "Result"-Subject can be created and used for specific projects as a container for results from multi-subject-analysis. CATEGORY: ASL CALLING SEQUENCE: Y = fASL_CheckResultSubject(Filename) INPUTS: Filename: Filename of a MDIO, which was already stored in the database. KEYWORD PARAMETERS: Create: Create the folder, in case that it does not exist. ResultFolder: On exit, this variable will contain the name of the result folder. OUTPUTS: The function will return 1, if the folder exists or was created and -1, if it does not exist or if the filename was not valid. MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fasl_checkresultsubject.pro)
NAME: fASL_GetLabel PURPOSE: Extract the basic scan name of the filename of a MDIO. CATEGORY: ASL CALLING SEQUENCE: Y = fASL_GetLabel(ScanFilename) INPUTS: ScanFilename: String containing the name of the img-file. OUTPUTS: Scanfilename without path, suffix or index MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fasl_getlabel.pro)
NAME: fASL_ReadAnalyze_ui PURPOSE: Provide a file dialog box and load an ANALYZE volume from disk. CATEGORY: __________________________________ CALLING SEQUENCE: __________________________________ INPUTS: __________________________________ OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: __________________________________ OUTPUTS: __________________________________ COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: 2001/02/16 The dialog box appears centered on the brainmap window. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fasl_readanalyze_ui.pro)
NAME: fASL_CreateSubject PURPOSE: Create folder for a new subject. CATEGORY: ASL CALLING SEQUENCE: pASL_CreateSubject, ProjectName, [FolderName] INPUTS: FolderName: If ommited a name will be generate from the system time. KEYWORD PARAMETERS: Folderpath: On exit, this variable will contain the name of the result folder. MODIFICATION HISTORY: __________________________________ REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/pasl_createsubject.pro)
NAME: pASL_DataManager PURPOSE: Load, store and manager all data sets and associated data. CATEGORY: ASL CALLING SEQUENCE: pASL_DataManager, RootFolder INPUTS: RootFolder: Name of folder, which contains project folders COMMON BLOCKS: None. MODIFICATION HISTORY: 2001/02/14 After saving, the source-field of the MDIO is set to ANALYZE. This will indicate that the scan now a copy of the scan exists in ANALYZE format, which allows further processing. 2001/03/23 A check for session and project definition is performed before saving
(See /usr/people/ivm/rauscma1/programs/biomap/source/pasl_datamanager.pro)
NAME: pASL_ReadDat PURPOSE: Read a dat-file, which is associated to an ANALYZE-scan from disk. CATEGORY: ASL CALLING SEQUENCE: pASL_ReadDat, Filename, Header, verbose = Verbose, KeepSuffix = KeepSuffix, Status = Status INPUTS: __________________________________ OPTIONAL INPUT PARAMETERS: __________________________________ KEYWORD PARAMETERS: __________________________________ OUTPUTS: __________________________________ COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: if Vox(2) is 0 then it is set to 1.0 mm, in order to allow overlaying. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/pasl_readdat.pro)
NAME: pASL_WriteAnalyze PURPOSE: Write a volume or a series of volumes (a scan) to a file. CATEGORY: ASL CALLING SEQUENCE: pASL_WriteAnalyze, MyFilename, MDIO INPUTS: Filename: Name of the file (including the suffix, e.g. .img) MDIO : Scan to written do file KEYWORD PARAMETERS: VE: Store images in ANALYZE VE format. In this case the whole scan in written to one file. Force: Overwrite files without query. Access: Set the write access flags: "u": Only the owner can modify the data set "g": The group and the owner can modify the data set "o": Every one can modify the data set These flags can only be set to "no access" manually. Status: Returns the status of the function on exit (-1=failed, 1=ok) MODIFICATION HISTORY: 2001/02/19 Writing long (type 8) volumes implemented. 2001/02/27 Error handler implemented. 2001/03/02 Affine transformation parameters are always written to disk. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/pasl_writeanalyze.pro)
NAME: fPWI_BloodVolumeChange PURPOSE: Calculate the percent blood volume change of a CTC from a pre contrast scan, a post contrast scan and the CTC time series. This function is usefull to analyze functional imaging data, where USPIO or SPIO were infused before the experiment to visualize functional activation. CATEGORY: Perfusion analysis CALLING SEQUENCE: Y = fPWI_BloodVolumeChange(PreScan, PostScan, CTC) INPUTS: PreScan: MDIO of size (xs,ys,zs,1) PostScan: MDIO of size (xs,ys,zs,1) CTC: MDIO of size (xs,ys,zs,n) OPTIONAL INPUT PARAMETERS: None. KEYWORD PARAMETERS: Range: Voxel values of the PostScan to be included into analysis. Atten: On exit, this keyword contains the attenuation map, which was calculated from the pre- and post-contrast scans. Status: Status of the calculation (-1: error; 1: success) OUTPUTS: MDIO, containing the result of the calculation. If the calculation has failed, -1 is returned. COMMON BLOCKS: None. SIDE EFFECTS: None. RESTRICTIONS: None. MODIFICATION HISTORY: 2000/02/14 Function created. 2000/02/15 Status keyword and input checks added. REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fpwi_bloodvolumechange.pro)
NAME: fPWI_CTC PURPOSE: Calculate the concentration time curve from dynamic imaging data. The raw data can be a T1- or T2 weighted scan and must be defined by the keyword Contrast. If this keyword is not provided, T2/T2*-weighting is used as default. CATEGORY: PWI CALLING SEQUENCE: Y = fPWI_CTC(MDIO, Threshold, n1, n2, last) INPUTS: MDIO : Scan containing the raw data. Threshold: Minimum voxel value, for which the CTC will be calculated. The threshold will be applied to the mean of the baseline-volumes. In addition, only those voxels will be considered, were there is at least one volume with signal exceeds 10% of the threshold. N1: First Baseline volume. Volumes before N1 will be disregarded (e.g. signal not in steady state). N2: Last baseline volume. Last: Last volume to be included into analysis. KEYWORD PARAMETERS: SpatialFilter : Spatial filter of the form created by fFTB_CreateFilter() TemporalFilter: Spatial filter of the form created by fFTB_CreateFilter() Contrast: 0: For T2- or T2*-weighted scans using the relation -ln(S/Baseline) 1: For T1-weighted scans using the 1st order approximation S / Baseline -1. OUTPUTS: Array of the form (xs,ys,zs,n) containing the result of the analysis. MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fpwi_ctc.pro)
NAME: fPWI_gpdf_atd PURPOSE: Return a Gamma-Probability-Density function, defined by three parameters CATEGORY: Functions for PWI and fMRI CALLING SEQUENCE: Y = fPWI_GpDF_atd(t, AM, PT, SH) INPUTS: t: Time for which the function should be calculated. Can be a scalar or an array AM: Amplitude PT: Peak time SH: Sharpness OPTIONAL INPUT PARAMETERS: None. KEYWORD PARAMETERS: None. OUTPUTS: The value calculated by the function COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: The parameter a discribes somehow the dispersion of the curve. Small values indicate large width and vice versa. Beside that the dispersion depends on the center of the peak m. For larger m the dispersion increases slightly. MODIFICATION HISTORY: REQUIREMENTS & BUGS SRK
(See /usr/people/ivm/rauscma1/programs/biomap/source/fpwi_gpdf_atd.pro)
NAME: fPWI_Map PURPOSE: Calculate basic parametric maps from dynamic imaging data using contrast agent. CATEGORY: PWI CALLING SEQUENCE: Y = fPWI_Map(MDIO, N1, N2, TE, Threshold) INPUTS: MDIO: Scan to be processed. N1: First Baseline volume. Volumes before N1 will be disregarded (e.g. signal not in steady state). N2: Last baseline volume. TE: Array of echo times. Echo time must be specified for each individual slice. Its length must be equal to the number of slices. Threshold: Minimum voxel value, for which the CTC will be calculated. The threshold will be applied to the mean of the baseline-volumes. In addition, only those voxels will be considered, were there is at least one volume with signal exceeds 10% of the threshold. KEYWORD PARAMETERS: The following keywords spcify the type of map, which will be calculated. CTC: concentration-time-curve. It can be either calculated from T2- or T2*-weighted scan or from a T1-weighted scan. Note: If the scan is T2/T2*-weighted a scaling factor of 100/TE will be applied. CBV: CBV (integral between N2 and Last. TTP: Time to peak. CPeak: Peak concentration. MSD: Maximum signal drop. MTT: Mean transit time (calculated from the first moment of the CTC; N2 is taken as t=0) Other keywords: Last: Last volume to be considered for analysis. Contrast: T2 or T2* weighting = 0 (default) T1 weighting = 1 VAT: Volume acquisition time. This parameter is used when calculating time related parameter maps (e.g. TTP). If VAT is not defined, 1 sec is used as default. OUTPUTS: MDIO, containing the calculated map MODIFICATION HISTORY: 2001/02/20 Function bm_pwi renamed to fPWI_Map; Keyword "CMT1" defined. 2002/12/06 Keyword VAT implemented. REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fpwi_map.pro)
NAME: fSTAT_SampleSize PURPOSE: Calculate the number of samples required to achieve the desired sensitivity. The relation calculates the group size with respect to a two-sided test. CATEGORY: STAT CALLING SEQUENCE: N = fSTAT_SampleSize(ExpDiffMeans, ExpStdev, Power, Alpha) INPUTS: ExpDiffMeans: Expected difference in means. This is the difference, which should be detected. ExpStdev: Expected standard deviation Power: The power, which is a value between 0 and 1. The power reflects the sensitivity of the test, which is not to miss a true difference in the means of the group. Alpha: Probability to reject H_0, although it is true. OUTPUTS: Group size MODIFICATION HISTORY: Last Modification: REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fstat_samplesize.pro)
NAME: fSTAT_SolveGlm PURPOSE: Calculate parameter estimates for factors described by a design matrix according to the "General Linear Model". If no input was provided test data will be used to validate the calculations. Note: Results of the example should be according to the software STATGRAPHICS: Number of factors : 3 Number of samples : 8 Degrees of freedom : 5 Parameter estimates: [6335.51, -23.7486, 150.306] Standard error for b's: [2942.95, 12.8955, 112.070] t-value for b's: [2.15277, -1.84161, 1.34117] CATEGORY: STAT CALLING SEQUENCE: Result = fSTAT_SolveGLM(X, Y) INPUTS: X: 2-dimensional design matrix of the form (Number of samples, Number of factors) Y: 1-dimensional matrix containing the measurements KEYWORD PARAMETERS: P: Projection matrix. These allow to make inferences about the differences between several factors. The number of elements along the first index must be equal to the number of factors. The second index corresponds to the number of projections to be calculated. KeepData: Calculations performed on X are stored in a common block. If this keyword is set this calculations will not be performed again but data is taken from the common block. This helps to save computation time if large design matrices have to be processed. Verbose: Print the result of the calculation OUTPUTS: Structure containing the results: NFactors: Number of factors NSamples: Number of samples Estimate: Parameter estimates SError : Standard error for every estimate t : T-value for every estimate tp : T-value for linear combinations of factors (projections) MODIFICATION HISTORY: Last Modification: 23.10.2002 REQUIREMENTS & BUGS
(See /usr/people/ivm/rauscma1/programs/biomap/source/fstat_solveglm.pro)
NAME: fWID_GetValues PURPOSE: Create a widget, which provides basic input fields. Additionally, an info field can be created and a window or device for output can be selected. The input fields can contain either strings or numbers. But types can't be mixed. If no type is specified, input fields will contain integers. CATEGORY: Widget CALLING SEQUENCE: Y = fWID_GetValues(VarNames, InitialValues, string = string, Int = Int, Status = Status, $ Title = Title, Info = Info, Device = Device, Reference = Reference INPUTS: VarNames : String array containing the names of the input fields OPTIONAL INPUT PARAMETERS: InitialValues : Array of same length as VarNames, which contains the initial values KEYWORD PARAMETERS: Int : Values are interpreted as integers Float : Values are interpreted as floats String : Values are interpreted as strings Title : String containing the title to be displayd Info : String to be displayed at the bottom of the widget Device : The variable (must be non-zero) contains the selected device on exit. -1 : File; 0,...,NWindows: Window device OUTPUTS: Array containing the new values of the input fields. COMMON BLOCKS: None. SIDE EFFECTS: __________________________________ RESTRICTIONS: __________________________________ PROCEDURE: __________________________________ MODIFICATION HISTORY: 2002/12/11 Parameters xoffset and yoffset removed. Floating-keyword applied if group_leader is defined. REQUIREMENTS & BUGS SRK ______________________________
(See /usr/people/ivm/rauscma1/programs/biomap/source/fwid_getvalues.pro)
NAME: FWID_INPUT PURPOSE: This widget cluster function manages a data entry field widget. The field consists of a label and a text widget. FLIB_XINPUT's can be string fields, integer fields or floating-point fields. The default is an editable string field. CATEGORY: Widget Clusters. CALLING SEQUENCE: Result = FLIB_INPUT(Parent) INPUTS: Parent: The widget ID of the widget to be the field's parent. KEYWORD PARAMETERS: TITLE: A string containing the text to be used as the label for the field. The default is "Input Field:". VALUE: The initial value in the text widget. This value is automatically converted to the type set by the STRING, INTEGER, and FLOATING keywords described below. UVALUE: A user value to assign to the field cluster. This value can be of any type. FRAME: The width, in pixels, of a frame to be drawn around the entire field cluster. The default is no frame. RETURN_EVENTS: Set this keyword to make cluster return an event when ais pressed in a text field. The default is not to return events. Note that the value of the text field is always returned when the WIDGET_CONTROL, field, GET_VALUE=X command is used. ALL_EVENTS: Like RETURN_EVENTS but return an event whenever the contents of a text field have changed. COLUMN: Set this keyword to center the label above the text field. The default is to position the label to the left of the text field. ROW: Set this keyword to position the label to the left of the text field. This is the default. XSIZE: An explicit horizontal size (in characters) for the text input area. The default is to let the window manager size the widget. Using the XSIZE keyword is not recommended. YSIZE: An explicit vertical size (in lines) for the text input area. The default is 1. STRING: Set this keyword to have the field accept only string values. Numbers entered in the field are converted to their string equivalents. This is the default. FLOATING: Set this keyword to have the field accept only floating-point values. Any number or string entered is converted to its floating-point equivalent. INTEGER: Set this keyword to have the field accept only integer values. Any number or string entered is converted to its integer equivalent (using FIX). For example, if 12.5 is entered in this type of field, it is converted to 12. LONG: Set this keyword to have the field accept only long integer values. Any number or string entered is converted to its long integer equivalent (using LONG). FONT: A string containing the name of the X Windows font to use for the TITLE of the field. FIELDFONT: A string containing the name of the X Windows font to use for the TEXT part of the field. NOEDIT: Normally, the value in the text field can be edited. Set this keyword to make the field non-editable. OUTPUTS: This function returns the widget ID of the newly-created cluster. COMMON BLOCKS: None. PROCEDURE: Create the widgets, set up the appropriate event handlers, and return the widget ID of the newly-created cluster. EXAMPLE: The code below creates a main base with a field cluster attached to it. The cluster accepts string input, has the title "Name:", and has a frame around it: base = WIDGET_BASE() field = FLIB_XINPUT(base, TITLE="Name:", /FRAME) WIDGET_CONTROL, base, /REALIZE MODIFICATION HISTORY: Written by: Keith R. Crosley June 1992 KRC, January 1993 -- Added support for LONG integers. AB, 7 April 1993, Removed state caching. JWG, August 1993, Completely rewritten to make use of improved TEXT widget functionality ACY, 25 March, 1994, fix usage of FRAME keyword KDB, May 1994, Initial value =0 would result in a null text field. Fixed keyword check.
(See /usr/people/ivm/rauscma1/programs/biomap/source/fwid_input.pro)
NAME: fWID_Editvalues PURPOSE: Create a widget, which provides basic input fields. Additionally, an info field can be created and a window or device for output can be selected. The input fields can contain either strings or numbers. But types can't be mixed. If no type is specified, input fields will contain integers. CATEGORY: Widget CALLING SEQUENCE: Y = fWID_Editvalues(VarNames, InitialValues, string = string, Int = Int, Status = Status, $ Title = Title, Info = Info, Device = Device, Reference = Reference INPUTS: VarNames : String array containing the names of the input fields OPTIONAL INPUT PARAMETERS: InitialValues : Array of same length as VarNames, which contains the initial values KEYWORD PARAMETERS: Int : Values are interpreted as integers Float : Values are interpreted as floats String : Values are interpreted as strings Title : String containing the title to be displayd Info : String to be displayed at the bottom of the widget Device : The variable (must be non-zero) contains the selected device on exit. -1 : File; 0,...,NWindows: Window device OUTPUTS: Array containing the new values of the input fields. COMMON BLOCKS: None.
(See /usr/people/ivm/rauscma1/programs/biomap/source/pwid_editvalues.pro)