class_docstr: Canonical Time-series Characteristics (Catch22).
  
  Overview: Input n series with d dimensions of length m
  Transforms series into the 22 Catch22 [1]_ features extracted from the hctsa [2]_
  toolbox.
  
  Parameters
  ----------
  features : int/str or List of int/str, optional, default="all"
      The Catch22 features to extract by feature index, feature name as a str or as a
      list of names or indices for multiple features. If "all", all features are
      extracted.
      Valid features are as follows:
          ["DN_HistogramMode_5", "DN_HistogramMode_10",
          "SB_BinaryStats_diff_longstretch0", "DN_OutlierInclude_p_001_mdrmd",
          "DN_OutlierInclude_n_001_mdrmd", "CO_f1ecac", "CO_FirstMin_ac",
          "SP_Summaries_welch_rect_area_5_1", "SP_Summaries_welch_rect_centroid",
          "FC_LocalSimple_mean3_stderr", "CO_trev_1_num", "CO_HistogramAMI_even_2_5",
          "IN_AutoMutualInfoStats_40_gaussian_fmmi", "MD_hrv_classic_pnn40",
          "SB_BinaryStats_mean_longstretch1", "SB_MotifThree_quantile_hh",
          "FC_LocalSimple_mean1_tauresrat", "CO_Embed2_Dist_tau_d_expfit_meandiff",
          "SC_FluctAnal_2_dfa_50_1_2_logi_prop_r1",
          "SC_FluctAnal_2_rsrangefit_50_1_logi_prop_r1",
          "SB_TransitionMatrix_3ac_sumdiagcov", "PD_PeriodicityWang_th0_01"]
  catch24 : bool, optional, default=False
      Extract the mean and standard deviation as well as the 22 Catch22 features if
      true. If a List of specific features to extract is provided, "Mean" and/or
      "StandardDeviation" must be added to the List to extract these features.
  outlier_norm : bool, optional, default=False
      Normalise each series during the two outlier Catch22 features, which can take a
      while to process for large values.
  replace_nans : bool, optional, default=True
      Replace NaN or inf values from the Catch22 transform with 0.
  n_jobs : int, optional, default=1
      The number of jobs to run in parallel for transform. Requires multiple input
      cases. A value of -1 uses all CPU cores.
  
  See Also
  --------
  Catch22Classifier
  
  Notes
  -----
  Original Catch22 package implementations:
  https://github.com/DynamicsAndNeuralSystems/Catch22
  
  For the Java version, see
  https://github.com/uea-machine-learning/tsml/blob/master/src/main/java
  /tsml/transformers/Catch22.java
  
  References
  ----------
  .. [1] Lubba, C. H., Sethi, S. S., Knaute, P., Schultz, S. R., Fulcher, B. D., &
  Jones, N. S. (2019). catch22: Canonical time-series characteristics. Data Mining
  and Knowledge Discovery, 33(6), 1821-1852.
  .. [2] Fulcher, B. D., Little, M. A., & Jones, N. S. (2013). Highly comparative
  time-series analysis: the empirical structure of time series and their methods.
  Journal of the Royal Society Interface, 10(83), 20130048.
