コード例 #1
0
ファイル: sum.py プロジェクト: ben777777/LiberTEM
    def get_udf_results(self, udf_results, roi):
        from libertem.viz import visualize_simple
        if udf_results['intensity'].data.dtype.kind == 'c':
            return AnalysisResultSet(
                self.get_complex_results(
                    udf_results['intensity'].data,
                    key_prefix="intensity",
                    title="intensity",
                    desc="sum of all frames",
                    default_lin=False,
                ))

        return SumResultSet([
            AnalysisResult(
                raw_data=udf_results['intensity'].data,
                visualized=visualize_simple(udf_results['intensity'].data,
                                            logarithmic=True),
                key="intensity",
                title="intensity [log]",
                desc="sum of frames log-scaled"),
            AnalysisResult(raw_data=udf_results['intensity'].data,
                           visualized=visualize_simple(
                               udf_results['intensity'].data,
                               logarithmic=False),
                           key="intensity_lin",
                           title="intensity [lin]",
                           desc="sum of frames lin-scaled"),
        ])
コード例 #2
0
    def get_results(self, job_results):
        img_sum, img_x, img_y = job_results[0], job_results[1], job_results[2]
        ref_x = self.parameters["cx"]
        ref_y = self.parameters["cy"]
        x_centers = np.divide(img_x, img_sum) - ref_x
        y_centers = np.divide(img_y, img_sum) - ref_y
        d = divergence([x_centers, y_centers])
        m = np.sqrt(x_centers**2 + y_centers**2)
        f = CMAP_CIRCULAR_DEFAULT.rgb_from_vector((y_centers, x_centers))

        return [
            AnalysisResult(raw_data=(x_centers, y_centers),
                           visualized=f,
                           title="field",
                           desc="cubehelix colorwheel visualization"),
            AnalysisResult(raw_data=m,
                           visualized=visualize_simple(m),
                           title="magnitude",
                           desc="magnitude of the vector field"),
            AnalysisResult(raw_data=d,
                           visualized=visualize_simple(d),
                           title="divergence",
                           desc="divergence of the vector field"),
            AnalysisResult(raw_data=x_centers,
                           visualized=visualize_simple(x_centers),
                           title="x",
                           desc="x component of the center"),
            AnalysisResult(raw_data=y_centers,
                           visualized=visualize_simple(y_centers),
                           title="y",
                           desc="y component of the center"),
        ]
コード例 #3
0
 def get_generic_results(self, data, damage):
     from libertem.viz import visualize_simple
     if data.dtype.kind == 'c':
         return SingleMaskResultSet(
             self.get_complex_results(
                 data,
                 key_prefix='intensity',
                 title='intensity',
                 desc=self.get_description(),
                 damage=damage,
             ))
     return SingleMaskResultSet([
         AnalysisResult(raw_data=data,
                        visualized=visualize_simple(data, damage=damage),
                        key="intensity",
                        title="intensity [lin]",
                        desc=f'{self.get_description()} lin-scaled'),
         AnalysisResult(raw_data=data,
                        visualized=visualize_simple(data,
                                                    logarithmic=True,
                                                    damage=damage),
                        key="intensity_log",
                        title="intensity [log]",
                        desc=f'{self.get_description()} log-scaled'),
     ])
コード例 #4
0
ファイル: raw.py プロジェクト: saisunku/LiberTEM
    def get_generic_results(self, data, damage):
        from libertem.viz import visualize_simple
        coords = self.get_coords()

        if data.dtype.kind == 'c':
            return AnalysisResultSet(
                self.get_complex_results(
                    data,
                    key_prefix="intensity",
                    title="intensity",
                    desc="the frame at %s" % (coords, ),
                    damage=True,
                    default_lin=False,
                ))
        return AnalysisResultSet([
            AnalysisResult(raw_data=data,
                           visualized=visualize_simple(data,
                                                       logarithmic=True,
                                                       damage=True),
                           key="intensity",
                           title="intensity [log]",
                           desc="the frame at %s log-scaled" % (coords, )),
            AnalysisResult(raw_data=data,
                           visualized=visualize_simple(data,
                                                       logarithmic=False,
                                                       damage=True),
                           key="intensity_lin",
                           title="intensity [lin]",
                           desc="the frame at %s lin-scaled" % (coords, )),
        ])
