Skip to content

Commit 30087b9

Browse files
committed
fix endpoints
1 parent b4aaa73 commit 30087b9

2 files changed

Lines changed: 39 additions & 6 deletions

File tree

native/ThermoNativeReader/NativeApi.cs

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,40 @@ public static unsafe int GetMs1ScanNumberFromRt(long arg0, double arg1)
551551
}
552552

553553
[UnmanagedCallersOnly(EntryPoint = "get_chromatogram")]
554-
public static unsafe int GetChromatogram(long arg0, int arg1, byte* arg2, double* arg3, double* arg4, int arg5, int arg6, int arg7, double* arg8, double* arg9, int arg10) { return RunOnWorker(() => { if (!_openFiles.TryGetValue(arg0, out var f)) return 0; try { return 0; } catch { return 0; } }); }
554+
public static unsafe int GetChromatogram(long arg0, int arg1, byte* arg2, double* arg3, double* arg4, int arg5, int arg6, int arg7, double* arg8, double* arg9, int arg10)
555+
{
556+
return RunOnWorker(() => {
557+
if (!_openFiles.TryGetValue(arg0, out var f)) return 0;
558+
try {
559+
string filter = Marshal.PtrToStringAnsi((IntPtr)arg2) ?? "";
560+
var settings = new ChromatogramTraceSettings((TraceType)arg1) { Filter = filter };
561+
562+
if (arg5 > 0)
563+
{
564+
settings.MassRangeCount = arg5;
565+
for (int i = 0; i < arg5; i++)
566+
{
567+
settings.SetMassRange(i, new Range(arg3[i], arg4[i]));
568+
}
569+
}
570+
571+
var data = f.GetChromatogramData(new[] { settings }, arg6, arg7);
572+
573+
if (data == null || data.PositionsArray == null || data.PositionsArray.Length == 0)
574+
{
575+
return 0;
576+
}
577+
578+
int count = Math.Min(data.PositionsArray[0].Length, arg10);
579+
for (int i = 0; i < count; i++)
580+
{
581+
arg8[i] = data.PositionsArray[0][i];
582+
arg9[i] = data.IntensitiesArray[0][i];
583+
}
584+
return count;
585+
} catch { return 0; }
586+
});
587+
}
555588

556589
[UnmanagedCallersOnly(EntryPoint = "get_filters")]
557590
public static unsafe int GetFilters(long arg0, byte* arg1, int arg2) { return RunOnWorker(() => { if (!_openFiles.TryGetValue(arg0, out var f)) return 0; try { return 0; } catch { return 0; } }); }

native_fisher_py/python/native_fisher_py/raw_file.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -367,10 +367,10 @@ def get_scan_ms1(self, scan_number: int):
367367

368368
def get_scan_ms2(self, *args):
369369
if len(args) == 1:
370-
return self.get_scan_from_scan_number(self._handle, args[0])
370+
return self.get_scan_from_scan_number(args[0])
371371
elif len(args) >= 2:
372-
scan, _ = self.get_ms2_scan_number_from_retention_time(self._handle, args[0], args[1])
373-
return self.get_scan_from_scan_number(self._handle, scan)
372+
scan, _ = self.get_ms2_scan_number_from_retention_time(args[0], args[1])
373+
return self.get_scan_from_scan_number(scan)
374374
return np.array([]), np.array([]), np.array([]), ""
375375

376376
def get_tic_ms2(self):
@@ -394,9 +394,9 @@ def get_precursor_mz(self, scan_number: int) -> float:
394394

395395
def get_scan_from_scan_number(self, scan_number: int):
396396
# Use get_centroid_stream to match behavior for parity
397-
masses, intensities = get_centroid_stream(self._handle, scan_number, 1000000)
397+
masses, intensities, _, _, _, _, _ = get_centroid_stream(self._handle, scan_number, 1000000)
398398
charges = np.zeros_like(masses)
399-
event_str = self.get_scan_event_string_for_scan_number(self._handle, scan_number)
399+
event_str = self.get_scan_event_string_for_scan_number(scan_number)
400400
return np.array(masses), np.array(intensities), charges, event_str
401401

402402
def get_scan_number_from_retention_time(self, rt: float) -> int:

0 commit comments

Comments
 (0)