Catch22Sharp 1.0.0

dotnet add package Catch22Sharp --version 1.0.0
                    
NuGet\Install-Package Catch22Sharp -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Catch22Sharp" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Catch22Sharp" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Catch22Sharp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Catch22Sharp --version 1.0.0
                    
#r "nuget: Catch22Sharp, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Catch22Sharp@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Catch22Sharp&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Catch22Sharp&version=1.0.0
                    
Install as a Cake Tool

Catch22Sharp

Catch22Sharp is a C# port of the catch22 feature extraction toolkit. It mirrors the original C implementation so that .NET applications can compute the 22 canonical time-series features that make up the catch22 collection. The repository contains both the original C sources and the managed port, together with a comprehensive regression test suite.

Repository layout

  • C/ – Reference implementation of the features written in C.
  • Catch22Sharp/ – C# translation of the feature extractors, exposed through the Catch22 partial class and related helpers.
  • Catch22SharpTest/ – MSTest projects that compare the managed results with the C baseline using fixtures in testData/.
  • testData/ – Input samples used by the regression tests.
  • FEATURES.md – High-level descriptions of the 22 catch22 features.

Building and running tests

The solution targets the .NET SDK. To restore dependencies, compile, and run the regression tests use:

dotnet restore
dotnet build
dotnet test

The tests load the sample time series from testData/ and ensure the port matches the numeric output of the original C code.

Using the library

The NuGet package is available.

dotnet add package Catch22Sharp

All the classes are in the Catch22Sharp namespace.

using Catch22Sharp;

Code example:

var data = ReadData(...);
var catch22 = data.Catch22();
foreach (var (name, value) in catch22.GetNameValuePairs())
{
    Console.WriteLine($"{name}, {value}");
}

Output:

DN_HistogramMode_5, -0.6147991148452683
DN_HistogramMode_10, -0.7822544655522088
DN_OutlierInclude_p_001_mdrmd, 0.40740740740740744
DN_OutlierInclude_n_001_mdrmd, -0.23703703703703705
first1e_acf_tau, 32.50260547693646
firstMin_acf, 77
SP_Summaries_welch_rect_area_5_1, 0.9931387788742457
SP_Summaries_welch_rect_centroid, 0.03681553890925782
FC_LocalSimple_mean3_stderr, 0.08029384289850561
FC_LocalSimple_mean1_tauresrat, 0.8478260869565217
MD_hrv_classic_pnn40, 0.31970260223048325
SB_BinaryStats_mean_longstretch1, 88
SB_BinaryStats_diff_longstretch0, 83
SB_MotifThree_quantile_hh, 1.2105878172438547
CO_HistogramAMI_even_2_5, 1.0063890779937608
CO_trev_1_num, 1.782472611547055E-05
IN_AutoMutualInfoStats_40_gaussian_fmmi, 40
SB_TransitionMatrix_3ac_sumdiagcov, 0.08000000000000003
PD_PeriodicityWang_th0_01, 0
CO_Embed2_Dist_tau_d_expfit_meandiff, 7.135078608788558
SC_FluctAnal_2_rsrangefit_50_1_logi_prop_r1, 0.29545454545454547
SC_FluctAnal_2_dfa_50_1_2_logi_prop_r1, 0.75
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 212 9/30/2025