class_docstr_tok: ["Canonical","Time-series","Characteristics","(","Catch22",")",".","Overview",":","Input","n","series","with","d","dimensions","of","length","m","Transforms","series","into","the","22","Catch22","[","1","]","_","features","extracted","from","the","hctsa","[","2","]","_","toolbox",".","Parameters","--","--","--","--","--","features",":","int\/str","or","List","of","int\/str",",","optional",",","default=","''","all","''","The","Catch22","features","to","extract","by","feature","index",",","feature","name","as","a","str","or","as","a","list","of","names","or","indices","for","multiple","features",".","If","``","all","''",",","all","features","are","extracted",".","Valid","features","are","as","follows",":","[","``","DN_HistogramMode_5","''",",","``","DN_HistogramMode_10","''",",","``","SB_BinaryStats_diff_longstretch0","''",",","``","DN_OutlierInclude_p_001_mdrmd","''",",","``","DN_OutlierInclude_n_001_mdrmd","''",",","``","CO_f1ecac","''",",","``","CO_FirstMin_ac","''",",","``","SP_Summaries_welch_rect_area_5_1","''",",","``","SP_Summaries_welch_rect_centroid","''",",","``","FC_LocalSimple_mean3_stderr","''",",","``","CO_trev_1_num","''",",","``","CO_HistogramAMI_even_2_5","''",",","``","IN_AutoMutualInfoStats_40_gaussian_fmmi","''",",","``","MD_hrv_classic_pnn40","''",",","``","SB_BinaryStats_mean_longstretch1","''",",","``","SB_MotifThree_quantile_hh","''",",","``","FC_LocalSimple_mean1_tauresrat","''",",","``","CO_Embed2_Dist_tau_d_expfit_meandiff","''",",","``","SC_FluctAnal_2_dfa_50_1_2_logi_prop_r1","''",",","``","SC_FluctAnal_2_rsrangefit_50_1_logi_prop_r1","''",",","``","SB_TransitionMatrix_3ac_sumdiagcov","''",",","``","PD_PeriodicityWang_th0_01","''","]","catch24",":","bool",",","optional",",","default=False","Extract","the","mean","and","standard","deviation","as","well","as","the","22","Catch22","features","if","true",".","If","a","List","of","specific","features","to","extract","is","provided",",","``","Mean","''","and\/or","``","StandardDeviation","''","must","be","added","to","the","List","to","extract","these","features",".","outlier_norm",":","bool",",","optional",",","default=False","Normalise","each","series","during","the","two","outlier","Catch22","features",",","which","can","take","a","while","to","process","for","large","values",".","replace_nans",":","bool",",","optional",",","default=True","Replace","NaN","or","inf","values","from","the","Catch22","transform","with","0.","n_jobs",":","int",",","optional",",","default=1","The","number","of","jobs","to","run","in","parallel","for","transform",".","Requires","multiple","input","cases",".","A","value","of","-1","uses","all","CPU","cores",".","See","Also","--","--","--","--","Catch22Classifier","Notes","--","--","-","Original","Catch22","package","implementations",":","https",":","\/\/github.com\/DynamicsAndNeuralSystems\/Catch22","For","the","Java","version",",","see","https",":","\/\/github.com\/uea-machine-learning\/tsml\/blob\/master\/src\/main\/java","\/tsml\/transformers\/Catch22.java","References","--","--","--","--","--","..","[","1","]","Lubba",",","C.","H.",",","Sethi",",","S.","S.",",","Knaute",",","P.",",","Schultz",",","S.","R.",",","Fulcher",",","B.","D.",",","&","Jones",",","N.","S.","(","2019",")",".","catch22",":","Canonical","time-series","characteristics",".","Data","Mining","and","Knowledge","Discovery",",","33","(","6",")",",","1821-1852",".","..","[","2","]","Fulcher",",","B.","D.",",","Little",",","M.","A.",",","&","Jones",",","N.","S.","(","2013",")",".","Highly","comparative","time-series","analysis",":","the","empirical","structure","of","time","series","and","their","methods",".","Journal","of","the","Royal","Society","Interface",",","10","(","83",")",",","20130048","."]
docstr: Transform data into the Catch22 features.
  
  Parameters
  ----------
  X : 3D numpy array of shape [n_instances, n_dimensions, n_features],
      input time series panel.
  y : ignored.
  
  Returns
  -------
  c22 : Pandas DataFrame of shape [n_instances, c*n_dimensions] where c is the
       number of features requested, containing Catch22 features for X.
docstr_tok: ["Transform","data","into","the","Catch22","features",".","Parameters","--","--","--","--","--","X",":","3D","numpy","array","of","shape","[","n_instances",",","n_dimensions",",","n_features","]",",","input","time","series","panel",".","y",":","ignored",".","Returns","--","--","--","-","c22",":","Pandas","DataFrame","of","shape","[","n_instances",",","c","*","n_dimensions","]","where","c","is","the","number","of","features","requested",",","containing","Catch22","features","for","X","."]
code: def _transform(self, X, y=None):
      """Transform data into the Catch22 features.
  
      Parameters
      ----------
      X : 3D numpy array of shape [n_instances, n_dimensions, n_features],
          input time series panel.
      y : ignored.
  
      Returns
      -------
      c22 : Pandas DataFrame of shape [n_instances, c*n_dimensions] where c is the
           number of features requested, containing Catch22 features for X.
      """
      n_instances = X.shape[0]
  
      f_idx = _verify_features(self.features, self.catch24)
  
      threads_to_use = check_n_jobs(self.n_jobs)
  
      c22_list = Parallel(n_jobs=threads_to_use)(
          delayed(self._transform_case)(
              X.iloc[i],
              f_idx,
          )
          for i in range(n_instances)
      )
  
      if self.replace_nans:
          c22_list = np.nan_to_num(c22_list, False, 0, 0, 0)
  
      return pd.DataFrame(c22_list)
  
file_path: sktime/sktime/transformations/panel/catch22.py
imports: import warnings
  import numpy
  import pandas
  from joblib import Parallel, delayed
  from sktime.datatypes import convert_to
  from sktime.transformations.base import BaseTransformer
  from sktime.utils.validation import check_n_jobs
label_desc: Use image node_id 2 for calling the Catch22 obj's underlying member method code with example usage: obj._transform(X, y) and returns: pd