Thanks. You can send it to my email account.
On Apr 21, 8:01 pm, DD <[email protected]> wrote:
> Let me know where to drop zipped file. In the interim;
>
> GetChroData
>
> long GetChroData(long nChroType1, long nChroOperator, long nChroType2,
> LPCTSTR szFilter, LPCTSTR szMassRanges1, LPCTSTR szMassRanges2, double
> dDelay, double FAR* pdStartTime, double FAR* pdEndTime, long
> nSmoothingType, long nSmoothingValue, VARIANT FAR* pvarChroData,
> VARIANT FAR* pvarPeakFlags, long FAR* pnArraySize);
>
> Return Value
>
> 1 if successful; otherwise, see Error Codes.
>
> Parameters
>
> nChroType1 A long variable containing the first chromatogram trace
> type of interest.
>
> nChroOperator A long variable containing the chromatogram trace
> operator.
>
> nChroType2 A long variable containing the second chromatogram trace
> type of interest.
>
> szFilter A string containing the formatted scan filter.
>
> szMassRanges1 A string containing the formatted mass ranges for the
> first chromatogram trace type.
>
> szMassRanges2 A string containing the formatted mass ranges for the
> second chromatogram trace type.
>
> dDelay A double precision variable containing the chromatogram delay
> in minutes.
>
> pdStartTime A pointer to a double precision variable containing the
> start time of the chromatogram time range to return.
>
> pdEndTime A pointer to a double precision variable containing the end
> time of the chromatogram time range to return.
>
> nSmoothingType A long variable containing the type of chromatogram
> smoothing to be performed.
>
> nSmoothingValue A long variable containing the chromatogram smoothing
> value.
>
> pvarChroData A valid pointer to a VARIANT variable to receive the
> chromatogram data.
>
> pvarPeakFlags A valid pointer to a VARIANT variable to receive the
> peak flag data.
>
> pnArraySize A valid pointer to a long variable to receive the number
> of data peaks returned in the chromatogram array.
>
> pnArraySize A pointer to a long variable to receive the size of the
> returned chromatogram array.
>
> Remarks
>
> Returns the requested chromatogram data as an array of double
> precision time intensity pairs in pvarChroData. The number of time
> intensity pairs is returned in pnArraySize.
>
> The chromatogram trace types and operator values of nChroType1,
> nChroOperator, and nChroType2 are dependent on the current controller.
> See Chromatogram Type and Chromatogram Operator in the Enumerated
> Types section for a list of the valid values for the different
> controller types.
>
> The scan filter field is only valid for MS controllers. If no scan
> filter is to be provided, the value of szFilter may be NULL or an
> empty string. Scan filters must match the Xcalibur scan filter format.
> See the topic scan filters format, definition in the Xcalibur online
> help for information on how to construct a scan filter.
>
> The dDelay value contains the retention time offset to add to the
> returned chromatogram times. The value may be set to 0.0 if no offset
> is desired. This value must be 0.0 for MS controllers. It must be
> greater than or equal to 0.0 for all other controller types.
>
> The mass ranges are only valid for MS or PDA controllers. For all
> other controller types, these fields must be NULL or empty strings.
> For MS controllers, the mass ranges must be correctly formatted mass
> ranges and are only valid for Mass Range and Base Peak chromatogram
> trace types. For PDA controllers, the mass ranges must be correctly
> formatted wavelength ranges and are only valid for Wavelength Range
> and Spectrum Maximum chromatogram trace types. These values may be
> left empty for Base Peak or Spectrum Maximum trace types but must be
> specified for Mass Range or Wavelength Range trace types. See the
> topic Mass1 (m/z) text box in the Xcalibur online help for information
> on how to format mass ranges.
>
> The start and end times, pdStartTime and pdEndTime, may be used to
> return a portion of the chromatogram. The start time and end time must
> be within the acquisition time range of the current controller which
> may be obtained by calling GetStartTime and GetEndTime, respectively.
> Alternatively, if the entire chromatogram is to be returned,
> pdStartTime and pdEndTime may be set to zero. On return, pdStartTime
> and pdEndTime will contain the actual time range of the returned
> chromatographic data.
>
> The nSmoothingType variable contains the type of smoothing to perform
> on the returned chromatographic data. See Smoothing Type in the
> Enumerated Types section for a list of the valid values for
> nSmoothingType. The value of nSmoothingValue must be an odd number in
> the range of 3 15 if smoothing is desired.
>
> The chromatogram list contents will be returned in a SafeArray
> attached to the pvarChroData VARIANT variable. When passed in, the
> pvarChroData variable must exist and be initialized to VARIANT type
> VT_EMPTY. If the function returns successfully, pvarChroData will be
> set to type VT_ARRAY | VT_R8. The format of the chromatogram list
> returned will be an array of double precision values in time intensity
> pairs in ascending time order (e.g. time 1, intensity 1, time 2,
> intensity 2, time 3, intensity 3, etc.)
>
> The pvarPeakFlags variable is currently not used. This variable is
> reserved to future use to return flag information, such as saturation,
> about each time intensity pair.
>
> On successful return, pnArraySize will contain the number of time
> intensity pairs stored in the pvarChroData array.
>
> Example
>
> // example for GetChroData to return the MS TIC trace
>
> typedef struct _datapeak
> {
> double dTime;
> double dIntensity;
>
> } ChroDataPeak;
>
> XRawfileCtrl.SetCurrentController ( 0, 1 ); // first MS controller
>
> VARIANT varChroData;
> VariantInit(&varChroData);
> VARIANT varPeakFlags;
> VariantInit(&varPeakFlags);
> long nArraySize = 0;
> double dStartTime = 0.0;
> double dEndTime = 0.0;
> long nRet = XRawfileCtrl.GetChroData ( 1, // TIC trace
> 0,
> 0,
> NULL,
> NULL,
> NULL,
> 0.0,
> &dStartTime,
> &dEndTime,
> 0,
> 0,
> &varChroData,
> &varPeakFlags,
> &nArraySize );
>
> if( nRet != 1 )
> {
> ::MessageBox( NULL, _T(“Error getting chro data.”), _T(“Error”),
> MB_OK );
> …
>
> }
>
> if( nArraySize )
> {
> // Get a pointer to the SafeArray
> SAFEARRAY FAR* psa = varChroData.parray;
>
> ChroDataPeak* pDataPeaks = NULL;
> SafeArrayAccessData( psa, (void**)(&pDataPeaks) );
>
> for( long j=0; j<nArraySize; j++ )
> {
> double dTime = pDataPeaks[j].dTime;
> double dIntensity = pDataPeaks[j].dIntensity;
>
> // Do something with time intensity values
> …
> }
>
> // Release the data handle
> SafeArrayUnaccessData( psa );
>
> }
>
> if(varChroData.vt != VT_EMPTY )
> {
> SAFEARRAY FAR* psa = varChroData.parray;
> varChroData.parray = NULL;
>
> // Delete the SafeArray
> SafeArrayDestroy( psa );
>
> }
>
> if(varPeakFlags.vt != VT_EMPTY )
> {
> SAFEARRAY FAR* psa = varPeakFlags.parray;
> varPeakFlags.parray = NULL;
>
> // Delete the SafeArray
> SafeArrayDestroy( psa );
>
> }
>
> On Apr 21, 7:51 am, brennmat <[email protected]> wrote:
>
> > Thanks. I tried to look at pages 153-156 of XRawfile OCX.doc, but the
> > file has only 143 pages (I have XCalibur 1.4).
>
> > Matthias
>
> > On Apr 20, 5:51 pm, DD <[email protected]> wrote:
>
> > > b)C:\Xcalibur\system\programs\XRawfile OCX.doc p. 153-156 is what you
> > > want if you are going to go the activeX route. Looks like pwiz has
> > > this stuff covered but it may help end users to have access to it.- Hide
> > > quoted text -
>
> > - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"spctools-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/spctools-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---