コード例 #5
0
 def get_complex_results(self,
                         job_result,
                         key_prefix,
                         title,
                         desc,
                         damage,
                         default_lin=True):
     from libertem.viz import visualize_simple, CMAP_CIRCULAR_DEFAULT
     damage = damage & np.isfinite(job_result)
     magn = np.abs(job_result)
     angle = np.angle(job_result)
     wheel = CMAP_CIRCULAR_DEFAULT.rgb_from_vector(
         (job_result.real, job_result.imag, 0), vmax=np.max(magn[damage]))
     return [
         # for compatability, the magnitude has key=key_prefix
         AnalysisResult(
             raw_data=magn,
             visualized=visualize_simple(magn, damage=damage),
             key=key_prefix if default_lin else f'{key_prefix}_lin',
             title="%s [magn]" % title,
             desc="%s [magn]" % desc,
         ),
         AnalysisResult(
             raw_data=magn,
             visualized=visualize_simple(magn,
                                         logarithmic=True,
                                         damage=damage),
             key=f'{key_prefix}_log' if default_lin else key_prefix,
             title="%s [log(magn)]" % title,
             desc="%s [log(magn)]" % desc,
         ),
         AnalysisResult(
             raw_data=job_result.real,
             visualized=visualize_simple(job_result.real, damage=damage),
             key="%s_real" % key_prefix,
             title="%s [real]" % title,
             desc="%s [real]" % desc,
         ),
         AnalysisResult(
             raw_data=job_result.imag,
             visualized=visualize_simple(job_result.imag, damage=damage),
             key="%s_imag" % key_prefix,
             title="%s [imag]" % title,
             desc="%s [imag]" % desc,
         ),
         AnalysisResult(
             raw_data=angle,
             visualized=visualize_simple(angle, damage=damage),
             key="%s_angle" % key_prefix,
             title="%s [angle]" % title,
             desc="%s [angle]" % desc,
         ),
         AnalysisResult(
             raw_data=job_result,
             visualized=wheel,
             key="%s_complex" % key_prefix,
             title="%s [complex]" % title,
             desc="%s [complex]" % desc,
         ),
     ]
コード例 #6
0
 def get_results(self, job_results):
     data, coords = self.get_results_base(job_results)
     real_rad = self.parameters.get("real_rad")
     real_center = (self.parameters.get("real_centery"),
                    self.parameters.get("real_centerx"))
     if data.dtype.kind == 'c':
         return AnalysisResultSet(
             self.get_complex_results(
                 job_results,
                 key_prefix="intensity",
                 title="intensity",
                 desc="the frame at %s" % (coords, ),
             ))
     if not (real_center is None or real_rad is None):
         sigshape = job_results.shape
         real_mask = 1 - 1 * _make_circular_mask(
             real_center[1], real_center[0], sigshape[1], sigshape[0],
             real_rad)
         visualized = visualize_simple(np.fft.fftshift(
             abs(np.fft.fft2(data * real_mask))),
                                       logarithmic=True)
     else:
         visualized = visualize_simple(np.fft.fftshift(
             abs(np.fft.fft2(data))),
                                       logarithmic=True)
     return AnalysisResultSet([
         AnalysisResult(raw_data=data,
                        visualized=visualized,
                        key="intensity",
                        title="intensity",
                        desc="the frame at %s" % (coords, )),
     ])
コード例 #7
0
    def get_results(self, job_results):
        parameters = self.parameters
        coords = [
            "%s=%d" % (axis, parameters.get(axis)) for axis in ['x', 'y', 'z']
            if axis in parameters
        ]
        coords = " ".join(coords)
        shape = tuple(self.dataset.shape.sig)
        data = job_results.reshape(shape)

        if data.dtype.kind == 'c':
            return AnalysisResultSet(
                self.get_complex_results(
                    job_results,
                    key_prefix="intensity",
                    title="intensity",
                    desc="the frame at %s" % (coords, ),
                ))
        visualized = visualize_simple(data)
        return AnalysisResultSet([
            AnalysisResult(raw_data=data,
                           visualized=visualized,
                           key="intensity",
                           title="intensity",
                           desc="the frame at %s" % (coords, )),
        ])
