Results submission

Hi @Half_Domeef45 & @yodharin,

A few things to keep in mind:

  • The shape of the full dataset is (300,300,1259)
  • The shape of the targets will be either (300,75,1259) or (75,300,1259)
  • Your prediction volumes should match the shape of the missing blocks of data in the test data
  • The test data are (300,300,1259) seismic volumes that contain a block of data of size (300,75,1259) or (75,300,1259) set to nan

Check to make sure you are creating the submission file correctly. create_submission() will require three inputs in order to create a correct submission format; seismic_filenames is a list of the test data filenames, predictions is a list of the target Numpy arrays (what your model is predicting), and submission_path is the local location the submission file will be saved.

The create_submission() function works by extracting 6 2D slices from each of the target volumes, so the submission file shapes are not equal to the target file shapes.

To help with this, please use this code snippet below to help identify target areas and shapes in the test volumes:

def get_mask(seismic):
“”"
Function for mask extraction from volume with deleted patch.

      Parameters:
          seismic: np.ndarray 3D matrix of survey with deleted patch.
          
      Returns:
          target_mask: np.ndarray, position of target 3D matrix inside seismic 3D matrix.
  
      """
target_mask = np.zeros(seismic.shape).astype('bool')
nans = np.argwhere(np.isnan(seismic[:, :, :]))
indices = [(nans[:, i].min(), nans[:, i].max()+1) for i in range(len(seismic.shape))]
target_mask[indices[0][0]:indices[0][1], indices[1][0]:indices[1][1], indices[2][0]:indices[2][1]] = True

return target_mask

generated_mask = get_mask(volume_with_deleted_patch)

You can check your target volume size like this:

np.array_equal(target_mask, generated_mask)