--- /dev/null
+#define PERL_NO_GET_CONTEXT
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+#include "ppport.h"
+#ifdef __cplusplus
+}
+#endif
+
+#include "../../cpp/analysis.hpp"
+
+MODULE = Analysis PACKAGE = Analysis
+
+
+
+void
+mimosis_make_fit(file,offset,slopex,stepSize,maxPulse)
+ char* file
+ float offset
+ float slopex
+ int stepSize
+ int maxPulse
+ CODE:
+ analysis::make_fit(file, offset, slopex, stepSize, maxPulse);
+
+
+
+void
+mimosis_make_quick_fit(file,offset,slopex,stepSize,maxPulse,start,end)
+ char* file
+ float offset
+ float slopex
+ int stepSize
+ int maxPulse
+ int start
+ int end
+ CODE:
+ analysis::make_quick_fit(file, offset, slopex, stepSize, maxPulse, start, end);
+
+
+
+void
+mimosis_pixel_dump(fpga, frameLimit, src)
+ int fpga
+ int frameLimit
+ char* src
+ CODE:
+ analysis::pixel_dump(fpga, frameLimit, src);
+
+void
+mimosis_find_noisy_pixels(file, frameLimit, noiseLimit)
+ char* file
+ int frameLimit
+ float noiseLimit
+ CODE:
+ analysis::find_noisy_pixels(file, frameLimit, noiseLimit);
+
+
+void
+mimosis_plot_dead_pixels(matA, matB, matC, matD)
+ char* matA
+ char* matB
+ char* matC
+ char* matD
+ CODE:
+ analysis::plot_dead_pixels(matA, matB, matC, matD);
--- /dev/null
+use 5.026001;
+use ExtUtils::MakeMaker;
+# See lib/ExtUtils/MakeMaker.pm for details of how to influence
+# the contents of the Makefile that is written.
+WriteMakefile(
+ NAME => 'Analysis',
+ VERSION_FROM => 'lib/Analysis.pm', # finds $VERSION, requires EU::MM from perl >= 5.5
+ PREREQ_PM => {}, # e.g., Module::Name => 1.1
+ ABSTRACT_FROM => 'lib/Analysis.pm', # retrieve abstract from module
+ AUTHOR => 'maps <maps@(none)>',
+ #LICENSE => 'perl',
+ #Value must be from legacy list of licenses here
+ #http://search.cpan.org/perldoc?Module%3A%3ABuild%3A%3AAPI
+ LIBS => ['-L../../cpp/build -lanalysis'],
+ DEFINE => '', # e.g., '-DHAVE_SOMETHING'
+ INC => '-I.', # e.g., '-I. -I/usr/include/other'
+ CC => 'g++',
+ LD => 'g++',
+ # Un-comment this if you add C files to link with later:
+ # OBJECT => '$(O_FILES)', # link all the C files too
+);
--- /dev/null
+package Analysis;
+
+use 5.026001;
+use strict;
+use warnings;
+
+require Exporter;
+
+our @ISA = qw(Exporter);
+
+# Items to export into callers namespace by default. Note: do not export
+# names by default without a very good reason. Use EXPORT_OK instead.
+# Do not simply export all your public functions/methods/constants.
+
+# This allows declaration use Analysis ':all';
+# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
+# will save memory.
+our %EXPORT_TAGS = ( 'all' => [ qw(
+
+) ] );
+
+our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
+
+our @EXPORT = qw(
+
+);
+
+our $VERSION = '0.01';
+
+require XSLoader;
+XSLoader::load('Analysis', $VERSION);
+
+sub mimosis_make_fit {
+
+ my (
+ $file,
+ $offset,
+ $slopex,
+ $stepsize,
+ $maxPulse,
+ ) = @_;
+
+ analysis::make_fit( $file, $offset, $slopex, $stepsize, $maxPulse );
+
+};
+
+sub mimosis_make_quick_fit {
+
+ my (
+ $file,
+ $offset,
+ $slopex,
+ $stepsize,
+ $maxPulse,
+ $start,
+ $end,
+ ) = @_;
+
+ analysis::make_quick_fit( $file, $offset, $slopex, $stepsize, $maxPulse, $start, $end );
+
+};
+
+sub mimosis_pixel_dump {
+
+ my (
+ $fpga,
+ $frameLimit,
+ $src,
+ ) = @_;
+
+ analysis::pixel_dump( $fpga, $frameLimit, $src );
+
+};
+
+sub mimosis_find_noisy_pixels {
+
+ my (
+ $file,
+ $frameLimit,
+ $maxNoiseLimit
+ ) = @_;
+
+ analysis::find_noisy_pixels( $file, $frameLimit, $maxNoiseLimit );
+
+};
+
+sub mimosis_plot_dead_pixels {
+
+ my (
+ $matA,
+ $matB,
+ $matC,
+ $matD
+ ) = @_;
+
+ analysis::plot_dead_pixels( $matA,$matB,$matC,$matD );
+
+};
+
+# Preloaded methods go here.
+
+1;
+__END__
+# Below is stub documentation for your module. You'd better edit it!
+
+=head1 NAME
+
+Analysis - Perl extension for blah blah blah
+
+=head1 SYNOPSIS
+
+ use Analysis;
+ blah blah blah
+
+=head1 DESCRIPTION
+
+Stub documentation for Analysis, created by h2xs. It looks like the
+author of the extension was negligent enough to leave the stub
+unedited.
+
+Blah blah blah.
+
+=head2 EXPORT
+
+None by default.
+
+
+
+=head1 SEE ALSO
+
+Mention other useful documentation such as the documentation of
+related modules or operating system documentation (such as man pages
+in UNIX), or any relevant external documentation such as RFCs or
+standards.
+
+If you have a mailing list set up for your module, mention it here.
+
+If you have a web site set up for your module, mention it here.
+
+=head1 AUTHOR
+
+maps, E<lt>maps@(none)E<gt>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright (C) 2024 by maps
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself, either Perl version 5.26.1 or,
+at your option, any later version of Perl 5 you may have available.
+
+
+=cut