コード例 #8
0
ファイル: clust.py プロジェクト: sk1p/LiberTEM
    def get_udf_results(self, udf_results, roi, damage):
        from libertem.viz import visualize_simple
        from sklearn.cluster import AgglomerativeClustering
        from sklearn.feature_extraction.image import grid_to_graph
        n_clust = self.parameters["n_clust"]
        y, x = tuple(self.dataset.shape.nav)
        connectivity = grid_to_graph(
            # Transposed!
            n_x=y,
            n_y=x)
        f = udf_results['intensity'].raw_data
        feature_vector = f / np.abs(f).mean(axis=0)

        clustering = AgglomerativeClustering(
            affinity='euclidean',
            n_clusters=n_clust,
            linkage='ward',
            connectivity=connectivity).fit(feature_vector)
        labels = np.array(clustering.labels_ + 1)
        return AnalysisResultSet([
            AnalysisResult(raw_data=labels.reshape(self.dataset.shape.nav),
                           visualized=visualize_simple(labels.reshape(
                               self.dataset.shape.nav),
                                                       damage=damage),
                           key="intensity",
                           title="intensity",
                           desc="Labels for the clustering"),
        ])
コード例 #9
0
    def get_udf_results(self, udf_results, roi):
        n_clust = self.parameters["n_clust"]
        y, x = tuple(self.dataset.shape.nav)
        connectivity = grid_to_graph(
            # Transposed!
            n_x=y,
            n_y=x)
        f = udf_results['intensity'].raw_data
        feature_vector = f / np.abs(f).mean(axis=0)

        clustering = AgglomerativeClustering(
            affinity='euclidean',
            n_clusters=n_clust,
            linkage='ward',
            connectivity=connectivity).fit(feature_vector)
        labels = np.array(clustering.labels_ + 1)
        return AnalysisResultSet([
            AnalysisResult(
                raw_data=udf_results['intensity'].data,
                visualized=visualize_simple(
                    labels.reshape(self.dataset.shape.nav)),
                key="intensity",
                title="intensity",
                desc="result from integration over mask in Fourier space"),
        ])
コード例 #10
0
ファイル: sumfft.py プロジェクト: sk1p/LiberTEM
    def get_udf_results(self, udf_results, roi, damage):
        from libertem.viz import visualize_simple
        sum_results = np.array(udf_results['intensity'])
        real_rad = self.parameters.get("real_rad")
        real_center = (self.parameters.get("real_centery"),
                       self.parameters.get("real_centerx"))

        if not (real_center is None or real_rad is None):
            sigshape = sum_results.shape
            real_mask = 1 - 1 * _make_circular_mask(
                real_center[1], real_center[0], sigshape[1], sigshape[0],
                real_rad)
            fft_result = np.log(
                abs(np.fft.fftshift(np.fft.fft2(sum_results * real_mask))) + 1)
        else:
            fft_result = np.log(
                abs(np.fft.fftshift(np.fft.fft2(sum_results))) + 1)
        return AnalysisResultSet([
            AnalysisResult(raw_data=sum_results,
                           visualized=visualize_simple(fft_result,
                                                       damage=True),
                           key="intensity",
                           title="intensity",
                           desc="fft of sum of all frames"),
        ])
コード例 #11
0
ファイル: apply_fft_mask.py プロジェクト: woozey/LiberTEM
 def get_udf_results(self, udf_results, roi):
     data = udf_results['intensity'].data
     return AnalysisResultSet([
         AnalysisResult(raw_data=data,
                        visualized=visualize_simple(data.reshape(self.dataset.shape.nav)),
                        key="intensity", title="intensity",
                        desc="result from integration over mask in Fourier space"),
     ])
