nel-lab / mesmerize-core

High level pandas-based API for batch analysis of Calcium Imaging data using CaImAn
Other
58 stars 15 forks source link

Rename the output from mescore? #268

Closed zhouyi0812 closed 6 months ago

zhouyi0812 commented 7 months ago

Hello! I wonder if we could rename the output in mescore? for example after motion correction the output file name is xxx motion correction rather than the uuid? Thank you!

kushalkolar commented 7 months ago

No, this is by design and there is no reason to do it. What are you trying to do?

On Fri, Jan 26, 2024, 13:09 Yi Zhou @.***> wrote:

Hello! I wonder if we could rename the output in mescore? for example after motion correction the output file name is xxx motion correction rather than the uuid? Thank you!

— Reply to this email directly, view it on GitHub https://github.com/nel-lab/mesmerize-core/issues/268, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACHXXRBAYUL2BCQVRZGHFI3YQPWMFAVCNFSM6AAAAABCMQZ6NKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEYDENRWGY2TKNA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

zhouyi0812 commented 7 months ago

Because I have so many movies (1000) that need to segmentation. So I want to do a batch processing. For example, do motion correction for all first, and then segmentation, then examine the results, so I think if there is a more specific output name, it is easier to manage the file, delete other things and reuse the mmap file?

kushalkolar commented 7 months ago

You can manage all that with the DataFrame, you can give each item any name you want.

zhouyi0812 commented 7 months ago

Thank you! Also I wonder if you know why when I do cnmfe algorithm, sometimes the it stops running like shows in the terminal. That the cpu is just not doing work, as this too long time to wait. Thank you!

Screenshot 2024-01-26 111046

performance

kushalkolar commented 7 months ago

@EricThomson

zhouyi0812 commented 7 months ago

You can manage all that with the DataFrame, you can give each item any name you want.

Could you please a little be specific so I could find more information about it? So far I am looping each video and save to individual file, in this case if I could integrate all motion correction movie into a dataframe and change the name at a time? Do you have more efficient way for that amount number of movie? Thank you very much!

clewis7 commented 7 months ago

Hi @zhouyi0812,

What Kushal means is that every time you add a movie to your DataFrame to run motion correction or cnmfe, you can specify an item_name. This should allow you to more readily organize your movies.

For example:

import mesmerize_core as mc 

# set your batch_path
batch_path = "/path/to/where/you/want/to/store/dataframe/batch.pickle"

# create a batch
df = mc.create_batch(batch_path)

# set movie_path
movie_path = "/path/to/movie/movie.tif"

# set mcorr params
mcorr_params1 =\
{
  'main': 
    {
        'max_shifts': [24, 24],
        'strides': [48, 48],
        'overlaps': [24, 24],
        'max_deviation_rigid': 3,
        'border_nan': 'copy',
        'pw_rigid': True,
        'gSig_filt': None
    },
}

# add item with an item name
df.caiman.add_item(
    algo='mcorr',
    item_name = "movie1",
    input_movie_path=movie_path,
    params=mcorr_params1,
)

Here I am setting the item_name to be movie1, but this can be anything you want.

kushalkolar commented 6 months ago

Closing as this seems to be solved.