code: def initialise_dataset_loader(
      self, data_param=None, task_param=None, data_partitioner=None
  ):
      self.data_param = data_param
      self.regression_param = task_param
  
      # read each line of csv files into an instance of Subject
      if self.is_training:
          file_lists = []
          if self.action_param.validation_every_n > 0:
              file_lists.append(data_partitioner.train_files)
              file_lists.append(data_partitioner.validation_files)
          else:
              file_lists.append(data_partitioner.train_files)
  
          self.readers = []
          for file_list in file_lists:
              reader = ImageReader(SUPPORTED_INPUT)
              reader.initialise(data_param, task_param, file_list)
              self.readers.append(reader)
      else:
          inference_reader = ImageReader(["image"])
          file_list = data_partitioner.inference_files
          inference_reader.initialise(data_param, task_param, file_list)
          self.readers = [inference_reader]
  
      mean_var_normaliser = MeanVarNormalisationLayer(
          image_name="image"
      )
      histogram_normaliser = None
      if self.net_param.histogram_ref_file:
          histogram_normaliser = HistogramNormalisationLayer(
              image_name="image",
              modalities=vars(task_param).get("image"),
              model_filename=self.net_param.histogram_ref_file,
              norm_type=self.net_param.norm_type,
              cutoff=self.net_param.cutoff,
              name="hist_norm_layer",
          )
  
      normalisation_layers = []
      if self.net_param.normalisation:
          normalisation_layers.append(histogram_normaliser)
      if self.net_param.whitening:
          normalisation_layers.append(mean_var_normaliser)
  
      augmentation_layers = []
      if self.is_training:
          if self.action_param.random_flipping_axes != -1:
              augmentation_layers.append(
                  RandomFlipLayer(
                      flip_axes=self.action_param.random_flipping_axes
                  )
              )
          if self.action_param.scaling_percentage:
              augmentation_layers.append(
                  RandomSpatialScalingLayer(
                      min_percentage=self.action_param.scaling_percentage[
                          0
                      ],
                      max_percentage=self.action_param.scaling_percentage[
                          1
                      ],
                  )
              )
          if self.action_param.rotation_angle:
              augmentation_layers.append(RandomRotationLayer())
              augmentation_layers[-1].init_uniform_angle(
                  self.action_param.rotation_angle
              )
  
      volume_padding_layer = []
      if self.net_param.volume_padding_size:
          volume_padding_layer.append(
              PadLayer(
                  image_name=SUPPORTED_INPUT,
                  border=self.net_param.volume_padding_size,
              )
          )
      for reader in self.readers:
          reader.add_preprocessing_layers(
              volume_padding_layer
              + normalisation_layers
              + augmentation_layers
          )
  
imports: import tensorflow
  import copy
  from niftynet.application.base_application import BaseApplication
  from niftynet.engine.application_factory import ApplicationNetFactory
  from niftynet.engine.application_factory import OptimiserFactory
  from niftynet.engine.application_variables import CONSOLE
  from niftynet.engine.application_variables import NETWORK_OUTPUT
  from niftynet.engine.application_variables import TF_SUMMARIES
  from niftynet.engine.sampler_grid_v2 import GridSampler
  from niftynet.engine.sampler_resize_v2 import ResizeSampler
  from niftynet.engine.sampler_uniform_v2 import UniformSampler
  from niftynet.engine.sampler_weighted_v2 import WeightedSampler
  from niftynet.engine.windows_aggregator_grid import GridSamplesAggregator
  from niftynet.engine.windows_aggregator_resize import ResizeSamplesAggregator
  from niftynet.io.image_reader import ImageReader
  from niftynet.layer.crop import CropLayer
  from niftynet.layer.histogram_normalisation import HistogramNormalisationLayer
  from niftynet.layer.loss_regression import LossFunction
  from niftynet.layer.mean_variance_normalisation import MeanVarNormalisationLayer
  from niftynet.layer.pad import PadLayer
  from niftynet.layer.post_processing import PostProcessingLayer
  from niftynet.layer.rand_flip import RandomFlipLayer
  from niftynet.layer.rand_rotation import RandomRotationLayer
  from niftynet.layer.rand_spatial_scaling import RandomSpatialScalingLayer
label_desc: Use image node_id 2 for calling the RegressionRecApplication obj's underlying member method code with example usage: obj.initialise_dataset_loader(data_param, task_param, data_partitioner) without return types