コード例 #12
0
ファイル: com.py プロジェクト: Taimin/LiberTEM
    def get_generic_results(self, img_sum, img_y, img_x):
        ref_x = self.parameters["cx"]
        ref_y = self.parameters["cy"]
        y_centers_raw, x_centers_raw = center_shifts(img_sum, img_y, img_x, ref_y, ref_x)
        shape = y_centers_raw.shape
        if self.parameters["flip_y"]:
            transform = flip_y()
        else:
            transform = identity()
        # Transformations are applied right to left
        transform = rotate_deg(self.parameters["scan_rotation"]) @ transform
        y_centers, x_centers = transform @ (y_centers_raw.reshape(-1), x_centers_raw.reshape(-1))

        y_centers = y_centers.reshape(shape)
        x_centers = x_centers.reshape(shape)

        if img_sum.dtype.kind == 'c':
            x_real, x_imag = np.real(x_centers), np.imag(x_centers)
            y_real, y_imag = np.real(y_centers), np.imag(y_centers)

            return COMResultSet([
                AnalysisResult(raw_data=x_real, visualized=visualize_simple(x_real),
                       key="x_real", title="x [real]", desc="x component of the center"),
                AnalysisResult(raw_data=y_real, visualized=visualize_simple(y_real),
                       key="y_real", title="y [real]", desc="y component of the center"),
                AnalysisResult(raw_data=x_imag, visualized=visualize_simple(x_imag),
                       key="x_imag", title="x [imag]", desc="x component of the center"),
                AnalysisResult(raw_data=y_imag, visualized=visualize_simple(y_imag),
                       key="y_imag", title="y [imag]", desc="y component of the center"),
            ])
        else:
            f = CMAP_CIRCULAR_DEFAULT.rgb_from_vector((y_centers, x_centers))
            d = divergence(y_centers, x_centers)
            c = curl_2d(y_centers, x_centers)
            m = magnitude(y_centers, x_centers)

            return COMResultSet([
                AnalysisResult(raw_data=(x_centers, y_centers), visualized=f,
                       key="field", title="field", desc="cubehelix colorwheel visualization",
                       include_in_download=False),
                AnalysisResult(raw_data=m, visualized=visualize_simple(m),
                       key="magnitude", title="magnitude", desc="magnitude of the vector field"),
                AnalysisResult(raw_data=d, visualized=visualize_simple(d),
                       key="divergence", title="divergence", desc="divergence of the vector field"),
                AnalysisResult(raw_data=c, visualized=visualize_simple(c),
                       key="curl", title="curl", desc="curl of the 2D vector field"),
                AnalysisResult(raw_data=x_centers, visualized=visualize_simple(x_centers),
                       key="x", title="x", desc="x component of the center"),
                AnalysisResult(raw_data=y_centers, visualized=visualize_simple(y_centers),
                       key="y", title="y", desc="y component of the center"),
            ])
コード例 #13
0
ファイル: sum.py プロジェクト: probonopd/LiberTEM
 def get_results(self, job_results):
     data = job_results[0]
     return [
         AnalysisResult(raw_data=data,
                        visualized=visualize_simple(data),
                        title="intensity",
                        desc="sum of all frames"),
     ]
コード例 #14
0
ファイル: point.py プロジェクト: probonopd/LiberTEM
 def get_results(self, job_results):
     data = job_results[0]
     return [
         AnalysisResult(
             raw_data=data,
             visualized=visualize_simple(data),
             title="intensity",
             desc="intensity of the integration over the selected point"),
     ]
コード例 #15
0
 def get_udf_results(self, udf_results, roi):
     return AnalysisResultSet([
         AnalysisResult(raw_data=udf_results['var'].data,
                        visualized=visualize_simple(udf_results['var'].data,
                                                    logarithmic=True),
                        key="intensity",
                        title="intensity",
                        desc="SD of frames"),
     ])
コード例 #16
0
ファイル: sumsig.py プロジェクト: woozey/LiberTEM
 def get_udf_results(self, udf_results, roi):
     return AnalysisResultSet([
         AnalysisResult(raw_data=udf_results['intensity'],
                        visualized=visualize_simple(
                            udf_results['intensity'].data.reshape(
                                self.dataset.shape.nav)),
                        key="intensity",
                        title="intensity",
                        desc="result from frame integration"),
     ])
