class_docstr: Each window is associated with a tuple of coordinates.
  These data properties are used to create TF
  placeholders or ``tf.data.Dataset`` when constructing a TF graph.
  Sampler read the data specifications and fill the placeholder/dataset.
class_docstr_tok: ["Each","window","is","associated","with","a","tuple","of","coordinates",".","These","data","properties","are","used","to","create","TF","placeholders","or","``","tf.data.Dataset","``","when","constructing","a","TF","graph",".","Sampler","read","the","data","specifications","and","fill","the","placeholder\/dataset","."]
docstr: :param shapes: A nested structure of tuple
      corresponding to size of each image window
  :param dtypes: A nested structure of `tf.DType` objects
      corresponding to each image window
docstr_tok: [":","param","shapes",":","A","nested","structure","of","tuple","corresponding","to","size","of","each","image","window",":","param","dtypes",":","A","nested","structure","of","`","tf.DType","`","objects","corresponding","to","each","image","window"]
code: def __init__(self, shapes, dtypes):
      """
  
      :param shapes: A nested structure of tuple
          corresponding to size of each image window
      :param dtypes: A nested structure of `tf.DType` objects
          corresponding to each image window
      """
      self._shapes = shapes
      self._dtypes = dtypes
      self._placeholders_dict = None
  
      self.n_samples = 1
      self.has_dynamic_shapes = self._check_dynamic_shapes()
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import argparse
  import copy
  import numpy
  import tensorflow
  from tensorflow.python.data.util import nest
  from niftynet.utilities.util_common import ParserNamespace
label_desc: Use image node_id 1 to create a new ImageWindow object from inherited base classes: object with example: obj = ImageWindow(shapes, dtypes)