Exemple #1
0
    def serializeWasm(self):
        if (self.isbinary == False):
            return biswasm.serialize_simpledataobject(self.data_array)

        top_header = np.zeros([4], dtype=np.int32)
        top_header[0] = biswasm.getVectorMagicCode()
        top_header[1] = biswasm.get_nifti_code(np.uint8)
        top_header[2] = 0
        top_header[3] = len(self.data_array)
        return top_header.tobytes() + self.data_array
Exemple #2
0
    def serializeWasm(self):

        rawsize = self.getRawSize()
        top_header = np.zeros([4], dtype=np.int32)
        top_header[0] = biswasm.getCollectionMagicCode()
        top_header[1] = biswasm.get_nifti_code(np.float32)
        top_header[2] = 4
        top_header[3] = rawsize - 20

        i_head = np.zeros([1], dtype=np.int32)
        i_head[0] = len(self.items)

        combo_raw = top_header.tobytes() + i_head.tobytes()
        for ia in range(0, len(self.items)):
            combo_raw += self.items[ia].serializeWasm()

        return combo_raw
Exemple #3
0
    def serializeWasm(self):
        s = self.data_array.shape
        top_header = np.zeros([4], dtype=np.int32)
        top_header[0] = biswasm.getGridTransformMagicCode()
        top_header[1] = biswasm.get_nifti_code(np.float32)
        top_header[2] = 40
        top_header[3] = s[0] * 4
        # float!!!

        i_head = np.zeros([4], dtype=np.int32)
        f_head = np.zeros([6], dtype=np.float32)

        if self.grid_usebspline:
            i_head[0] = 1
        else:
            i_head[0] = 0
        for ia in range(0, 3):
            i_head[ia + 1] = self.grid_dimensions[ia]
            f_head[ia] = self.grid_spacing[ia]
            f_head[ia + 3] = self.grid_origin[ia]

        return top_header.tobytes() + i_head.tobytes() + f_head.tobytes(
        ) + self.data_array.tobytes('F')
Exemple #4
0
    def serializeWasm(self):

        if self.linear == 0 or len(self.grids) == 0:
            raise ValueError(
                'Either no bisLinearTransformation or no Grids in bisComboTransform'
            )

        rawsize = self.getRawSize()
        top_header = np.zeros([4], dtype=np.int32)
        top_header[0] = biswasm.getComboTransformMagicCode()
        top_header[1] = biswasm.get_nifti_code(np.float32)
        top_header[2] = 4
        top_header[3] = rawsize - 20
        # this is the header

        i_head = np.zeros([1], dtype=np.int32)
        i_head[0] = len(self.grids)

        combo_raw = top_header.tobytes() + i_head.tobytes(
        ) + self.linear.serializeWasm()
        for ia in range(0, len(self.grids)):
            combo_raw += self.grids[ia].serializeWasm()

        return combo_raw