コード例 #17
0
ファイル: base.py プロジェクト: seockjinjeong/LiberTEM
 def get_complex_results(self, job_result, key_prefix, title, desc):
     magn = np.abs(job_result)
     angle = np.angle(job_result)
     wheel = CMAP_CIRCULAR_DEFAULT.rgb_from_vector(
         (job_result.imag, job_result.real))
     return [
         # for compatability, the magnitude has key=key_prefix
         AnalysisResult(
             raw_data=magn,
             visualized=visualize_simple(magn),
             key=key_prefix,
             title="%s [magn]" % title,
             desc="%s [magn]" % desc,
         ),
         AnalysisResult(
             raw_data=job_result.real,
             visualized=visualize_simple(job_result.real),
             key="%s_real" % key_prefix,
             title="%s [real]" % title,
             desc="%s [real]" % desc,
         ),
         AnalysisResult(
             raw_data=job_result.imag,
             visualized=visualize_simple(job_result.imag),
             key="%s_imag" % key_prefix,
             title="%s [imag]" % title,
             desc="%s [imag]" % desc,
         ),
         AnalysisResult(
             raw_data=angle,
             visualized=visualize_simple(angle),
             key="%s_angle" % key_prefix,
             title="%s [angle]" % title,
             desc="%s [angle]" % desc,
         ),
         AnalysisResult(
             raw_data=job_result,
             visualized=wheel,
             key="%s_complex" % key_prefix,
             title="%s [complex]" % title,
             desc="%s [complex]" % desc,
         ),
     ]
コード例 #18
0
ファイル: fem.py プロジェクト: sacheendra/LiberTEM
    def get_udf_results(self, udf_results):

        return AnalysisResultSet([
            AnalysisResult(raw_data=udf_results['intensity'].data,
                           visualized=visualize_simple(
                               udf_results['intensity'].data.reshape(
                                   self.dataset.shape.nav)),
                           key="intensity",
                           title="intensity",
                           desc="result from SD calculation over ring"),
        ])
コード例 #19
0
 def get_udf_results(self, udf_results, roi):
     from libertem.viz import visualize_simple
     udf_results = std.consolidate_result(udf_results)
     return AnalysisResultSet([
         AnalysisResult(raw_data=udf_results['var'].data,
                        visualized=visualize_simple(udf_results['var'].data,
                                                    logarithmic=True),
                        key="intensity",
                        title="intensity",
                        desc="SD of frames"),
     ])
コード例 #20
0
ファイル: sumsig.py プロジェクト: sk1p/LiberTEM
 def get_udf_results(self, udf_results, roi, damage):
     from libertem.viz import visualize_simple
     return AnalysisResultSet([
         AnalysisResult(raw_data=udf_results['intensity'],
                        visualized=visualize_simple(
                            udf_results['intensity'].data.reshape(self.dataset.shape.nav),
                            damage=damage
                        ),
                        key="intensity", title="intensity",
                        desc="result from frame integration"),
     ])
コード例 #21
0
ファイル: sd.py プロジェクト: ben777777/LiberTEM
 def get_udf_results(self, udf_results, roi):
     from libertem.viz import visualize_simple
     return AnalysisResultSet([
         AnalysisResult(
             raw_data=udf_results['std'].data,
             visualized=visualize_simple(
                 udf_results['std'].data, logarithmic=True
             ),
             key="intensity", title="intensity [log]",
             desc="Standard deviation of frames log-scaled"
         ),
         AnalysisResult(
             raw_data=udf_results['std'],
             visualized=visualize_simple(
                 udf_results['std'].data, logarithmic=False,
             ),
             key="intensity_lin",
             title="intensity [lin]",
             desc="Standard deviation of frames lin-scaled"
         ),
     ])
コード例 #22
0
ファイル: clust.py プロジェクト: woozey/LiberTEM
 def get_udf_results(self, udf_results, roi):
     n_clust = self.parameters["n_clust"]
     clustering = AgglomerativeClustering(
         affinity='euclidean', n_clusters=n_clust, linkage='ward'
     ).fit(udf_results['feature_vec'].raw_data)
     labels = np.array(clustering.labels_+1)
     return AnalysisResultSet([
         AnalysisResult(raw_data=udf_results['feature_vec'].data,
                        visualized=visualize_simple(
                            labels.reshape(self.dataset.shape.nav)),
                        key="intensity", title="intensity",
                        desc="result from integration over mask in Fourier space"),
     ])
コード例 #23
0
ファイル: com.py プロジェクト: FWin22/LiberTEM
    def get_results(self, job_results):
        shape = tuple(self.dataset.shape.nav)
        img_sum, img_x, img_y = (
            job_results[0].reshape(shape),
            job_results[1].reshape(shape),
            job_results[2].reshape(shape)
        )
        ref_x = self.parameters["cx"]
        ref_y = self.parameters["cy"]
        x_centers = np.divide(img_x, img_sum, where=img_sum != 0)
        y_centers = np.divide(img_y, img_sum, where=img_sum != 0)
        x_centers[img_sum == 0] = ref_x
        y_centers[img_sum == 0] = ref_y
        x_centers -= ref_x
        y_centers -= ref_y

        if img_sum.dtype.kind == 'c':
            x_real, x_imag = np.real(x_centers), np.imag(x_centers)
            y_real, y_imag = np.real(y_centers), np.imag(y_centers)

            return AnalysisResultSet([
                AnalysisResult(raw_data=x_real, visualized=visualize_simple(x_real),
                       key="x_real", title="x [real]", desc="x component of the center"),
                AnalysisResult(raw_data=y_real, visualized=visualize_simple(y_real),
                       key="y_real", title="y [real]", desc="y component of the center"),
                AnalysisResult(raw_data=x_imag, visualized=visualize_simple(x_imag),
                       key="x_imag", title="x [imag]", desc="x component of the center"),
                AnalysisResult(raw_data=y_imag, visualized=visualize_simple(y_imag),
                       key="y_imag", title="y [imag]", desc="y component of the center"),
            ])
        else:
            f = CMAP_CIRCULAR_DEFAULT.rgb_from_vector((y_centers, x_centers))
            d = divergence([x_centers, y_centers])
            m = np.sqrt(x_centers**2 + y_centers**2)

            return AnalysisResultSet([
                AnalysisResult(raw_data=(x_centers, y_centers), visualized=f,
                       key="field", title="field", desc="cubehelix colorwheel visualization"),
                AnalysisResult(raw_data=m, visualized=visualize_simple(m),
                       key="magnitude", title="magnitude", desc="magnitude of the vector field"),
                AnalysisResult(raw_data=d, visualized=visualize_simple(d),
                       key="divergence", title="divergence", desc="divergence of the vector field"),
                AnalysisResult(raw_data=x_centers, visualized=visualize_simple(x_centers),
                       key="x", title="x", desc="x component of the center"),
                AnalysisResult(raw_data=y_centers, visualized=visualize_simple(y_centers),
                       key="y", title="y", desc="y component of the center"),
            ])
コード例 #24
0
ファイル: masks.py プロジェクト: Akhileshpm/LiberTEM
 def get_generic_results(self, data):
     if data.dtype.kind == 'c':
         return SingleMaskResultSet(
             self.get_complex_results(
                 data,
                 key_prefix='intensity',
                 title='intensity',
                 desc=self.get_description(),
             )
         )
     return SingleMaskResultSet([
         AnalysisResult(raw_data=data, visualized=visualize_simple(data),
                        key="intensity", title="intensity",
                        desc=self.get_description()),
     ])
コード例 #25
0
    def get_generic_results(self, img_sum, img_y, img_x):
        ref_x = self.parameters["cx"]
        ref_y = self.parameters["cy"]
        y_centers, x_centers = center_shifts(img_sum, img_y, img_x, ref_y, ref_x)

        if img_sum.dtype.kind == 'c':
            x_real, x_imag = np.real(x_centers), np.imag(x_centers)
            y_real, y_imag = np.real(y_centers), np.imag(y_centers)

            return COMResultSet([
                AnalysisResult(raw_data=x_real, visualized=visualize_simple(x_real),
                       key="x_real", title="x [real]", desc="x component of the center"),
                AnalysisResult(raw_data=y_real, visualized=visualize_simple(y_real),
                       key="y_real", title="y [real]", desc="y component of the center"),
                AnalysisResult(raw_data=x_imag, visualized=visualize_simple(x_imag),
                       key="x_imag", title="x [imag]", desc="x component of the center"),
                AnalysisResult(raw_data=y_imag, visualized=visualize_simple(y_imag),
                       key="y_imag", title="y [imag]", desc="y component of the center"),
            ])
        else:
            f = CMAP_CIRCULAR_DEFAULT.rgb_from_vector((y_centers, x_centers))
            d = divergence(y_centers, x_centers)
            c = curl_2d(y_centers, x_centers)
            m = magnitude(y_centers, x_centers)

            return COMResultSet([
                AnalysisResult(raw_data=(x_centers, y_centers), visualized=f,
                       key="field", title="field", desc="cubehelix colorwheel visualization",
                       include_in_download=False),
                AnalysisResult(raw_data=m, visualized=visualize_simple(m),
                       key="magnitude", title="magnitude", desc="magnitude of the vector field"),
                AnalysisResult(raw_data=d, visualized=visualize_simple(d),
                       key="divergence", title="divergence", desc="divergence of the vector field"),
                AnalysisResult(raw_data=c, visualized=visualize_simple(c),
                       key="curl", title="curl", desc="curl of the 2D vector field"),
                AnalysisResult(raw_data=x_centers, visualized=visualize_simple(x_centers),
                       key="x", title="x", desc="x component of the center"),
                AnalysisResult(raw_data=y_centers, visualized=visualize_simple(y_centers),
                       key="y", title="y", desc="y component of the center"),
            ])
コード例 #26
0
ファイル: sum.py プロジェクト: ozej8y/LiberTEM
 def get_results(self, job_results):
     if job_results.dtype.kind == 'c':
         return AnalysisResultSet(
             self.get_complex_results(
                 job_results,
                 key_prefix="intensity",
                 title="intensity",
                 desc="sum of all frames",
             ))
     return AnalysisResultSet([
         AnalysisResult(raw_data=job_results,
                        visualized=visualize_simple(job_results),
                        key="intensity",
                        title="intensity",
                        desc="sum of all frames"),
     ])
コード例 #27
0
ファイル: sum.py プロジェクト: twentyse7en/LiberTEM
    def get_udf_results(self, udf_results, roi):
        if udf_results['intensity'].data.dtype.kind == 'c':
            return AnalysisResultSet(
                self.get_complex_results(
                    udf_results['intensity'].data,
                    key_prefix="intensity",
                    title="intensity",
                    desc="sum of all frames",
                )
            )

        return SumResultSet([
            AnalysisResult(raw_data=udf_results['intensity'].data,
                           visualized=visualize_simple(
                               udf_results['intensity'].data, logarithmic=True
                           ),
                           key="intensity", title="intensity", desc="sum of frames"),
        ])
コード例 #28
0
    def get_generic_results(self, data):
        coords = self.get_coords()

        if data.dtype.kind == 'c':
            return AnalysisResultSet(
                self.get_complex_results(
                    data,
                    key_prefix="intensity",
                    title="intensity",
                    desc="the frame at %s" % (coords, ),
                ))
        visualized = visualize_simple(data, logarithmic=True)
        return AnalysisResultSet([
            AnalysisResult(raw_data=data,
                           visualized=visualized,
                           key="intensity",
                           title="intensity",
                           desc="the frame at %s" % (coords, )),
        ])
コード例 #29
0
ファイル: ring.py プロジェクト: woozey/LiberTEM
 def get_results(self, job_results):
     shape = tuple(self.dataset.shape.nav)
     data = job_results[0].reshape(shape)
     if data.dtype.kind == 'c':
         return AnalysisResultSet(
             self.get_complex_results(
                 data.reshape(shape),
                 key_prefix='intensity',
                 title='intensity',
                 desc="intensity of the integration over the selected ring",
             ))
     return AnalysisResultSet([
         AnalysisResult(
             raw_data=data.reshape(shape),
             visualized=visualize_simple(data),
             key="intensity",
             title="intensity",
             desc="intensity of the integration over the selected ring"),
     ])
コード例 #30
0
ファイル: masks.py プロジェクト: twentyse7en/LiberTEM
 def get_generic_results(self, data):
     if data.dtype.kind == 'c':
         results = []
         for idx in range(data.shape[-1]):
             results.extend(
                 self.get_complex_results(
                     data[..., idx],
                     key_prefix="mask_%d" % idx,
                     title="mask %d" % idx,
                     desc="integrated intensity for mask %d" % idx,
                 ))
         return MasksResultSet(results)
     return MasksResultSet([
         AnalysisResult(raw_data=data[..., idx],
                        visualized=visualize_simple(data[..., idx]),
                        key="mask_%d" % idx,
                        title="mask %d" % idx,
                        desc="integrated intensity for mask %d" % idx)
         for idx in range(data.shape[-1])
     ])